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