Microsoft.Network expressRouteCircuits template reference

Template format

To create a Microsoft.Network/expressRouteCircuits resource, add the following JSON to the resources section of your template.

{
  "name": "string",
  "type": "Microsoft.Network/expressRouteCircuits",
  "apiVersion": "2018-07-01",
  "location": "string",
  "tags": {},
  "sku": {
    "name": "string",
    "tier": "string",
    "family": "string"
  },
  "properties": {
    "allowClassicOperations": "boolean",
    "authorizations": [
      {
        "id": "string",
        "properties": {
          "authorizationKey": "string",
          "authorizationUseStatus": "string"
        },
        "name": "string"
      }
    ],
    "peerings": [
      {
        "id": "string",
        "properties": {
          "peeringType": "string",
          "state": "string",
          "azureASN": "integer",
          "peerASN": "integer",
          "primaryPeerAddressPrefix": "string",
          "secondaryPeerAddressPrefix": "string",
          "primaryAzurePort": "string",
          "secondaryAzurePort": "string",
          "sharedKey": "string",
          "vlanId": "integer",
          "microsoftPeeringConfig": {
            "advertisedPublicPrefixes": [
              "string"
            ],
            "advertisedCommunities": [
              "string"
            ],
            "advertisedPublicPrefixesState": "string",
            "legacyMode": "integer",
            "customerASN": "integer",
            "routingRegistryName": "string"
          },
          "stats": {
            "primarybytesIn": "integer",
            "primarybytesOut": "integer",
            "secondarybytesIn": "integer",
            "secondarybytesOut": "integer"
          },
          "routeFilter": {
            "id": "string",
            "location": "string",
            "tags": {},
            "properties": {
              "rules": [
                {
                  "id": "string",
                  "properties": {
                    "access": "string",
                    "routeFilterRuleType": "Community",
                    "communities": [
                      "string"
                    ]
                  },
                  "name": "string",
                  "location": "string"
                }
              ],
              "peerings": [
                "ExpressRouteCircuitPeering"
              ]
            }
          },
          "ipv6PeeringConfig": {
            "primaryPeerAddressPrefix": "string",
            "secondaryPeerAddressPrefix": "string",
            "microsoftPeeringConfig": {
              "advertisedPublicPrefixes": [
                "string"
              ],
              "advertisedCommunities": [
                "string"
              ],
              "advertisedPublicPrefixesState": "string",
              "legacyMode": "integer",
              "customerASN": "integer",
              "routingRegistryName": "string"
            },
            "routeFilter": {
              "id": "string",
              "location": "string",
              "tags": {},
              "properties": {
                "rules": [
                  {
                    "id": "string",
                    "properties": {
                      "access": "string",
                      "routeFilterRuleType": "Community",
                      "communities": [
                        "string"
                      ]
                    },
                    "name": "string",
                    "location": "string"
                  }
                ],
                "peerings": [
                  "ExpressRouteCircuitPeering"
                ]
              }
            },
            "state": "string"
          },
          "connections": [
            {
              "id": "string",
              "properties": {
                "expressRouteCircuitPeering": {
                  "id": "string"
                },
                "peerExpressRouteCircuitPeering": {
                  "id": "string"
                },
                "addressPrefix": "string",
                "authorizationKey": "string"
              },
              "name": "string"
            }
          ]
        },
        "name": "string"
      }
    ],
    "serviceKey": "string",
    "serviceProviderNotes": "string",
    "serviceProviderProperties": {
      "serviceProviderName": "string",
      "peeringLocation": "string",
      "bandwidthInMbps": "integer"
    },
    "allowGlobalReach": "boolean"
  },
  "resources": []
}

Property values

The following tables describe the values you need to set in the schema.

Microsoft.Network/expressRouteCircuits object

Name Type Required Value
name string Yes The name of the circuit.
type enum Yes Microsoft.Network/expressRouteCircuits
apiVersion enum Yes 2018-07-01
id string No Resource ID.
location string No Resource location.
tags object No Resource tags.
sku object No The SKU. - ExpressRouteCircuitSku object
properties object Yes ExpressRouteCircuitPropertiesFormat object
resources array No peerings authorizations

ExpressRouteCircuitSku object

Name Type Required Value
name string No The name of the SKU.
tier enum No The tier of the SKU. Possible values are 'Standard' and 'Premium'. - Standard or Premium
family enum No The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. - UnlimitedData or MeteredData

ExpressRouteCircuitPropertiesFormat object

Name Type Required Value
allowClassicOperations boolean No Allow classic operations
authorizations array No The list of authorizations. - ExpressRouteCircuitAuthorization object
peerings array No The list of peerings. - ExpressRouteCircuitPeering object
serviceKey string No The ServiceKey.
serviceProviderNotes string No The ServiceProviderNotes.
serviceProviderProperties object No The ServiceProviderProperties. - ExpressRouteCircuitServiceProviderProperties object
allowGlobalReach boolean No Flag to enable Global Reach on the circuit.

ExpressRouteCircuitAuthorization object

Name Type Required Value
id string No Resource ID.
properties object No AuthorizationPropertiesFormat object
name string No Gets name of the resource that is unique within a resource group. This name can be used to access the resource.

ExpressRouteCircuitPeering object

Name Type Required Value
id string No Resource ID.
properties object No ExpressRouteCircuitPeeringPropertiesFormat object
name string No Gets name of the resource that is unique within a resource group. This name can be used to access the resource.

ExpressRouteCircuitServiceProviderProperties object

Name Type Required Value
serviceProviderName string No The serviceProviderName.
peeringLocation string No The peering location.
bandwidthInMbps integer No The BandwidthInMbps.

AuthorizationPropertiesFormat object

Name Type Required Value
authorizationKey string No The authorization key.
authorizationUseStatus enum No AuthorizationUseStatus. Possible values are: 'Available' and 'InUse'. - Available or InUse

ExpressRouteCircuitPeeringPropertiesFormat object

Name Type Required Value
peeringType enum No The peering type. - AzurePublicPeering, AzurePrivatePeering, MicrosoftPeering
state enum No The peering state. - Disabled or Enabled
azureASN integer No The Azure ASN.
peerASN integer No The peer ASN.
primaryPeerAddressPrefix string No The primary address prefix.
secondaryPeerAddressPrefix string No The secondary address prefix.
primaryAzurePort string No The primary port.
secondaryAzurePort string No The secondary port.
sharedKey string No The shared key.
vlanId integer No The VLAN ID.
microsoftPeeringConfig object No The Microsoft peering configuration. - ExpressRouteCircuitPeeringConfig object
stats object No Gets peering stats. - ExpressRouteCircuitStats object
routeFilter object No The reference of the RouteFilter resource. - RouteFilter object
ipv6PeeringConfig object No The IPv6 peering configuration. - Ipv6ExpressRouteCircuitPeeringConfig object
connections array No The list of circuit connections associated with Azure Private Peering for this circuit. - ExpressRouteCircuitConnection object

ExpressRouteCircuitPeeringConfig object

Name Type Required Value
advertisedPublicPrefixes array No The reference of AdvertisedPublicPrefixes. - string
advertisedCommunities array No The communities of bgp peering. Specified for microsoft peering - string
advertisedPublicPrefixesState enum No AdvertisedPublicPrefixState of the Peering resource. Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. - NotConfigured, Configuring, Configured, ValidationNeeded
legacyMode integer No The legacy mode of the peering.
customerASN integer No The CustomerASN of the peering.
routingRegistryName string No The RoutingRegistryName of the configuration.

ExpressRouteCircuitStats object

Name Type Required Value
primarybytesIn integer No Gets BytesIn of the peering.
primarybytesOut integer No Gets BytesOut of the peering.
secondarybytesIn integer No Gets BytesIn of the peering.
secondarybytesOut integer No Gets BytesOut of the peering.

RouteFilter object

Name Type Required Value
id string No Resource ID.
location string No Resource location.
tags object No Resource tags.
properties object No RouteFilterPropertiesFormat object

Ipv6ExpressRouteCircuitPeeringConfig object

Name Type Required Value
primaryPeerAddressPrefix string No The primary address prefix.
secondaryPeerAddressPrefix string No The secondary address prefix.
microsoftPeeringConfig object No The Microsoft peering configuration. - ExpressRouteCircuitPeeringConfig object
routeFilter object No The reference of the RouteFilter resource. - RouteFilter object
state enum No The state of peering. Possible values are: 'Disabled' and 'Enabled'. - Disabled or Enabled

ExpressRouteCircuitConnection object

Name Type Required Value
id string No Resource ID.
properties object No ExpressRouteCircuitConnectionPropertiesFormat object
name string No Gets name of the resource that is unique within a resource group. This name can be used to access the resource.

RouteFilterPropertiesFormat object

Name Type Required Value
rules array No Collection of RouteFilterRules contained within a route filter. - RouteFilterRule object
peerings array No A collection of references to express route circuit peerings. - ExpressRouteCircuitPeering object

ExpressRouteCircuitConnectionPropertiesFormat object

Name Type Required Value
expressRouteCircuitPeering object No Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection. - SubResource object
peerExpressRouteCircuitPeering object No Reference to Express Route Circuit Private Peering Resource of the peered circuit. - SubResource object
addressPrefix string No /29 IP address space to carve out Customer addresses for tunnels.
authorizationKey string No The authorization key.

RouteFilterRule object

Name Type Required Value
id string No Resource ID.
properties object No RouteFilterRulePropertiesFormat object
name string No The name of the resource that is unique within a resource group. This name can be used to access the resource.
location string No Resource location.

SubResource object

Name Type Required Value
id string No Resource ID.

RouteFilterRulePropertiesFormat object

Name Type Required Value
access enum Yes The access type of the rule. Valid values are: 'Allow', 'Deny'. - Allow or Deny
routeFilterRuleType enum Yes The rule type of the rule. Valid value is: 'Community' - Community
communities array Yes The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020'] - string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Create an ExpressRoute Circuit

Deploy to Azure
This template creates an ExpressRoute Circuit for a specified Service Provider and SKU
ExpressRoute circuit with private peering and Azure VNet

Deploy to Azure
This template configure ExpressRoute Microsoft peering, deploy an Azure VNet with Expressroute Gateway and link the VNet to the ExpressRoute circuit
Create an ExpressRoute Circuit with BGP Peering

Deploy to Azure
This template creates an ExpressRoute Circuit and an AzurePrublicPeering BGP Peering, for a specified Service Provider and SKU