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

locals { virtual_network_gateways = merge(local.virtual_network_gateways_express_route, local.virtual_network_gateways_vpn) virtual_network_gateways_express_route = { for hub_network_key, hub_network_value in var.hub_virtual_networks : "${hub_network_key}-express-route" => { hub_network_key = hub_network_key virtual_network_gateway = merge({ type = "ExpressRoute" }, hub_network_value.virtual_network_gateways.express_route) } if try(hub_network_value.virtual_network_gateways.express_route, null) != null } virtual_network_gateways_vpn = { for hub_network_key, hub_network_value in var.hub_virtual_networks : "${hub_network_key}-vpn" => { hub_network_key = hub_network_key virtual_network_gateway = merge({ type = "Vpn" }, hub_network_value.virtual_network_gateways.vpn) } if try(hub_network_value.virtual_network_gateways.vpn, null) != null } }