Я пытаюсь создать облачный маршрутизатор, из которого рекламируются два сетевых диапазона, однако я получаю очень расплывчатые ошибки от terraform, и я не могу понять, что не так.
ресурс "google_compute_router" "router1" {
name = "${var.alias}-prod1-ha-vpn-cloud-router-1"
проект = var.project_name
сеть = var.network1
регион = var.region1
бгп {
asn = переменная asn
реклама_режим = "ПОЛЬЗОВАТЕЛЬСКИЙ"
динамический "advertised_ip_ranges" {
for_each = var.advertised_ip_ranges_prod1
содержание {
диапазон = рекламируемый_ip_ranges_prod1.value["cidr"]
описание = рекламируемый_ip_ranges_prod1.value["описание"]
}
}
}
}
И собственно код модуля:
модуль "vpn-ha-шлюз" {
источник = "-----"
имя_проекта = var.имя_проекта
клиент = переменная.клиент
псевдоним = переменная.псевдоним
регион1 = вар.регион1
count = (var.vpn_type == "ha-vpn" ? 1 : 0) ## Сборка, если vpn_type равен ha-vpn
сеть1 = модуль.prod1-vpc.self_link
customer_redundancy = переменная.customer_redundancy
customer_ha_vpn_peers = var.customer_ha_vpn_peers
общий_секрет = переменная.общий_секрет
asn = переменная asn
cust_asn = переменная.cust_asn
рекламируемый_ip_ranges_prod1 = var.advertised_ip_ranges_prod1
}
Мы определяем Advertising_ip_ranges_prod1 как карту, так как мы не знаем, сколько их будет на модуль:
переменная "advertised_ip_ranges_prod1" {
тип = список (карта (строка))
description = "рекламируется BGP на prod1"
по умолчанию = [
{
cidr = "1.2.3.4/28" ## Объявленный диапазон Prod1
desc = "дополнительный диапазон, объявленный через BGP"
},
{
cidr = "5.6.7.8/28" # Проверка объявленного диапазона
desc = "Тестовый диапазон объявлен через BGP"
},
]
}
И хотя у меня есть другие модули, построенные таким же образом (с for_each), работающие правильно, этот продолжает выдавать эти неясные ошибки:
Ошибка: ссылка на необъявленный ресурс
на .terraform\modules\vpn-ha\main.tf строка 36, в ресурсе "google_compute_router" "router1":
36: диапазон = рекламируемый_ip_ranges_prod1.value["cidr"]
"Значение" управляемого ресурса "advertised_ip_ranges_prod1" не объявлено
в module.vpn-ha-gateway.
Ошибка: ссылка на необъявленный ресурс
на .terraform\modules\vpn-ha-gateway\main.tf строка 37, в ресурсе "google_compute_router" "router1":
37: описание = рекламируемый_ip_ranges_prod1.value["описание"]
"Значение" управляемого ресурса "advertised_ip_ranges_prod1" не объявлено
в module.vpn-ha-gateway.```