tf/network_peering.tf (25 lines of code) (raw):
data "azurerm_virtual_network" "peernetwork" {
count = length(local.vnet_peering)
resource_group_name = local.vnet_peering[count.index].vnet_resource_group
name = local.vnet_peering[count.index].vnet_name
}
resource "azurerm_virtual_network_peering" "azhop-to-peer" {
count = length(local.vnet_peering)
name = "${local.vnet_peering[count.index].vnet_resource_group}-${local.vnet_peering[count.index].vnet_name}"
resource_group_name = local.create_rg ? azurerm_resource_group.rg[0].name : data.azurerm_resource_group.rg[0].name
virtual_network_name = azurerm_virtual_network.azhop[0].name
remote_virtual_network_id = data.azurerm_virtual_network.peernetwork[count.index].id
allow_virtual_network_access = true
allow_forwarded_traffic = true
use_remote_gateways = try(local.vnet_peering[count.index].vnet_allow_gateway, true)
}
resource "azurerm_virtual_network_peering" "peer-to-azhop" {
count = length(local.vnet_peering)
name = local.create_rg ? "${azurerm_resource_group.rg[0].name}-${local.vnet_peering[count.index].vnet_name}" : "${data.azurerm_resource_group.rg[0].name}-${local.vnet_peering[count.index].vnet_name}"
resource_group_name = local.vnet_peering[count.index].vnet_resource_group
virtual_network_name = local.vnet_peering[count.index].vnet_name
remote_virtual_network_id = azurerm_virtual_network.azhop[0].id
allow_virtual_network_access = true
allow_forwarded_traffic = true
allow_gateway_transit = try(local.vnet_peering[count.index].vnet_allow_gateway, true)
}