Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
- Latest
- 2025-01-01
- 2024-10-01
- 2024-07-01
- 2024-05-01
- 2024-03-01
- 2024-01-01
- 2023-11-01
- 2023-09-01
- 2023-06-01
- 2023-05-01
- 2023-04-01
- 2023-02-01
- 2022-11-01
- 2022-09-01
- 2022-07-01
- 2022-05-01
- 2022-01-01
- 2021-08-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-11-01
- 2020-08-01
- 2020-07-01
- 2020-06-01
- 2020-05-01
- 2020-04-01
- 2020-03-01
- 2019-12-01
- 2019-11-01
- 2019-09-01
- 2019-08-01
- 2019-07-01
- 2019-06-01
- 2019-04-01
- 2019-02-01
- 2018-12-01
- 2018-11-01
- 2018-10-01
- 2018-08-01
- 2018-07-01
- 2018-06-01
- 2018-04-01
- 2018-02-01
- 2018-01-01
- 2017-11-01
- 2017-10-01
- 2017-09-01
- 2017-08-01
- 2017-06-01
- 2017-03-30
- 2017-03-01
- 2016-12-01
- 2016-09-01
- 2016-06-01
- 2016-03-30
- 2015-06-15
- 2015-05-01-preview
Bicep resource definition
The expressRouteCircuits 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/expressRouteCircuits resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Network/expressRouteCircuits@2017-10-01' = {
  scope: resourceSymbolicName or scope
  ___location: 'string'
  name: 'string'
  properties: {
    allowClassicOperations: bool
    authorizations: [
      {
        id: 'string'
        name: 'string'
        properties: {
          authorizationKey: 'string'
          authorizationUseStatus: 'string'
          provisioningState: 'string'
        }
      }
    ]
    circuitProvisioningState: 'string'
    gatewayManagerEtag: 'string'
    peerings: [
      {
        id: 'string'
        name: 'string'
        properties: {
          azureASN: int
          gatewayManagerEtag: 'string'
          ipv6PeeringConfig: {
            microsoftPeeringConfig: {
              advertisedCommunities: [
                'string'
              ]
              advertisedPublicPrefixes: [
                'string'
              ]
              advertisedPublicPrefixesState: 'string'
              customerASN: int
              legacyMode: int
              routingRegistryName: 'string'
            }
            primaryPeerAddressPrefix: 'string'
            routeFilter: {
              id: 'string'
              ___location: 'string'
              properties: {
                peerings: [
                  ...
                ]
                rules: [
                  {
                    id: 'string'
                    ___location: 'string'
                    name: 'string'
                    properties: {
                      access: 'string'
                      communities: [
                        'string'
                      ]
                      routeFilterRuleType: 'string'
                    }
                    tags: {
                      {customized property}: 'string'
                    }
                  }
                ]
              }
              tags: {
                {customized property}: 'string'
              }
            }
            secondaryPeerAddressPrefix: 'string'
            state: 'string'
          }
          lastModifiedBy: 'string'
          microsoftPeeringConfig: {
            advertisedCommunities: [
              'string'
            ]
            advertisedPublicPrefixes: [
              'string'
            ]
            advertisedPublicPrefixesState: 'string'
            customerASN: int
            legacyMode: int
            routingRegistryName: 'string'
          }
          peerASN: int
          peeringType: 'string'
          primaryAzurePort: 'string'
          primaryPeerAddressPrefix: 'string'
          provisioningState: 'string'
          routeFilter: {
            id: 'string'
            ___location: 'string'
            properties: {
              peerings: [
                ...
              ]
              rules: [
                {
                  id: 'string'
                  ___location: 'string'
                  name: 'string'
                  properties: {
                    access: 'string'
                    communities: [
                      'string'
                    ]
                    routeFilterRuleType: 'string'
                  }
                  tags: {
                    {customized property}: 'string'
                  }
                }
              ]
            }
            tags: {
              {customized property}: 'string'
            }
          }
          secondaryAzurePort: 'string'
          secondaryPeerAddressPrefix: 'string'
          sharedKey: 'string'
          state: 'string'
          stats: {
            primarybytesIn: int
            primarybytesOut: int
            secondarybytesIn: int
            secondarybytesOut: int
          }
          vlanId: int
        }
      }
    ]
    provisioningState: 'string'
    serviceKey: 'string'
    serviceProviderNotes: 'string'
    serviceProviderProperties: {
      bandwidthInMbps: int
      peeringLocation: 'string'
      serviceProviderName: 'string'
    }
    serviceProviderProvisioningState: 'string'
  }
  sku: {
    family: 'string'
    name: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}
Property Values
Microsoft.Network/expressRouteCircuits
| Name | Description | Value | 
|---|---|---|
| ___location | Resource ___location. | string | 
| name | The resource name | string (required) | 
| properties | Properties of ExpressRouteCircuit. | ExpressRouteCircuitPropertiesFormat | 
| 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. | 
| sku | The SKU. | ExpressRouteCircuitSku | 
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates | 
AuthorizationPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| authorizationKey | The authorization key. | string | 
| authorizationUseStatus | AuthorizationUseStatus. Possible values are: 'Available' and 'InUse'. | 'Available' 'InUse' | 
| provisioningState | Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. | string | 
ExpressRouteCircuitAuthorization
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| name | Gets name of the resource that is unique within a resource group. This name can be used to access the resource. | string | 
| properties | AuthorizationPropertiesFormat | 
ExpressRouteCircuitPeering
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| name | Gets name of the resource that is unique within a resource group. This name can be used to access the resource. | string | 
| properties | ExpressRouteCircuitPeeringPropertiesFormat | 
ExpressRouteCircuitPeeringConfig
| Name | Description | Value | 
|---|---|---|
| advertisedCommunities | The communities of bgp peering. Specified for microsoft peering | string[] | 
| advertisedPublicPrefixes | The reference of AdvertisedPublicPrefixes. | string[] | 
| advertisedPublicPrefixesState | AdvertisedPublicPrefixState of the Peering resource. Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. | 'Configured' 'Configuring' 'NotConfigured' 'ValidationNeeded' | 
| customerASN | The CustomerASN of the peering. | int | 
| legacyMode | The legacy mode of the peering. | int | 
| routingRegistryName | The RoutingRegistryName of the configuration. | string | 
ExpressRouteCircuitPeeringPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| azureASN | The Azure ASN. | int | 
| gatewayManagerEtag | The GatewayManager Etag. | string | 
| ipv6PeeringConfig | The IPv6 peering configuration. | Ipv6ExpressRouteCircuitPeeringConfig | 
| lastModifiedBy | Gets whether the provider or the customer last modified the peering. | string | 
| microsoftPeeringConfig | The Microsoft peering configuration. | ExpressRouteCircuitPeeringConfig | 
| peerASN | The peer ASN. | int Constraints: Min value = 1 Max value = 4294967295 | 
| peeringType | The PeeringType. Possible values are: 'AzurePublicPeering', 'AzurePrivatePeering', and 'MicrosoftPeering'. | 'AzurePrivatePeering' 'AzurePublicPeering' 'MicrosoftPeering' | 
| primaryAzurePort | The primary port. | string | 
| primaryPeerAddressPrefix | The primary address prefix. | string | 
| provisioningState | Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. | string | 
| routeFilter | The reference of the RouteFilter resource. | RouteFilter | 
| secondaryAzurePort | The secondary port. | string | 
| secondaryPeerAddressPrefix | The secondary address prefix. | string | 
| sharedKey | The shared key. | string | 
| state | The state of peering. Possible values are: 'Disabled' and 'Enabled' | 'Disabled' 'Enabled' | 
| stats | Gets peering stats. | ExpressRouteCircuitStats | 
| vlanId | The VLAN ID. | int | 
ExpressRouteCircuitPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| allowClassicOperations | Allow classic operations | bool | 
| authorizations | The list of authorizations. | ExpressRouteCircuitAuthorization[] | 
| circuitProvisioningState | The CircuitProvisioningState state of the resource. | string | 
| gatewayManagerEtag | The GatewayManager Etag. | string | 
| peerings | The list of peerings. | ExpressRouteCircuitPeering[] | 
| provisioningState | Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. | string | 
| serviceKey | The ServiceKey. | string | 
| serviceProviderNotes | The ServiceProviderNotes. | string | 
| serviceProviderProperties | The ServiceProviderProperties. | ExpressRouteCircuitServiceProviderProperties | 
| serviceProviderProvisioningState | The ServiceProviderProvisioningState state of the resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. | 'Deprovisioning' 'NotProvisioned' 'Provisioned' 'Provisioning' | 
ExpressRouteCircuitServiceProviderProperties
| Name | Description | Value | 
|---|---|---|
| bandwidthInMbps | The BandwidthInMbps. | int | 
| peeringLocation | The peering ___location. | string | 
| serviceProviderName | The serviceProviderName. | string | 
ExpressRouteCircuitSku
| Name | Description | Value | 
|---|---|---|
| family | The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. | 'MeteredData' 'UnlimitedData' | 
| name | The name of the SKU. | string | 
| tier | The tier of the SKU. Possible values are 'Standard' and 'Premium'. | 'Premium' 'Standard' | 
ExpressRouteCircuitStats
| Name | Description | Value | 
|---|---|---|
| primarybytesIn | Gets BytesIn of the peering. | int | 
| primarybytesOut | Gets BytesOut of the peering. | int | 
| secondarybytesIn | Gets BytesIn of the peering. | int | 
| secondarybytesOut | Gets BytesOut of the peering. | int | 
Ipv6ExpressRouteCircuitPeeringConfig
| Name | Description | Value | 
|---|---|---|
| microsoftPeeringConfig | The Microsoft peering configuration. | ExpressRouteCircuitPeeringConfig | 
| primaryPeerAddressPrefix | The primary address prefix. | string | 
| routeFilter | The reference of the RouteFilter resource. | RouteFilter | 
| secondaryPeerAddressPrefix | The secondary address prefix. | string | 
| state | The state of peering. Possible values are: 'Disabled' and 'Enabled' | 'Disabled' 'Enabled' | 
ResourceTags
| Name | Description | Value | 
|---|
ResourceTags
| Name | Description | Value | 
|---|
RouteFilter
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| ___location | Resource ___location. | string | 
| properties | Route Filter Resource | RouteFilterPropertiesFormat | 
| tags | Resource tags. | ResourceTags | 
RouteFilterPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| peerings | A collection of references to express route circuit peerings. | ExpressRouteCircuitPeering[] | 
| rules | Collection of RouteFilterRules contained within a route filter. | RouteFilterRule[] | 
RouteFilterRule
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| ___location | Resource ___location. | 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 | Route Filter Rule Resource | RouteFilterRulePropertiesFormat | 
| tags | Resource tags. | RouteFilterRuleTags | 
RouteFilterRulePropertiesFormat
| Name | Description | Value | 
|---|---|---|
| access | The access type of the rule. Valid values are: 'Allow', 'Deny' | 'Allow' 'Deny' (required) | 
| communities | The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020'] | string[] (required) | 
| routeFilterRuleType | The rule type of the rule. Valid value is: 'Community' | 'Community' (required) | 
RouteFilterRuleTags
| Name | Description | Value | 
|---|
Usage Examples
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
| Module | Description | 
|---|---|
| ExpressRoute Circuit | AVM Resource Module for ExpressRoute Circuit | 
Azure Quickstart Samples
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
| Bicep File | Description | 
|---|---|
| Create an ExpressRoute Circuit | This template creates an ExpressRoute Circuit for a specified Service Provider and SKU | 
| ExpressRoute circuit with private peering and Azure VNet | This template configure ExpressRoute Microsoft peering, deploy an Azure VNet with Expressroute gateway and link the VNet to the ExpressRoute circuit | 
ARM template resource definition
The expressRouteCircuits 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/expressRouteCircuits resource, add the following JSON to your template.
{
  "type": "Microsoft.Network/expressRouteCircuits",
  "apiVersion": "2017-10-01",
  "name": "string",
  "___location": "string",
  "properties": {
    "allowClassicOperations": "bool",
    "authorizations": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "authorizationKey": "string",
          "authorizationUseStatus": "string",
          "provisioningState": "string"
        }
      }
    ],
    "circuitProvisioningState": "string",
    "gatewayManagerEtag": "string",
    "peerings": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "azureASN": "int",
          "gatewayManagerEtag": "string",
          "ipv6PeeringConfig": {
            "microsoftPeeringConfig": {
              "advertisedCommunities": [ "string" ],
              "advertisedPublicPrefixes": [ "string" ],
              "advertisedPublicPrefixesState": "string",
              "customerASN": "int",
              "legacyMode": "int",
              "routingRegistryName": "string"
            },
            "primaryPeerAddressPrefix": "string",
            "routeFilter": {
              "id": "string",
              "___location": "string",
              "properties": {
                "peerings": [
                  ...
                ],
                "rules": [
                  {
                    "id": "string",
                    "___location": "string",
                    "name": "string",
                    "properties": {
                      "access": "string",
                      "communities": [ "string" ],
                      "routeFilterRuleType": "string"
                    },
                    "tags": {
                      "{customized property}": "string"
                    }
                  }
                ]
              },
              "tags": {
                "{customized property}": "string"
              }
            },
            "secondaryPeerAddressPrefix": "string",
            "state": "string"
          },
          "lastModifiedBy": "string",
          "microsoftPeeringConfig": {
            "advertisedCommunities": [ "string" ],
            "advertisedPublicPrefixes": [ "string" ],
            "advertisedPublicPrefixesState": "string",
            "customerASN": "int",
            "legacyMode": "int",
            "routingRegistryName": "string"
          },
          "peerASN": "int",
          "peeringType": "string",
          "primaryAzurePort": "string",
          "primaryPeerAddressPrefix": "string",
          "provisioningState": "string",
          "routeFilter": {
            "id": "string",
            "___location": "string",
            "properties": {
              "peerings": [
                ...
              ],
              "rules": [
                {
                  "id": "string",
                  "___location": "string",
                  "name": "string",
                  "properties": {
                    "access": "string",
                    "communities": [ "string" ],
                    "routeFilterRuleType": "string"
                  },
                  "tags": {
                    "{customized property}": "string"
                  }
                }
              ]
            },
            "tags": {
              "{customized property}": "string"
            }
          },
          "secondaryAzurePort": "string",
          "secondaryPeerAddressPrefix": "string",
          "sharedKey": "string",
          "state": "string",
          "stats": {
            "primarybytesIn": "int",
            "primarybytesOut": "int",
            "secondarybytesIn": "int",
            "secondarybytesOut": "int"
          },
          "vlanId": "int"
        }
      }
    ],
    "provisioningState": "string",
    "serviceKey": "string",
    "serviceProviderNotes": "string",
    "serviceProviderProperties": {
      "bandwidthInMbps": "int",
      "peeringLocation": "string",
      "serviceProviderName": "string"
    },
    "serviceProviderProvisioningState": "string"
  },
  "sku": {
    "family": "string",
    "name": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}
Property Values
Microsoft.Network/expressRouteCircuits
| Name | Description | Value | 
|---|---|---|
| apiVersion | The api version | '2017-10-01' | 
| ___location | Resource ___location. | string | 
| name | The resource name | string (required) | 
| properties | Properties of ExpressRouteCircuit. | ExpressRouteCircuitPropertiesFormat | 
| sku | The SKU. | ExpressRouteCircuitSku | 
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates | 
| type | The resource type | 'Microsoft.Network/expressRouteCircuits' | 
AuthorizationPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| authorizationKey | The authorization key. | string | 
| authorizationUseStatus | AuthorizationUseStatus. Possible values are: 'Available' and 'InUse'. | 'Available' 'InUse' | 
| provisioningState | Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. | string | 
ExpressRouteCircuitAuthorization
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| name | Gets name of the resource that is unique within a resource group. This name can be used to access the resource. | string | 
| properties | AuthorizationPropertiesFormat | 
ExpressRouteCircuitPeering
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| name | Gets name of the resource that is unique within a resource group. This name can be used to access the resource. | string | 
| properties | ExpressRouteCircuitPeeringPropertiesFormat | 
ExpressRouteCircuitPeeringConfig
| Name | Description | Value | 
|---|---|---|
| advertisedCommunities | The communities of bgp peering. Specified for microsoft peering | string[] | 
| advertisedPublicPrefixes | The reference of AdvertisedPublicPrefixes. | string[] | 
| advertisedPublicPrefixesState | AdvertisedPublicPrefixState of the Peering resource. Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. | 'Configured' 'Configuring' 'NotConfigured' 'ValidationNeeded' | 
| customerASN | The CustomerASN of the peering. | int | 
| legacyMode | The legacy mode of the peering. | int | 
| routingRegistryName | The RoutingRegistryName of the configuration. | string | 
ExpressRouteCircuitPeeringPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| azureASN | The Azure ASN. | int | 
| gatewayManagerEtag | The GatewayManager Etag. | string | 
| ipv6PeeringConfig | The IPv6 peering configuration. | Ipv6ExpressRouteCircuitPeeringConfig | 
| lastModifiedBy | Gets whether the provider or the customer last modified the peering. | string | 
| microsoftPeeringConfig | The Microsoft peering configuration. | ExpressRouteCircuitPeeringConfig | 
| peerASN | The peer ASN. | int Constraints: Min value = 1 Max value = 4294967295 | 
| peeringType | The PeeringType. Possible values are: 'AzurePublicPeering', 'AzurePrivatePeering', and 'MicrosoftPeering'. | 'AzurePrivatePeering' 'AzurePublicPeering' 'MicrosoftPeering' | 
| primaryAzurePort | The primary port. | string | 
| primaryPeerAddressPrefix | The primary address prefix. | string | 
| provisioningState | Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. | string | 
| routeFilter | The reference of the RouteFilter resource. | RouteFilter | 
| secondaryAzurePort | The secondary port. | string | 
| secondaryPeerAddressPrefix | The secondary address prefix. | string | 
| sharedKey | The shared key. | string | 
| state | The state of peering. Possible values are: 'Disabled' and 'Enabled' | 'Disabled' 'Enabled' | 
| stats | Gets peering stats. | ExpressRouteCircuitStats | 
| vlanId | The VLAN ID. | int | 
ExpressRouteCircuitPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| allowClassicOperations | Allow classic operations | bool | 
| authorizations | The list of authorizations. | ExpressRouteCircuitAuthorization[] | 
| circuitProvisioningState | The CircuitProvisioningState state of the resource. | string | 
| gatewayManagerEtag | The GatewayManager Etag. | string | 
| peerings | The list of peerings. | ExpressRouteCircuitPeering[] | 
| provisioningState | Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. | string | 
| serviceKey | The ServiceKey. | string | 
| serviceProviderNotes | The ServiceProviderNotes. | string | 
| serviceProviderProperties | The ServiceProviderProperties. | ExpressRouteCircuitServiceProviderProperties | 
| serviceProviderProvisioningState | The ServiceProviderProvisioningState state of the resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. | 'Deprovisioning' 'NotProvisioned' 'Provisioned' 'Provisioning' | 
ExpressRouteCircuitServiceProviderProperties
| Name | Description | Value | 
|---|---|---|
| bandwidthInMbps | The BandwidthInMbps. | int | 
| peeringLocation | The peering ___location. | string | 
| serviceProviderName | The serviceProviderName. | string | 
ExpressRouteCircuitSku
| Name | Description | Value | 
|---|---|---|
| family | The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. | 'MeteredData' 'UnlimitedData' | 
| name | The name of the SKU. | string | 
| tier | The tier of the SKU. Possible values are 'Standard' and 'Premium'. | 'Premium' 'Standard' | 
ExpressRouteCircuitStats
| Name | Description | Value | 
|---|---|---|
| primarybytesIn | Gets BytesIn of the peering. | int | 
| primarybytesOut | Gets BytesOut of the peering. | int | 
| secondarybytesIn | Gets BytesIn of the peering. | int | 
| secondarybytesOut | Gets BytesOut of the peering. | int | 
Ipv6ExpressRouteCircuitPeeringConfig
| Name | Description | Value | 
|---|---|---|
| microsoftPeeringConfig | The Microsoft peering configuration. | ExpressRouteCircuitPeeringConfig | 
| primaryPeerAddressPrefix | The primary address prefix. | string | 
| routeFilter | The reference of the RouteFilter resource. | RouteFilter | 
| secondaryPeerAddressPrefix | The secondary address prefix. | string | 
| state | The state of peering. Possible values are: 'Disabled' and 'Enabled' | 'Disabled' 'Enabled' | 
ResourceTags
| Name | Description | Value | 
|---|
ResourceTags
| Name | Description | Value | 
|---|
RouteFilter
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| ___location | Resource ___location. | string | 
| properties | Route Filter Resource | RouteFilterPropertiesFormat | 
| tags | Resource tags. | ResourceTags | 
RouteFilterPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| peerings | A collection of references to express route circuit peerings. | ExpressRouteCircuitPeering[] | 
| rules | Collection of RouteFilterRules contained within a route filter. | RouteFilterRule[] | 
RouteFilterRule
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| ___location | Resource ___location. | 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 | Route Filter Rule Resource | RouteFilterRulePropertiesFormat | 
| tags | Resource tags. | RouteFilterRuleTags | 
RouteFilterRulePropertiesFormat
| Name | Description | Value | 
|---|---|---|
| access | The access type of the rule. Valid values are: 'Allow', 'Deny' | 'Allow' 'Deny' (required) | 
| communities | The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020'] | string[] (required) | 
| routeFilterRuleType | The rule type of the rule. Valid value is: 'Community' | 'Community' (required) | 
RouteFilterRuleTags
| Name | Description | Value | 
|---|
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
| Template | Description | 
|---|---|
| Create an ExpressRoute Circuit | This template creates an ExpressRoute Circuit for a specified Service Provider and SKU | 
| Create an ExpressRoute Circuit with BGP Peering | This template creates an ExpressRoute Circuit and an AzurePrublicPeering BGP Peering, for a specified Service Provider and SKU | 
| ExpressRoute circuit with private peering and Azure VNet | This template configure ExpressRoute Microsoft peering, deploy an Azure VNet with Expressroute gateway and link the VNet to the ExpressRoute circuit | 
Terraform (AzAPI provider) resource definition
The expressRouteCircuits 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/expressRouteCircuits resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/expressRouteCircuits@2017-10-01"
  name = "string"
  parent_id = "string"
  ___location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      allowClassicOperations = bool
      authorizations = [
        {
          id = "string"
          name = "string"
          properties = {
            authorizationKey = "string"
            authorizationUseStatus = "string"
            provisioningState = "string"
          }
        }
      ]
      circuitProvisioningState = "string"
      gatewayManagerEtag = "string"
      peerings = [
        {
          id = "string"
          name = "string"
          properties = {
            azureASN = int
            gatewayManagerEtag = "string"
            ipv6PeeringConfig = {
              microsoftPeeringConfig = {
                advertisedCommunities = [
                  "string"
                ]
                advertisedPublicPrefixes = [
                  "string"
                ]
                advertisedPublicPrefixesState = "string"
                customerASN = int
                legacyMode = int
                routingRegistryName = "string"
              }
              primaryPeerAddressPrefix = "string"
              routeFilter = {
                id = "string"
                ___location = "string"
                properties = {
                  peerings = [
                    ...
                  ]
                  rules = [
                    {
                      id = "string"
                      ___location = "string"
                      name = "string"
                      properties = {
                        access = "string"
                        communities = [
                          "string"
                        ]
                        routeFilterRuleType = "string"
                      }
                      tags = {
                        {customized property} = "string"
                      }
                    }
                  ]
                }
                tags = {
                  {customized property} = "string"
                }
              }
              secondaryPeerAddressPrefix = "string"
              state = "string"
            }
            lastModifiedBy = "string"
            microsoftPeeringConfig = {
              advertisedCommunities = [
                "string"
              ]
              advertisedPublicPrefixes = [
                "string"
              ]
              advertisedPublicPrefixesState = "string"
              customerASN = int
              legacyMode = int
              routingRegistryName = "string"
            }
            peerASN = int
            peeringType = "string"
            primaryAzurePort = "string"
            primaryPeerAddressPrefix = "string"
            provisioningState = "string"
            routeFilter = {
              id = "string"
              ___location = "string"
              properties = {
                peerings = [
                  ...
                ]
                rules = [
                  {
                    id = "string"
                    ___location = "string"
                    name = "string"
                    properties = {
                      access = "string"
                      communities = [
                        "string"
                      ]
                      routeFilterRuleType = "string"
                    }
                    tags = {
                      {customized property} = "string"
                    }
                  }
                ]
              }
              tags = {
                {customized property} = "string"
              }
            }
            secondaryAzurePort = "string"
            secondaryPeerAddressPrefix = "string"
            sharedKey = "string"
            state = "string"
            stats = {
              primarybytesIn = int
              primarybytesOut = int
              secondarybytesIn = int
              secondarybytesOut = int
            }
            vlanId = int
          }
        }
      ]
      provisioningState = "string"
      serviceKey = "string"
      serviceProviderNotes = "string"
      serviceProviderProperties = {
        bandwidthInMbps = int
        peeringLocation = "string"
        serviceProviderName = "string"
      }
      serviceProviderProvisioningState = "string"
    }
    sku = {
      family = "string"
      name = "string"
      tier = "string"
    }
  }
}
Property Values
Microsoft.Network/expressRouteCircuits
| 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 ExpressRouteCircuit. | ExpressRouteCircuitPropertiesFormat | 
| sku | The SKU. | ExpressRouteCircuitSku | 
| tags | Resource tags | Dictionary of tag names and values. | 
| type | The resource type | "Microsoft.Network/expressRouteCircuits@2017-10-01" | 
AuthorizationPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| authorizationKey | The authorization key. | string | 
| authorizationUseStatus | AuthorizationUseStatus. Possible values are: 'Available' and 'InUse'. | 'Available' 'InUse' | 
| provisioningState | Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. | string | 
ExpressRouteCircuitAuthorization
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| name | Gets name of the resource that is unique within a resource group. This name can be used to access the resource. | string | 
| properties | AuthorizationPropertiesFormat | 
ExpressRouteCircuitPeering
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| name | Gets name of the resource that is unique within a resource group. This name can be used to access the resource. | string | 
| properties | ExpressRouteCircuitPeeringPropertiesFormat | 
ExpressRouteCircuitPeeringConfig
| Name | Description | Value | 
|---|---|---|
| advertisedCommunities | The communities of bgp peering. Specified for microsoft peering | string[] | 
| advertisedPublicPrefixes | The reference of AdvertisedPublicPrefixes. | string[] | 
| advertisedPublicPrefixesState | AdvertisedPublicPrefixState of the Peering resource. Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. | 'Configured' 'Configuring' 'NotConfigured' 'ValidationNeeded' | 
| customerASN | The CustomerASN of the peering. | int | 
| legacyMode | The legacy mode of the peering. | int | 
| routingRegistryName | The RoutingRegistryName of the configuration. | string | 
ExpressRouteCircuitPeeringPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| azureASN | The Azure ASN. | int | 
| gatewayManagerEtag | The GatewayManager Etag. | string | 
| ipv6PeeringConfig | The IPv6 peering configuration. | Ipv6ExpressRouteCircuitPeeringConfig | 
| lastModifiedBy | Gets whether the provider or the customer last modified the peering. | string | 
| microsoftPeeringConfig | The Microsoft peering configuration. | ExpressRouteCircuitPeeringConfig | 
| peerASN | The peer ASN. | int Constraints: Min value = 1 Max value = 4294967295 | 
| peeringType | The PeeringType. Possible values are: 'AzurePublicPeering', 'AzurePrivatePeering', and 'MicrosoftPeering'. | 'AzurePrivatePeering' 'AzurePublicPeering' 'MicrosoftPeering' | 
| primaryAzurePort | The primary port. | string | 
| primaryPeerAddressPrefix | The primary address prefix. | string | 
| provisioningState | Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. | string | 
| routeFilter | The reference of the RouteFilter resource. | RouteFilter | 
| secondaryAzurePort | The secondary port. | string | 
| secondaryPeerAddressPrefix | The secondary address prefix. | string | 
| sharedKey | The shared key. | string | 
| state | The state of peering. Possible values are: 'Disabled' and 'Enabled' | 'Disabled' 'Enabled' | 
| stats | Gets peering stats. | ExpressRouteCircuitStats | 
| vlanId | The VLAN ID. | int | 
ExpressRouteCircuitPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| allowClassicOperations | Allow classic operations | bool | 
| authorizations | The list of authorizations. | ExpressRouteCircuitAuthorization[] | 
| circuitProvisioningState | The CircuitProvisioningState state of the resource. | string | 
| gatewayManagerEtag | The GatewayManager Etag. | string | 
| peerings | The list of peerings. | ExpressRouteCircuitPeering[] | 
| provisioningState | Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. | string | 
| serviceKey | The ServiceKey. | string | 
| serviceProviderNotes | The ServiceProviderNotes. | string | 
| serviceProviderProperties | The ServiceProviderProperties. | ExpressRouteCircuitServiceProviderProperties | 
| serviceProviderProvisioningState | The ServiceProviderProvisioningState state of the resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. | 'Deprovisioning' 'NotProvisioned' 'Provisioned' 'Provisioning' | 
ExpressRouteCircuitServiceProviderProperties
| Name | Description | Value | 
|---|---|---|
| bandwidthInMbps | The BandwidthInMbps. | int | 
| peeringLocation | The peering ___location. | string | 
| serviceProviderName | The serviceProviderName. | string | 
ExpressRouteCircuitSku
| Name | Description | Value | 
|---|---|---|
| family | The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. | 'MeteredData' 'UnlimitedData' | 
| name | The name of the SKU. | string | 
| tier | The tier of the SKU. Possible values are 'Standard' and 'Premium'. | 'Premium' 'Standard' | 
ExpressRouteCircuitStats
| Name | Description | Value | 
|---|---|---|
| primarybytesIn | Gets BytesIn of the peering. | int | 
| primarybytesOut | Gets BytesOut of the peering. | int | 
| secondarybytesIn | Gets BytesIn of the peering. | int | 
| secondarybytesOut | Gets BytesOut of the peering. | int | 
Ipv6ExpressRouteCircuitPeeringConfig
| Name | Description | Value | 
|---|---|---|
| microsoftPeeringConfig | The Microsoft peering configuration. | ExpressRouteCircuitPeeringConfig | 
| primaryPeerAddressPrefix | The primary address prefix. | string | 
| routeFilter | The reference of the RouteFilter resource. | RouteFilter | 
| secondaryPeerAddressPrefix | The secondary address prefix. | string | 
| state | The state of peering. Possible values are: 'Disabled' and 'Enabled' | 'Disabled' 'Enabled' | 
ResourceTags
| Name | Description | Value | 
|---|
ResourceTags
| Name | Description | Value | 
|---|
RouteFilter
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| ___location | Resource ___location. | string | 
| properties | Route Filter Resource | RouteFilterPropertiesFormat | 
| tags | Resource tags. | ResourceTags | 
RouteFilterPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| peerings | A collection of references to express route circuit peerings. | ExpressRouteCircuitPeering[] | 
| rules | Collection of RouteFilterRules contained within a route filter. | RouteFilterRule[] | 
RouteFilterRule
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| ___location | Resource ___location. | 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 | Route Filter Rule Resource | RouteFilterRulePropertiesFormat | 
| tags | Resource tags. | RouteFilterRuleTags | 
RouteFilterRulePropertiesFormat
| Name | Description | Value | 
|---|---|---|
| access | The access type of the rule. Valid values are: 'Allow', 'Deny' | 'Allow' 'Deny' (required) | 
| communities | The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020'] | string[] (required) | 
| routeFilterRuleType | The rule type of the rule. Valid value is: 'Community' | 'Community' (required) | 
RouteFilterRuleTags
| Name | Description | Value | 
|---|
Usage Examples
Terraform Samples
A basic example of deploying ExpressRoute circuit.
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" "ExpressRoutePort" {
  type      = "Microsoft.Network/ExpressRoutePorts@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  ___location  = var.___location
  body = {
    properties = {
      bandwidthInGbps = 10
      encapsulation   = "Dot1Q"
      peeringLocation = "CDC-Canberra"
    }
  }
  schema_validation_enabled = false
  ignore_casing             = true
  response_export_values    = ["*"]
}
resource "azapi_resource" "expressRouteCircuit" {
  type      = "Microsoft.Network/expressRouteCircuits@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  ___location  = var.___location
  body = {
    properties = {
      authorizationKey = ""
      bandwidthInGbps  = 5
      expressRoutePort = {
        id = azapi_resource.ExpressRoutePort.id
      }
    }
    sku = {
      family = "MeteredData"
      name   = "Premium_MeteredData"
      tier   = "Premium"
    }
  }
  schema_validation_enabled = false
  ignore_casing             = true
  response_export_values    = ["*"]
}
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
| Module | Description | 
|---|---|
| ExpressRoute Circuit | AVM Resource Module for ExpressRoute Circuit |