создайте несколько частных зон DNS, а затем в каждой зоне создайте несколько частных виртуальных ссылок DNS, используя для каждого цикла в terraform azure. и я не могу создать несколько виртуальных сетевых ссылок в каждой зоне.
variable "privateDnsZones" {
type = map(object({
virtualNetworksID = list(string)
}))
default = {
"privatelink.monitor.azure.com" = {
virtualNetworksID = [
"",
""
]
},
"privatelink.oms.opinsights.azure.com" = {
virtualNetworksID = [
"",
""
]
}
}
}
resource "azurerm_private_dns_zone" "privateDnsZone" {
for_each = var.privateDnsZones
name = each.key
resource_group_name = data.azurerm_resource_group.existing_RG.name
tags = var.resource_tags
}
resource "azurerm_private_dns_zone_virtual_network_link" "privateDnsZone_link" {
for_each =
name =
resource_group_name =
private_dns_zone_name =
virtual_network_id =
}
Попробуйте использовать flatten
, а затем используйте foreach для ссылок vnet на этой структуре flattend developer.hashicorp.com/terraform/language/functions/…
Привет всем, я хочу создать несколько частных зон DNS, а затем в каждой зоне создать несколько частных виртуальных ссылок DNS, используя для каждого цикла в terraform azure.
Без проверки это должно работать примерно так:
locals {
# flatten ensures that this local value is a flat list of objects, rather
# than a list of lists of objects.
zones_vnets = flatten([
for zone_key, zone in var.privateDnsZones: [
for vnetId in zone.virtualNetworksID : {
zoneId = azurerm_private_dns_zone.privateDnsZone[zone_key].id
vnetId = vnetId
}
]
])
}
resource "azurerm_private_dns_zone_virtual_network_link" "privateDnsZone_link" {
for_each = {
for zone in local.zones_vnets: "${zone.zoneId}.${zone.vnetId}" => zoneLink
}
name = each.key
resource_group_name = "foobar-rg"
private_dns_zone_name = each.value.zoneId
virtual_network_id = each.value.vnetId
}
Ошибка: неверная ссылка │ │ в строке 72 main.tf, в ресурсе "azurerm_private_dns_zone_virtual_network_link" "privateDnsZone_link": │ 72: для зоны в local.zones_vnets: "${zone.zoneId}.${zone.vnetId}" => zoneLink │ │ За ссылкой на тип ресурса должен следовать хотя бы один доступ к атрибуту, указывающий имя ресурса.
рад это слышать @shubhampandey, пожалуйста, примите ответ (и проголосуйте, если хотите :))
на каждый что? Что ты просматриваешь?