locals.tf (41 lines of code) (raw):

locals { combined_private_link_private_dns_zones_replaced_with_vnets_to_link = length(var.virtual_network_resource_ids_to_link_to) == 0 ? { for item in flatten([ for zone_key, zone_value in local.private_link_private_dns_zones_replaced_regionCode_map : { zone_key = zone_key zone_value = zone_value vnets = null has_vnet = false } ] ) : item.zone_key => item } : { for item in flatten([ for zone_key, zone_value in local.private_link_private_dns_zones_replaced_regionCode_map : [ { zone_key = zone_key zone_value = zone_value vnets = [ for vnet_key, vnet_value in var.virtual_network_resource_ids_to_link_to : { vnet_key = vnet_key vnet_value = vnet_value has_vnet = true } ] has_vnet = true } ] ] ) : item.zone_key => item } location_geo_code = module.regions.regions_by_name_or_display_name[var.location].geo_code location_name = module.regions.regions_by_name_or_display_name[var.location].name private_link_private_dns_zones_replaced_regionCode_map = { for k, v in local.private_link_private_dns_zones_replaced_regionName_map : k => { zone_name = replace(v.zone_name, "{regionCode}", local.location_geo_code) } } private_link_private_dns_zones_replaced_regionName_map = { for k, v in var.private_link_private_dns_zones : k => { zone_name = replace(v.zone_name, "{regionName}", local.location_name) } } resource_group_resource_id = var.resource_group_creation_enabled ? azurerm_resource_group.this[0].id : "/subscriptions/${data.azurerm_client_config.current.subscription_id}/resourceGroups/${var.resource_group_name}" role_definition_resource_substring = "/providers/Microsoft.Authorization/roleDefinitions" }