我试图使用本地结构中的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 } }
╵