devenv/tf/privatedns.tf (30 lines of code) (raw):

variable "privatezones" { type = set(string) default = [ "ingress-war-private-1.dev", "ingress-war-private-2.dev" ] } resource "azurerm_private_dns_zone" "dnszone" { for_each = var.privatezones name = "${random_string.random.result}-${each.value}" # name = "ingress-${random_string.random.result}-private-${count.index}.dev" resource_group_name = azurerm_resource_group.rg-private.name } resource "azurerm_role_assignment" "dns-role-assignment" { for_each = azurerm_private_dns_zone.dnszone scope = each.value.id role_definition_name = "Private DNS Zone Contributor" principal_id = data.azurerm_user_assigned_identity.clusteridentity.principal_id } data "azurerm_resources" "noderesourcegroup" { resource_group_name = azurerm_kubernetes_cluster.cluster.node_resource_group type = "Microsoft.Network/virtualNetworks" count = length(var.privatezones) > 0 ? 1 : 0 } resource "azurerm_private_dns_zone_virtual_network_link" "approutingvnetconnection" { for_each = azurerm_private_dns_zone.dnszone name = "approutingdev-link-${each.value.name}" resource_group_name = azurerm_resource_group.rg-private.name private_dns_zone_name = each.value.name virtual_network_id = data.azurerm_resources.noderesourcegroup[0].resources[0].id }