Microsoft.Network virtualNetworks/virtualNetworkPeerings

Bicep resource definition

The virtualNetworks/virtualNetworkPeerings resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Network/virtualNetworks/virtualNetworkPeerings resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Network/virtualNetworks/virtualNetworkPeerings@2023-04-01' = {
  name: 'string'
  parent: resourceSymbolicName
  properties: {
    allowForwardedTraffic: bool
    allowGatewayTransit: bool
    allowVirtualNetworkAccess: bool
    doNotVerifyRemoteGateways: bool
    peeringState: 'string'
    peeringSyncLevel: 'string'
    remoteAddressSpace: {
      addressPrefixes: [
        'string'
      ]
    }
    remoteBgpCommunities: {
      virtualNetworkCommunity: 'string'
    }
    remoteVirtualNetwork: {
      id: 'string'
    }
    remoteVirtualNetworkAddressSpace: {
      addressPrefixes: [
        'string'
      ]
    }
    useRemoteGateways: bool
  }
}

Property values

virtualNetworks/virtualNetworkPeerings

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
string (required)

Character limit: 1-80

Valid characters:
Alphanumerics, underscores, periods, and hyphens.

Start with alphanumeric. End alphanumeric or underscore.
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: virtualNetworks
properties Properties of the virtual network peering. VirtualNetworkPeeringPropertiesFormat

VirtualNetworkPeeringPropertiesFormat

Name Description Value
allowForwardedTraffic Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network. bool
allowGatewayTransit If gateway links can be used in remote virtual networking to link to this virtual network. bool
allowVirtualNetworkAccess Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space. bool
doNotVerifyRemoteGateways If we need to verify the provisioning state of the remote gateway. bool
peeringState The status of the virtual network peering. 'Connected'
'Disconnected'
'Initiated'
peeringSyncLevel The peering sync status of the virtual network peering. 'FullyInSync'
'LocalAndRemoteNotInSync'
'LocalNotInSync'
'RemoteNotInSync'
remoteAddressSpace The reference to the address space peered with the remote virtual network. AddressSpace
remoteBgpCommunities The reference to the remote virtual network's Bgp Communities. VirtualNetworkBgpCommunities
remoteVirtualNetwork The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (/azure/virtual-network/virtual-network-create-peering). SubResource
remoteVirtualNetworkAddressSpace The reference to the current address space of the remote virtual network. AddressSpace
useRemoteGateways If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway. bool

AddressSpace

Name Description Value
addressPrefixes A list of address blocks reserved for this virtual network in CIDR notation. string[]

VirtualNetworkBgpCommunities

Name Description Value
virtualNetworkCommunity The BGP community associated with the virtual network. string (required)

SubResource

Name Description Value
id Resource ID. string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Deploy a Hub and Spoke topology sandbox

Deploy to Azure
This template creates a basic hub-and-spoke topology setup. It creates a Hub VNet with subnets DMZ, Management, Shared and Gateway (optionally), with two Spoke VNets (development and production) containing a workload subnet each. It also deploys a Windows Jump-Host on the Management subnet of the HUB, and establishes VNet peerings between the Hub and the two spokes.
Public Load Balancer chained to a Gateway Load Balancer

Deploy to Azure
This template allows you to deploy a Public Standard Load Balancer chained to a Gateway Load Balancer. The traffic incoming from internet is routed to the Gateway Load Balancer with linux VMs (NVAs) in the backend pool.
Deploy HBase replication with two VNets in one region

Deploy to Azure
This template allows you to configure aN HBase environment with two HBase clusters within two VNets in the same region for configuring HBase replication.
Use Azure Firewall as a DNS Proxy in a Hub & Spoke topology

Deploy to Azure
This sample show how to deploy a hub-spoke topology in Azure using the Azure Firewall. The hub virtual network acts as a central point of connectivity to many spoke virtual networks that are connected to hub virtual network via virtual network peering.
Create an Azure Firewall sandbox with forced tunneling

Deploy to Azure
This template creates an Azure Firewall sandbox (Linux) with one firewall force tunneled through another firewall in a peered VNET
Deploy a Bastion host in a hub Virtual Network

Deploy to Azure
This template creates two vNets with peerings, a Bastion host in the Hub vNet and a Linux VM in the spoke vNet
Peer two existing VNets within a single region

Deploy to Azure
This template allows you to connect two VNETs from the same or different resource groups in the same region using VNet Peering
Create a vNet to vNet connection using vNet Peering

Deploy to Azure
This template allows you to connect two vNets using vNet Peering

ARM template resource definition

The virtualNetworks/virtualNetworkPeerings resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Network/virtualNetworks/virtualNetworkPeerings resource, add the following JSON to your template.

{
  "type": "Microsoft.Network/virtualNetworks/virtualNetworkPeerings",
  "apiVersion": "2023-04-01",
  "name": "string",
  "properties": {
    "allowForwardedTraffic": "bool",
    "allowGatewayTransit": "bool",
    "allowVirtualNetworkAccess": "bool",
    "doNotVerifyRemoteGateways": "bool",
    "peeringState": "string",
    "peeringSyncLevel": "string",
    "remoteAddressSpace": {
      "addressPrefixes": [ "string" ]
    },
    "remoteBgpCommunities": {
      "virtualNetworkCommunity": "string"
    },
    "remoteVirtualNetwork": {
      "id": "string"
    },
    "remoteVirtualNetworkAddressSpace": {
      "addressPrefixes": [ "string" ]
    },
    "useRemoteGateways": "bool"
  }
}

Property values

virtualNetworks/virtualNetworkPeerings

Name Description Value
type The resource type 'Microsoft.Network/virtualNetworks/virtualNetworkPeerings'
apiVersion The resource api version '2023-04-01'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)

Character limit: 1-80

Valid characters:
Alphanumerics, underscores, periods, and hyphens.

Start with alphanumeric. End alphanumeric or underscore.
properties Properties of the virtual network peering. VirtualNetworkPeeringPropertiesFormat

VirtualNetworkPeeringPropertiesFormat

Name Description Value
allowForwardedTraffic Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network. bool
allowGatewayTransit If gateway links can be used in remote virtual networking to link to this virtual network. bool
allowVirtualNetworkAccess Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space. bool
doNotVerifyRemoteGateways If we need to verify the provisioning state of the remote gateway. bool
peeringState The status of the virtual network peering. 'Connected'
'Disconnected'
'Initiated'
peeringSyncLevel The peering sync status of the virtual network peering. 'FullyInSync'
'LocalAndRemoteNotInSync'
'LocalNotInSync'
'RemoteNotInSync'
remoteAddressSpace The reference to the address space peered with the remote virtual network. AddressSpace
remoteBgpCommunities The reference to the remote virtual network's Bgp Communities. VirtualNetworkBgpCommunities
remoteVirtualNetwork The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (/azure/virtual-network/virtual-network-create-peering). SubResource
remoteVirtualNetworkAddressSpace The reference to the current address space of the remote virtual network. AddressSpace
useRemoteGateways If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway. bool

AddressSpace

Name Description Value
addressPrefixes A list of address blocks reserved for this virtual network in CIDR notation. string[]

VirtualNetworkBgpCommunities

Name Description Value
virtualNetworkCommunity The BGP community associated with the virtual network. string (required)

SubResource

Name Description Value
id Resource ID. string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Deploy a Hub and Spoke topology sandbox

Deploy to Azure
This template creates a basic hub-and-spoke topology setup. It creates a Hub VNet with subnets DMZ, Management, Shared and Gateway (optionally), with two Spoke VNets (development and production) containing a workload subnet each. It also deploys a Windows Jump-Host on the Management subnet of the HUB, and establishes VNet peerings between the Hub and the two spokes.
Public Load Balancer chained to a Gateway Load Balancer

Deploy to Azure
This template allows you to deploy a Public Standard Load Balancer chained to a Gateway Load Balancer. The traffic incoming from internet is routed to the Gateway Load Balancer with linux VMs (NVAs) in the backend pool.
Deploy HBase replication with two VNets in one region

Deploy to Azure
This template allows you to configure aN HBase environment with two HBase clusters within two VNets in the same region for configuring HBase replication.
Use Azure Firewall as a DNS Proxy in a Hub & Spoke topology

Deploy to Azure
This sample show how to deploy a hub-spoke topology in Azure using the Azure Firewall. The hub virtual network acts as a central point of connectivity to many spoke virtual networks that are connected to hub virtual network via virtual network peering.
Create an Azure Firewall sandbox with forced tunneling

Deploy to Azure
This template creates an Azure Firewall sandbox (Linux) with one firewall force tunneled through another firewall in a peered VNET
Deploy a Bastion host in a hub Virtual Network

Deploy to Azure
This template creates two vNets with peerings, a Bastion host in the Hub vNet and a Linux VM in the spoke vNet
Peer two existing VNets within a single region

Deploy to Azure
This template allows you to connect two VNETs from the same or different resource groups in the same region using VNet Peering
Create a vNet to vNet connection using vNet Peering

Deploy to Azure
This template allows you to connect two vNets using vNet Peering

Terraform (AzAPI provider) resource definition

The virtualNetworks/virtualNetworkPeerings resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Network/virtualNetworks/virtualNetworkPeerings resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/virtualNetworks/virtualNetworkPeerings@2023-04-01"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    properties = {
      allowForwardedTraffic = bool
      allowGatewayTransit = bool
      allowVirtualNetworkAccess = bool
      doNotVerifyRemoteGateways = bool
      peeringState = "string"
      peeringSyncLevel = "string"
      remoteAddressSpace = {
        addressPrefixes = [
          "string"
        ]
      }
      remoteBgpCommunities = {
        virtualNetworkCommunity = "string"
      }
      remoteVirtualNetwork = {
        id = "string"
      }
      remoteVirtualNetworkAddressSpace = {
        addressPrefixes = [
          "string"
        ]
      }
      useRemoteGateways = bool
    }
  })
}

Property values

virtualNetworks/virtualNetworkPeerings

Name Description Value
type The resource type "Microsoft.Network/virtualNetworks/virtualNetworkPeerings@2023-04-01"
name The resource name string (required)

Character limit: 1-80

Valid characters:
Alphanumerics, underscores, periods, and hyphens.

Start with alphanumeric. End alphanumeric or underscore.
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: virtualNetworks
properties Properties of the virtual network peering. VirtualNetworkPeeringPropertiesFormat

VirtualNetworkPeeringPropertiesFormat

Name Description Value
allowForwardedTraffic Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network. bool
allowGatewayTransit If gateway links can be used in remote virtual networking to link to this virtual network. bool
allowVirtualNetworkAccess Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space. bool
doNotVerifyRemoteGateways If we need to verify the provisioning state of the remote gateway. bool
peeringState The status of the virtual network peering. "Connected"
"Disconnected"
"Initiated"
peeringSyncLevel The peering sync status of the virtual network peering. "FullyInSync"
"LocalAndRemoteNotInSync"
"LocalNotInSync"
"RemoteNotInSync"
remoteAddressSpace The reference to the address space peered with the remote virtual network. AddressSpace
remoteBgpCommunities The reference to the remote virtual network's Bgp Communities. VirtualNetworkBgpCommunities
remoteVirtualNetwork The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (/azure/virtual-network/virtual-network-create-peering). SubResource
remoteVirtualNetworkAddressSpace The reference to the current address space of the remote virtual network. AddressSpace
useRemoteGateways If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway. bool

AddressSpace

Name Description Value
addressPrefixes A list of address blocks reserved for this virtual network in CIDR notation. string[]

VirtualNetworkBgpCommunities

Name Description Value
virtualNetworkCommunity The BGP community associated with the virtual network. string (required)

SubResource

Name Description Value
id Resource ID. string