我有以下代码来创建私有端点,如果提供,也将与私有 dns 区域相关联,但是,私有端点被装箱忽略我输入的私有 dns 区域值,将其视为 Null 资源。我不确定动态块内出了什么问题
resource "azurerm_private_endpoint" "this" {
name = join("", [lookup(var.service_subresource_map, "name"), "-pvt-endpoint"])
location = var.location
resource_group_name = var.resource_group_name
subnet_id = data.azurerm_subnet.endpoint_subnet.id
tags = var.tags
private_service_connection {
name = join("", [lookup(var.service_subresource_map, "name"), "-pvt-endpoint-conn"])
private_connection_resource_id = lookup(var.service_subresource_map, "resource_id")
subresource_names = [lookup(var.service_subresource_map, "subresource_name")]
is_manual_connection = false
}
dynamic "private_dns_zone_group" {
for_each = var.private_dns_zone_group[*]
content {
name = private_dns_zone_group.value.name
private_dns_zone_ids = private_dns_zone_group.value.private_dns_zone_ids
}
}
我在 private_dns_zone_group 中提供的值是这个
private_dns_zone_group = {
name = "private-dns-zone-group"
private_dns_zone_ids = [
"/subscriptions/xxx/resourceGroups/rogertest/providers/Microsoft.Network/privateDnsZones/example.com",
]
}
变量如下
variable "private_dns_zone_group" {
type = object({
name = string
private_dns_zone_ids = list(string)
})
default = null
}
除私有 dns 区域关联外,所有内容均已正确部署
如果我用这样的简单块替换动态块
private_dns_zone_group {
name = "private-dns-zone-group"
private_dns_zone_ids = [
"/subscriptions/xxx/resourceGroups/rogertest/providers/Microsoft.Network/privateDnsZones/example.com",
]
}
然后它工作。