Microsoft.Network virtualHubs

Bicep resource definition

The virtualHubs 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/virtualHubs resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Network/virtualHubs@2024-03-01' = {
  location: 'string'
  name: 'string'
  properties: {
    addressPrefix: 'string'
    allowBranchToBranchTraffic: bool
    azureFirewall: {
      id: 'string'
    }
    expressRouteGateway: {
      id: 'string'
    }
    hubRoutingPreference: 'string'
    p2SVpnGateway: {
      id: 'string'
    }
    preferredRoutingGateway: 'string'
    routeTable: {
      routes: [
        {
          addressPrefixes: [
            'string'
          ]
          nextHopIpAddress: 'string'
        }
      ]
    }
    securityPartnerProvider: {
      id: 'string'
    }
    securityProviderName: 'string'
    sku: 'string'
    virtualHubRouteTableV2s: [
      {
        id: 'string'
        name: 'string'
        properties: {
          attachedConnections: [
            'string'
          ]
          routes: [
            {
              destinations: [
                'string'
              ]
              destinationType: 'string'
              nextHops: [
                'string'
              ]
              nextHopType: 'string'
            }
          ]
        }
      }
    ]
    virtualRouterAsn: int
    virtualRouterAutoScaleConfiguration: {
      minCapacity: int
    }
    virtualRouterIps: [
      'string'
    ]
    virtualWan: {
      id: 'string'
    }
    vpnGateway: {
      id: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

Microsoft.Network/virtualHubs

Name Description Value
location Resource location. string
name The resource name string (required)
properties Properties of the virtual hub. VirtualHubProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

ResourceTags

Name Description Value

SubResource

Name Description Value
id Resource ID. string

VirtualHubProperties

Name Description Value
addressPrefix Address-prefix for this VirtualHub. string
allowBranchToBranchTraffic Flag to control transit for VirtualRouter hub. bool
azureFirewall The azureFirewall associated with this VirtualHub. SubResource
expressRouteGateway The expressRouteGateway associated with this VirtualHub. SubResource
hubRoutingPreference The hubRoutingPreference of this VirtualHub. 'ASPath'
'ExpressRoute'
'VpnGateway'
p2SVpnGateway The P2SVpnGateway associated with this VirtualHub. SubResource
preferredRoutingGateway The preferred gateway to route on-prem traffic 'ExpressRoute'
'None'
'VpnGateway'
routeTable The routeTable associated with this virtual hub. VirtualHubRouteTable
securityPartnerProvider The securityPartnerProvider associated with this VirtualHub. SubResource
securityProviderName The Security Provider name. string
sku The sku of this VirtualHub. string
virtualHubRouteTableV2s List of all virtual hub route table v2s associated with this VirtualHub. VirtualHubRouteTableV2[]
virtualRouterAsn VirtualRouter ASN. int

Constraints:
Min value = 0
Max value = 4294967295
virtualRouterAutoScaleConfiguration The VirtualHub Router autoscale configuration. VirtualRouterAutoScaleConfiguration
virtualRouterIps VirtualRouter IPs. string[]
virtualWan The VirtualWAN to which the VirtualHub belongs. SubResource
vpnGateway The VpnGateway associated with this VirtualHub. SubResource

VirtualHubRoute

Name Description Value
addressPrefixes List of all addressPrefixes. string[]
nextHopIpAddress NextHop ip address. string

VirtualHubRouteTable

Name Description Value
routes List of all routes. VirtualHubRoute[]

VirtualHubRouteTableV2

Name Description Value
id Resource ID. string
name The name of the resource that is unique within a resource group. This name can be used to access the resource. string
properties Properties of the virtual hub route table v2. VirtualHubRouteTableV2Properties

VirtualHubRouteTableV2Properties

Name Description Value
attachedConnections List of all connections attached to this route table v2. string[]
routes List of all routes. VirtualHubRouteV2[]

VirtualHubRouteV2

Name Description Value
destinations List of all destinations. string[]
destinationType The type of destinations. string
nextHops NextHops ip address. string[]
nextHopType The type of next hops. string

VirtualRouterAutoScaleConfiguration

Name Description Value
minCapacity The minimum number of scale units for VirtualHub Router. int

Constraints:
Min value = 0

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Create a Route Server in a New Subnet This template deploys a Route Server into a subnet named RouteServerSubnet.
Creates Virtual WAN resources This template allows you to create virtual WAN resources including Virtual WAN, Virtual Hub, VPN Gateway, VPN Site and a VPN Connecton.
Secured virtual hubs This template creates a secured virtual hub using Azure Firewall to secure your cloud network traffic destined to the Internet.

ARM template resource definition

The virtualHubs 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/virtualHubs resource, add the following JSON to your template.

{
  "type": "Microsoft.Network/virtualHubs",
  "apiVersion": "2024-03-01",
  "name": "string",
  "location": "string",
  "properties": {
    "addressPrefix": "string",
    "allowBranchToBranchTraffic": "bool",
    "azureFirewall": {
      "id": "string"
    },
    "expressRouteGateway": {
      "id": "string"
    },
    "hubRoutingPreference": "string",
    "p2SVpnGateway": {
      "id": "string"
    },
    "preferredRoutingGateway": "string",
    "routeTable": {
      "routes": [
        {
          "addressPrefixes": [ "string" ],
          "nextHopIpAddress": "string"
        }
      ]
    },
    "securityPartnerProvider": {
      "id": "string"
    },
    "securityProviderName": "string",
    "sku": "string",
    "virtualHubRouteTableV2s": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "attachedConnections": [ "string" ],
          "routes": [
            {
              "destinations": [ "string" ],
              "destinationType": "string",
              "nextHops": [ "string" ],
              "nextHopType": "string"
            }
          ]
        }
      }
    ],
    "virtualRouterAsn": "int",
    "virtualRouterAutoScaleConfiguration": {
      "minCapacity": "int"
    },
    "virtualRouterIps": [ "string" ],
    "virtualWan": {
      "id": "string"
    },
    "vpnGateway": {
      "id": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

Microsoft.Network/virtualHubs

Name Description Value
apiVersion The api version '2024-03-01'
location Resource location. string
name The resource name string (required)
properties Properties of the virtual hub. VirtualHubProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Network/virtualHubs'

ResourceTags

Name Description Value

SubResource

Name Description Value
id Resource ID. string

VirtualHubProperties

Name Description Value
addressPrefix Address-prefix for this VirtualHub. string
allowBranchToBranchTraffic Flag to control transit for VirtualRouter hub. bool
azureFirewall The azureFirewall associated with this VirtualHub. SubResource
expressRouteGateway The expressRouteGateway associated with this VirtualHub. SubResource
hubRoutingPreference The hubRoutingPreference of this VirtualHub. 'ASPath'
'ExpressRoute'
'VpnGateway'
p2SVpnGateway The P2SVpnGateway associated with this VirtualHub. SubResource
preferredRoutingGateway The preferred gateway to route on-prem traffic 'ExpressRoute'
'None'
'VpnGateway'
routeTable The routeTable associated with this virtual hub. VirtualHubRouteTable
securityPartnerProvider The securityPartnerProvider associated with this VirtualHub. SubResource
securityProviderName The Security Provider name. string
sku The sku of this VirtualHub. string
virtualHubRouteTableV2s List of all virtual hub route table v2s associated with this VirtualHub. VirtualHubRouteTableV2[]
virtualRouterAsn VirtualRouter ASN. int

Constraints:
Min value = 0
Max value = 4294967295
virtualRouterAutoScaleConfiguration The VirtualHub Router autoscale configuration. VirtualRouterAutoScaleConfiguration
virtualRouterIps VirtualRouter IPs. string[]
virtualWan The VirtualWAN to which the VirtualHub belongs. SubResource
vpnGateway The VpnGateway associated with this VirtualHub. SubResource

VirtualHubRoute

Name Description Value
addressPrefixes List of all addressPrefixes. string[]
nextHopIpAddress NextHop ip address. string

VirtualHubRouteTable

Name Description Value
routes List of all routes. VirtualHubRoute[]

VirtualHubRouteTableV2

Name Description Value
id Resource ID. string
name The name of the resource that is unique within a resource group. This name can be used to access the resource. string
properties Properties of the virtual hub route table v2. VirtualHubRouteTableV2Properties

VirtualHubRouteTableV2Properties

Name Description Value
attachedConnections List of all connections attached to this route table v2. string[]
routes List of all routes. VirtualHubRouteV2[]

VirtualHubRouteV2

Name Description Value
destinations List of all destinations. string[]
destinationType The type of destinations. string
nextHops NextHops ip address. string[]
nextHopType The type of next hops. string

VirtualRouterAutoScaleConfiguration

Name Description Value
minCapacity The minimum number of scale units for VirtualHub Router. int

Constraints:
Min value = 0

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Azure Route Server in BGP peering with Quagga

Deploy to Azure
This template deploys a Router Server and Ubuntu VM with Quagga. Two external BGP sessions are established between the Router Server and Quagga. Installation and configuration of Quagga is executed by Azure custom script extension for linux
Azure Virtual WAN (vWAN) Multi-Hub Deployment

Deploy to Azure
This template allows you to create an Azure Virtual WAN (vWAN) multi-hub deployment including all gateways and VNET connections.
Azure vWAN Multi-Hub Deployment with Custom Routing Tables

Deploy to Azure
This template allows you to create an Azure Virtual WAN (vWAN) multi-hub deployment, including all gateways and VNET connections, and demonstrate the usage of Route Tables for custom routing.
Create a Route Server in a New Subnet

Deploy to Azure
This template deploys a Route Server into a subnet named RouteServerSubnet.
Creates Virtual WAN resources

Deploy to Azure
This template allows you to create virtual WAN resources including Virtual WAN, Virtual Hub, VPN Gateway, VPN Site and a VPN Connecton.
Secured virtual hubs

Deploy to Azure
This template creates a secured virtual hub using Azure Firewall to secure your cloud network traffic destined to the Internet.
vWAN P2S deployment with multi address pool and user groups

Deploy to Azure
This template deploys Azure Virtual WAN (vWAN) with a P2S configured with multiple address pool and user groups

Terraform (AzAPI provider) resource definition

The virtualHubs 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/virtualHubs resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/virtualHubs@2024-03-01"
  name = "string"
  location = "string"
  body = jsonencode({
    properties = {
      addressPrefix = "string"
      allowBranchToBranchTraffic = bool
      azureFirewall = {
        id = "string"
      }
      expressRouteGateway = {
        id = "string"
      }
      hubRoutingPreference = "string"
      p2SVpnGateway = {
        id = "string"
      }
      preferredRoutingGateway = "string"
      routeTable = {
        routes = [
          {
            addressPrefixes = [
              "string"
            ]
            nextHopIpAddress = "string"
          }
        ]
      }
      securityPartnerProvider = {
        id = "string"
      }
      securityProviderName = "string"
      sku = "string"
      virtualHubRouteTableV2s = [
        {
          id = "string"
          name = "string"
          properties = {
            attachedConnections = [
              "string"
            ]
            routes = [
              {
                destinations = [
                  "string"
                ]
                destinationType = "string"
                nextHops = [
                  "string"
                ]
                nextHopType = "string"
              }
            ]
          }
        }
      ]
      virtualRouterAsn = int
      virtualRouterAutoScaleConfiguration = {
        minCapacity = int
      }
      virtualRouterIps = [
        "string"
      ]
      virtualWan = {
        id = "string"
      }
      vpnGateway = {
        id = "string"
      }
    }
  })
  tags = {
    {customized property} = "string"
  }
}

Property values

Microsoft.Network/virtualHubs

Name Description Value
location Resource location. string
name The resource name string (required)
properties Properties of the virtual hub. VirtualHubProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Network/virtualHubs@2024-03-01"

ResourceTags

Name Description Value

SubResource

Name Description Value
id Resource ID. string

VirtualHubProperties

Name Description Value
addressPrefix Address-prefix for this VirtualHub. string
allowBranchToBranchTraffic Flag to control transit for VirtualRouter hub. bool
azureFirewall The azureFirewall associated with this VirtualHub. SubResource
expressRouteGateway The expressRouteGateway associated with this VirtualHub. SubResource
hubRoutingPreference The hubRoutingPreference of this VirtualHub. 'ASPath'
'ExpressRoute'
'VpnGateway'
p2SVpnGateway The P2SVpnGateway associated with this VirtualHub. SubResource
preferredRoutingGateway The preferred gateway to route on-prem traffic 'ExpressRoute'
'None'
'VpnGateway'
routeTable The routeTable associated with this virtual hub. VirtualHubRouteTable
securityPartnerProvider The securityPartnerProvider associated with this VirtualHub. SubResource
securityProviderName The Security Provider name. string
sku The sku of this VirtualHub. string
virtualHubRouteTableV2s List of all virtual hub route table v2s associated with this VirtualHub. VirtualHubRouteTableV2[]
virtualRouterAsn VirtualRouter ASN. int

Constraints:
Min value = 0
Max value = 4294967295
virtualRouterAutoScaleConfiguration The VirtualHub Router autoscale configuration. VirtualRouterAutoScaleConfiguration
virtualRouterIps VirtualRouter IPs. string[]
virtualWan The VirtualWAN to which the VirtualHub belongs. SubResource
vpnGateway The VpnGateway associated with this VirtualHub. SubResource

VirtualHubRoute

Name Description Value
addressPrefixes List of all addressPrefixes. string[]
nextHopIpAddress NextHop ip address. string

VirtualHubRouteTable

Name Description Value
routes List of all routes. VirtualHubRoute[]

VirtualHubRouteTableV2

Name Description Value
id Resource ID. string
name The name of the resource that is unique within a resource group. This name can be used to access the resource. string
properties Properties of the virtual hub route table v2. VirtualHubRouteTableV2Properties

VirtualHubRouteTableV2Properties

Name Description Value
attachedConnections List of all connections attached to this route table v2. string[]
routes List of all routes. VirtualHubRouteV2[]

VirtualHubRouteV2

Name Description Value
destinations List of all destinations. string[]
destinationType The type of destinations. string
nextHops NextHops ip address. string[]
nextHopType The type of next hops. string

VirtualRouterAutoScaleConfiguration

Name Description Value
minCapacity The minimum number of scale units for VirtualHub Router. int

Constraints:
Min value = 0