locals.peering.tf (19 lines of code) (raw):

locals { peerings = { for peering in flatten([for key_from, value_from in var.hub_virtual_networks : [ for key_to, value_to in var.hub_virtual_networks : { name = "${local.virtual_network_name[key_from]}-${local.virtual_network_name[key_to]}" composite_key = "${key_from}-${key_to}" virtual_network = { resource_id = local.virtual_network_id[key_from] } remote_virtual_network = { resource_id = local.virtual_network_id[key_to] } allow_virtual_network_access = true allow_forwarded_traffic = true allow_gateway_transit = true use_remote_gateways = false } if key_from != key_to && value_from.mesh_peering_enabled] ]) : peering.composite_key => peering } }