Bicep resource definition
The expressRouteGateways resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.Network/expressRouteGateways resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Network/expressRouteGateways@2023-02-01' = {
scope: resourceSymbolicName or scope
___location: 'string'
name: 'string'
properties: {
allowNonVirtualWanTraffic: bool
autoScaleConfiguration: {
bounds: {
max: int
min: int
}
}
expressRouteConnections: [
{
id: 'string'
name: 'string'
properties: {
authorizationKey: 'string'
enableInternetSecurity: bool
enablePrivateLinkFastPath: bool
expressRouteCircuitPeering: {
id: 'string'
}
expressRouteGatewayBypass: bool
routingConfiguration: {
associatedRouteTable: {
id: 'string'
}
inboundRouteMap: {
id: 'string'
}
outboundRouteMap: {
id: 'string'
}
propagatedRouteTables: {
ids: [
{
id: 'string'
}
]
labels: [
'string'
]
}
vnetRoutes: {
staticRoutes: [
{
addressPrefixes: [
'string'
]
name: 'string'
nextHopIpAddress: 'string'
}
]
staticRoutesConfig: {
vnetLocalRouteOverrideCriteria: 'string'
}
}
}
routingWeight: int
}
}
]
virtualHub: {
id: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.Network/expressRouteGateways
| Name |
Description |
Value |
| ___location |
Resource ___location. |
string |
| name |
The resource name |
string (required) |
| properties |
Properties of the express route gateway. |
ExpressRouteGatewayProperties |
| scope |
Use when creating a resource at a scope that is different than the deployment scope. |
Set this property to the symbolic name of a resource to apply the extension resource. |
| tags |
Resource tags |
Dictionary of tag names and values. See Tags in templates |
ExpressRouteCircuitPeeringId
| Name |
Description |
Value |
| id |
The ID of the ExpressRoute circuit peering. |
string |
ExpressRouteConnection
| Name |
Description |
Value |
| id |
Resource ID. |
string |
| name |
The name of the resource. |
string (required) |
| properties |
Properties of the express route connection. |
ExpressRouteConnectionProperties |
ExpressRouteConnectionProperties
| Name |
Description |
Value |
| authorizationKey |
Authorization key to establish the connection. |
string |
| enableInternetSecurity |
Enable internet security. |
bool |
| enablePrivateLinkFastPath |
Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. |
bool |
| expressRouteCircuitPeering |
The ExpressRoute circuit peering. |
ExpressRouteCircuitPeeringId (required) |
| expressRouteGatewayBypass |
Enable FastPath to vWan Firewall hub. |
bool |
| routingConfiguration |
The Routing Configuration indicating the associated and propagated route tables on this connection. |
RoutingConfiguration |
| routingWeight |
The routing weight associated to the connection. |
int |
ExpressRouteGatewayProperties
| Name |
Description |
Value |
| allowNonVirtualWanTraffic |
Configures this gateway to accept traffic from non Virtual WAN networks. |
bool |
| autoScaleConfiguration |
Configuration for auto scaling. |
ExpressRouteGatewayPropertiesAutoScaleConfiguration |
| expressRouteConnections |
List of ExpressRoute connections to the ExpressRoute gateway. |
ExpressRouteConnection[] |
| virtualHub |
The Virtual Hub where the ExpressRoute gateway is or will be deployed. |
VirtualHubId (required) |
ExpressRouteGatewayPropertiesAutoScaleConfiguration
ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds
| Name |
Description |
Value |
| max |
Maximum number of scale units deployed for ExpressRoute gateway. |
int |
| min |
Minimum number of scale units deployed for ExpressRoute gateway. |
int |
PropagatedRouteTable
| Name |
Description |
Value |
| ids |
The list of resource ids of all the RouteTables. |
SubResource[] |
| labels |
The list of labels. |
string[] |
RoutingConfiguration
| Name |
Description |
Value |
| associatedRouteTable |
The resource id RouteTable associated with this RoutingConfiguration. |
SubResource |
| inboundRouteMap |
The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. |
SubResource |
| outboundRouteMap |
The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. |
SubResource |
| propagatedRouteTables |
The list of RouteTables to advertise the routes to. |
PropagatedRouteTable |
| vnetRoutes |
List of routes that control routing from VirtualHub into a virtual network connection. |
VnetRoute |
StaticRoute
| Name |
Description |
Value |
| addressPrefixes |
List of all address prefixes. |
string[] |
| name |
The name of the StaticRoute that is unique within a VnetRoute. |
string |
| nextHopIpAddress |
The ip address of the next hop. |
string |
StaticRoutesConfig
| Name |
Description |
Value |
| vnetLocalRouteOverrideCriteria |
Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. |
'Contains' 'Equal' |
SubResource
| Name |
Description |
Value |
| id |
Resource ID. |
string |
VirtualHubId
| Name |
Description |
Value |
| id |
The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription. |
string |
VnetRoute
| Name |
Description |
Value |
| staticRoutes |
List of all Static Routes. |
StaticRoute[] |
| staticRoutesConfig |
Configuration for static routes on this HubVnetConnection. |
StaticRoutesConfig |
Usage Examples
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
ARM template resource definition
The expressRouteGateways resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.Network/expressRouteGateways resource, add the following JSON to your template.
{
"type": "Microsoft.Network/expressRouteGateways",
"apiVersion": "2023-02-01",
"name": "string",
"___location": "string",
"properties": {
"allowNonVirtualWanTraffic": "bool",
"autoScaleConfiguration": {
"bounds": {
"max": "int",
"min": "int"
}
},
"expressRouteConnections": [
{
"id": "string",
"name": "string",
"properties": {
"authorizationKey": "string",
"enableInternetSecurity": "bool",
"enablePrivateLinkFastPath": "bool",
"expressRouteCircuitPeering": {
"id": "string"
},
"expressRouteGatewayBypass": "bool",
"routingConfiguration": {
"associatedRouteTable": {
"id": "string"
},
"inboundRouteMap": {
"id": "string"
},
"outboundRouteMap": {
"id": "string"
},
"propagatedRouteTables": {
"ids": [
{
"id": "string"
}
],
"labels": [ "string" ]
},
"vnetRoutes": {
"staticRoutes": [
{
"addressPrefixes": [ "string" ],
"name": "string",
"nextHopIpAddress": "string"
}
],
"staticRoutesConfig": {
"vnetLocalRouteOverrideCriteria": "string"
}
}
},
"routingWeight": "int"
}
}
],
"virtualHub": {
"id": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.Network/expressRouteGateways
| Name |
Description |
Value |
| apiVersion |
The api version |
'2023-02-01' |
| ___location |
Resource ___location. |
string |
| name |
The resource name |
string (required) |
| properties |
Properties of the express route gateway. |
ExpressRouteGatewayProperties |
| tags |
Resource tags |
Dictionary of tag names and values. See Tags in templates |
| type |
The resource type |
'Microsoft.Network/expressRouteGateways' |
ExpressRouteCircuitPeeringId
| Name |
Description |
Value |
| id |
The ID of the ExpressRoute circuit peering. |
string |
ExpressRouteConnection
| Name |
Description |
Value |
| id |
Resource ID. |
string |
| name |
The name of the resource. |
string (required) |
| properties |
Properties of the express route connection. |
ExpressRouteConnectionProperties |
ExpressRouteConnectionProperties
| Name |
Description |
Value |
| authorizationKey |
Authorization key to establish the connection. |
string |
| enableInternetSecurity |
Enable internet security. |
bool |
| enablePrivateLinkFastPath |
Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. |
bool |
| expressRouteCircuitPeering |
The ExpressRoute circuit peering. |
ExpressRouteCircuitPeeringId (required) |
| expressRouteGatewayBypass |
Enable FastPath to vWan Firewall hub. |
bool |
| routingConfiguration |
The Routing Configuration indicating the associated and propagated route tables on this connection. |
RoutingConfiguration |
| routingWeight |
The routing weight associated to the connection. |
int |
ExpressRouteGatewayProperties
| Name |
Description |
Value |
| allowNonVirtualWanTraffic |
Configures this gateway to accept traffic from non Virtual WAN networks. |
bool |
| autoScaleConfiguration |
Configuration for auto scaling. |
ExpressRouteGatewayPropertiesAutoScaleConfiguration |
| expressRouteConnections |
List of ExpressRoute connections to the ExpressRoute gateway. |
ExpressRouteConnection[] |
| virtualHub |
The Virtual Hub where the ExpressRoute gateway is or will be deployed. |
VirtualHubId (required) |
ExpressRouteGatewayPropertiesAutoScaleConfiguration
ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds
| Name |
Description |
Value |
| max |
Maximum number of scale units deployed for ExpressRoute gateway. |
int |
| min |
Minimum number of scale units deployed for ExpressRoute gateway. |
int |
PropagatedRouteTable
| Name |
Description |
Value |
| ids |
The list of resource ids of all the RouteTables. |
SubResource[] |
| labels |
The list of labels. |
string[] |
RoutingConfiguration
| Name |
Description |
Value |
| associatedRouteTable |
The resource id RouteTable associated with this RoutingConfiguration. |
SubResource |
| inboundRouteMap |
The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. |
SubResource |
| outboundRouteMap |
The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. |
SubResource |
| propagatedRouteTables |
The list of RouteTables to advertise the routes to. |
PropagatedRouteTable |
| vnetRoutes |
List of routes that control routing from VirtualHub into a virtual network connection. |
VnetRoute |
StaticRoute
| Name |
Description |
Value |
| addressPrefixes |
List of all address prefixes. |
string[] |
| name |
The name of the StaticRoute that is unique within a VnetRoute. |
string |
| nextHopIpAddress |
The ip address of the next hop. |
string |
StaticRoutesConfig
| Name |
Description |
Value |
| vnetLocalRouteOverrideCriteria |
Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. |
'Contains' 'Equal' |
SubResource
| Name |
Description |
Value |
| id |
Resource ID. |
string |
VirtualHubId
| Name |
Description |
Value |
| id |
The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription. |
string |
VnetRoute
| Name |
Description |
Value |
| staticRoutes |
List of all Static Routes. |
StaticRoute[] |
| staticRoutesConfig |
Configuration for static routes on this HubVnetConnection. |
StaticRoutesConfig |
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
The expressRouteGateways resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.Network/expressRouteGateways resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/expressRouteGateways@2023-02-01"
name = "string"
parent_id = "string"
___location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
allowNonVirtualWanTraffic = bool
autoScaleConfiguration = {
bounds = {
max = int
min = int
}
}
expressRouteConnections = [
{
id = "string"
name = "string"
properties = {
authorizationKey = "string"
enableInternetSecurity = bool
enablePrivateLinkFastPath = bool
expressRouteCircuitPeering = {
id = "string"
}
expressRouteGatewayBypass = bool
routingConfiguration = {
associatedRouteTable = {
id = "string"
}
inboundRouteMap = {
id = "string"
}
outboundRouteMap = {
id = "string"
}
propagatedRouteTables = {
ids = [
{
id = "string"
}
]
labels = [
"string"
]
}
vnetRoutes = {
staticRoutes = [
{
addressPrefixes = [
"string"
]
name = "string"
nextHopIpAddress = "string"
}
]
staticRoutesConfig = {
vnetLocalRouteOverrideCriteria = "string"
}
}
}
routingWeight = int
}
}
]
virtualHub = {
id = "string"
}
}
}
}
Property Values
Microsoft.Network/expressRouteGateways
| Name |
Description |
Value |
| ___location |
Resource ___location. |
string |
| name |
The resource name |
string (required) |
| parent_id |
The ID of the resource to apply this extension resource to. |
string (required) |
| properties |
Properties of the express route gateway. |
ExpressRouteGatewayProperties |
| tags |
Resource tags |
Dictionary of tag names and values. |
| type |
The resource type |
"Microsoft.Network/expressRouteGateways@2023-02-01" |
ExpressRouteCircuitPeeringId
| Name |
Description |
Value |
| id |
The ID of the ExpressRoute circuit peering. |
string |
ExpressRouteConnection
| Name |
Description |
Value |
| id |
Resource ID. |
string |
| name |
The name of the resource. |
string (required) |
| properties |
Properties of the express route connection. |
ExpressRouteConnectionProperties |
ExpressRouteConnectionProperties
| Name |
Description |
Value |
| authorizationKey |
Authorization key to establish the connection. |
string |
| enableInternetSecurity |
Enable internet security. |
bool |
| enablePrivateLinkFastPath |
Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. |
bool |
| expressRouteCircuitPeering |
The ExpressRoute circuit peering. |
ExpressRouteCircuitPeeringId (required) |
| expressRouteGatewayBypass |
Enable FastPath to vWan Firewall hub. |
bool |
| routingConfiguration |
The Routing Configuration indicating the associated and propagated route tables on this connection. |
RoutingConfiguration |
| routingWeight |
The routing weight associated to the connection. |
int |
ExpressRouteGatewayProperties
| Name |
Description |
Value |
| allowNonVirtualWanTraffic |
Configures this gateway to accept traffic from non Virtual WAN networks. |
bool |
| autoScaleConfiguration |
Configuration for auto scaling. |
ExpressRouteGatewayPropertiesAutoScaleConfiguration |
| expressRouteConnections |
List of ExpressRoute connections to the ExpressRoute gateway. |
ExpressRouteConnection[] |
| virtualHub |
The Virtual Hub where the ExpressRoute gateway is or will be deployed. |
VirtualHubId (required) |
ExpressRouteGatewayPropertiesAutoScaleConfiguration
ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds
| Name |
Description |
Value |
| max |
Maximum number of scale units deployed for ExpressRoute gateway. |
int |
| min |
Minimum number of scale units deployed for ExpressRoute gateway. |
int |
PropagatedRouteTable
| Name |
Description |
Value |
| ids |
The list of resource ids of all the RouteTables. |
SubResource[] |
| labels |
The list of labels. |
string[] |
RoutingConfiguration
| Name |
Description |
Value |
| associatedRouteTable |
The resource id RouteTable associated with this RoutingConfiguration. |
SubResource |
| inboundRouteMap |
The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. |
SubResource |
| outboundRouteMap |
The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. |
SubResource |
| propagatedRouteTables |
The list of RouteTables to advertise the routes to. |
PropagatedRouteTable |
| vnetRoutes |
List of routes that control routing from VirtualHub into a virtual network connection. |
VnetRoute |
StaticRoute
| Name |
Description |
Value |
| addressPrefixes |
List of all address prefixes. |
string[] |
| name |
The name of the StaticRoute that is unique within a VnetRoute. |
string |
| nextHopIpAddress |
The ip address of the next hop. |
string |
StaticRoutesConfig
| Name |
Description |
Value |
| vnetLocalRouteOverrideCriteria |
Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. |
'Contains' 'Equal' |
SubResource
| Name |
Description |
Value |
| id |
Resource ID. |
string |
VirtualHubId
| Name |
Description |
Value |
| id |
The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription. |
string |
VnetRoute
| Name |
Description |
Value |
| staticRoutes |
List of all Static Routes. |
StaticRoute[] |
| staticRoutesConfig |
Configuration for static routes on this HubVnetConnection. |
StaticRoutesConfig |
Usage Examples
A basic example of deploying ExpressRoute gateway.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "___location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
___location = var.___location
}
resource "azapi_resource" "virtualWan" {
type = "Microsoft.Network/virtualWans@2022-07-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
___location = var.___location
body = {
properties = {
allowBranchToBranchTraffic = true
disableVpnEncryption = false
office365LocalBreakoutCategory = "None"
type = "Standard"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "virtualHub" {
type = "Microsoft.Network/virtualHubs@2022-07-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
___location = var.___location
body = {
properties = {
addressPrefix = "10.0.1.0/24"
hubRoutingPreference = "ExpressRoute"
virtualRouterAutoScaleConfiguration = {
minCapacity = 2
}
virtualWan = {
id = azapi_resource.virtualWan.id
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "expressRouteGateway" {
type = "Microsoft.Network/expressRouteGateways@2022-07-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
___location = var.___location
body = {
properties = {
allowNonVirtualWanTraffic = false
autoScaleConfiguration = {
bounds = {
min = 1
}
}
virtualHub = {
id = azapi_resource.virtualHub.id
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}