locals.dns.tf (37 lines of code) (raw):

locals { private_dns_zones_enabled = { for key, value in var.virtual_hubs : key => try(value.private_dns_zones, null) != null } } locals { private_dns_zones = { for key, value in var.virtual_hubs : key => merge({ location = value.hub.location }, value.private_dns_zones) if local.private_dns_zones_enabled[key] } private_dns_zones_auto_registration = { for key, value in var.virtual_hubs : key => merge({ location = value.hub.location vnet_resource_id = module.virtual_network_side_car[key].resource_id }, value.private_dns_zones) if local.private_dns_zones_enabled[key] && try(value.private_dns_zones.auto_registration_zone_enabled, false) } private_dns_zones_secondary_zones = { azure_data_explorer = { zone_name = "privatelink.{regionName}.kusto.windows.net" } azure_batch_account = { zone_name = "{regionName}.privatelink.batch.azure.com" } azure_batch_node_mgmt = { zone_name = "{regionName}.service.privatelink.batch.azure.com" } azure_aks_mgmt = { zone_name = "privatelink.{regionName}.azmk8s.io" } azure_acr_data = { zone_name = "{regionName}.data.privatelink.azurecr.io" } azure_backup = { zone_name = "privatelink.{regionCode}.backup.windowsazure.com" } } private_dns_zones_virtual_network_links = { for key, value in module.virtual_network_side_car : key => { vnet_resource_id = value.resource_id } } }