Если бы вы ранее ответили на вопрос, чтобы помочь с созданием набора подсетей из списка. Теперь я пытаюсь вывести каждый назначенный IP-адрес.
module "subnets" {
source = "../../../Modules/subnets-test/"
network_name = module.vpc.network_name
subnet_region = "europe-west2"
subnets = {
lister = "192.2.128.0/18",
kryten = "192.2.0.0/17",
rimmer = "192.2.208.0/20",
cat = "192.2.192.0/20",
holly = "192.2.224.0/20"
}
}
Могу успешно вывести список подсетей и их значения
output "private_subnets" {
description = "List of IDs of private subnets"
value = ["${module.subnets.subnets}"]
}
Предоставляя мне все выходы подсети (один, как пример ниже)
"rimmer" = {
"creation_timestamp" = "2020-06-06T03:13:30.244-07:00"
"description" = ""
"gateway_address" = "192.2.208.1"
"id" = "projects/red-dwarf/regions/europe-west2/subnetworks/rimmer"
"ip_cidr_range" = "192.2.208.0/20"
"log_config" = []
"name" = "rimmer"
"network" = "https://www.googleapis.com/compute/v1/projects/red-dwarf/global/networks/red-dwarf-vpc"
"private_ip_google_access" = false
"project" = "red-dwarf"
"region" = "europe-west2"
"secondary_ip_range" = []
"self_link" = "https://www.googleapis.com/compute/v1/projects/red-dwarf/regions/europe-west2/subnetworks/rimmer"
Но теперь я просто хочу извлечь адрес шлюза в виде единственного вывода. Но все, что я пытаюсь сделать с модулем, выдает ошибку о том, что в списке 5 атрибутов.
Как я могу извлечь атрибуты из созданных подсетей, если они были предоставлены через карту (строку)?
Изменить - модуль подсети
resource "google_compute_subnetwork" "subnet" {
network = var.network_name
for_each = var.subnets
name = each.key
ip_cidr_range = each.value
}
Edit - Subnet Output - это работает для вывода всего в целом.
output "subnets" {
value = google_compute_subnetwork.subnet
description = "The created subnet resources"
}