我试图使用本地结构中的for_each来使用名称资源,例如:
本地人
  transit_subnet = {
    "TRANSIT-1" = {network_name = "name1", cidr = },
    "TRANSIT-2" = {network_name = "name2", cidr = },
    "TRANSIT-3" = {network_name = "name3", cidr =  },
    "TRANSIT-4" = {network_name = "name4", cidr = },
    "TRANSIT-5" = {network_name = "name5", cidr = },
    "TRANSIT-6" = {network_name = "name6",cidr =  },
    "TRANSIT-7" = {network_name =  "name7",cidr = },
    "TRANSIT-8" = {network_name =  "name8", cidr = }
  }
我尝试访问它以创建network_id的方式,但无论如何,我都会收到以下错误:
│ Error: Invalid attribute name
│
│   on network.tf line 163, in resource "openstack_networking_subnet_v2" "TRANSIT":
│  163:   network_id  = openstack_networking_network_v2."${each.value.network_name}".id
│
│ An attribute name is required after a dot.
resource "openstack_networking_subnet_v2" "TRANSIT" {
  for_each    = local.transit_subnet
  name        = each.key
  network_id  = openstack_networking_network_v2.${each.value.network_name}.id
  cidr        = each.value.cidr
  tenant_id   = openstack_identity_project_v3.project.id
  ip_version  = 4
  enable_dhcp = "true"
  no_gateway  = "true"
  allocation_pool {
    start = each.value.allocation_pool_start
    end   = each.value.allocation_pool_end
   }
}
╵