terraform-google-modules/terraform-google-network

submodule subnetwork purpose and role argument

mrizalw opened this issue · 1 comments

TL;DR

VPC creation using module came back with error on subnet submodule

`
Error: Unsupported argument

on .terraform/modules/telco_vpc_nonprod/modules/subnets/main.tf line 60, in resource "google_compute_subnetwork" "subnetwork":
60: purpose = lookup(each.value, "purpose", null)

An argument named "purpose" is not expected here.

Error: Unsupported argument

on .terraform/modules/telco_vpc_nonprod/modules/subnets/main.tf line 61, in resource "google_compute_subnetwork" "subnetwork":
61: role = lookup(each.value, "role", null)

An argument named "role" is not expected here.`

Expected behavior

No response

Observed behavior

No response

Terraform Configuration

# Create custom network
module "telco_vpc_nonprod" {
  source = "terraform-google-modules/network/google"
  #source  = "git::https://github.com/terraform-google-modules/terraform-google-network.git"
  version = "~> 4.0"

  project_id      = local.telco_nonprod_project_id
  network_name    = local.telco_nonprod_vpc_name
  shared_vpc_host = "true"
  routing_mode = "REGIONAL"
  
  subnets = [
    {
      subnet_name           = local.subnet_oss_son_preprod_nodes_name
      subnet_ip             = var.oss_son_preprod_nodes
      subnet_region         = local.region_jkt
      subnet_private_access = "true"
      #subnet_flow_logs      = "true"
    },
    {
      subnet_name           = local.subnet_oss_son_uat_nodes_name
      subnet_ip             = var.oss_son_uat_nodes
      subnet_region         = local.region_jkt
      subnet_private_access = "true"
      #subnet_flow_logs      = "true"
    },
  ]

  secondary_ranges = {
    (local.subnet_oss_son_preprod_nodes_name) = [
      {
        range_name    = "${local.subnet_oss_son_preprod_nodes_name}-pods"
        ip_cidr_range = "$(var.oss_son_preprod_pods)"
      },
      {
        range_name    = "${local.subnet_oss_son_preprod_nodes_name}-svcs"
        ip_cidr_range = "$(var.oss_son_preprod_svcs)"
      },
    ],
    (local.subnet_oss_son_uat_nodes_name) = [
      {
        range_name    = "${local.subnet_oss_son_uat_nodes_name}-pods"
        ip_cidr_range = "$(var.oss_son_uat_pods)"
      },
      {
        range_name    = "${local.subnet_oss_son_uat_nodes_name}-svcs"
        ip_cidr_range = "$(var.oss_son_uat_svcs)"
      },
    ],
  }
}

Terraform Version

$ terraform version
Terraform v0.14.10
+ provider registry.terraform.io/hashicorp/google v3.69.0
+ provider registry.terraform.io/hashicorp/google-beta v3.69.0
+ provider registry.terraform.io/hashicorp/random v3.1.0

Your version of Terraform is out of date! The latest version
is 1.1.5. You can update by downloading from https://www.terraform.io/downloads.html
mrizalw@xlcoid:~/gitrepo/gcp-infra/non-production$

Additional information

No response

Thanks for the report @mrizalw
Looks like we need to update our minimum provider constraints as #343 requires 3.83 . Rather than v3.69.0 you can temporarily set this as the provider version installed to get around this.