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/peerings 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/peerings resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Network/expressRouteCircuits/peerings@2016-12-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    azureASN: int
    gatewayManagerEtag: 'string'
    lastModifiedBy: 'string'
    microsoftPeeringConfig: {
      advertisedPublicPrefixes: [
        'string'
      ]
      advertisedPublicPrefixesState: 'string'
      customerASN: int
      routingRegistryName: 'string'
    }
    peerASN: int
    peeringType: 'string'
    primaryAzurePort: 'string'
    primaryPeerAddressPrefix: 'string'
    provisioningState: 'string'
    routeFilter: {
      id: 'string'
      ___location: 'string'
      properties: {
        rules: [
          {
            id: 'string'
            ___location: '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
  }
}
Property Values
Microsoft.Network/expressRouteCircuits/peerings
| Name | Description | Value | 
|---|---|---|
| name | The resource name | string (required) | 
| 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: expressRouteCircuits | 
| properties | ExpressRouteCircuitPeeringPropertiesFormat | 
ExpressRouteCircuitPeeringConfig
| Name | Description | Value | 
|---|---|---|
| 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 | 
| routingRegistryName | The RoutingRegistryName of the configuration. | string | 
ExpressRouteCircuitPeeringPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| azureASN | The Azure ASN. | int | 
| gatewayManagerEtag | The GatewayManager Etag. | string | 
| lastModifiedBy | Gets whether the provider or the customer last modified the peering. | string | 
| microsoftPeeringConfig | The Microsoft peering configuration. | ExpressRouteCircuitPeeringConfig | 
| peerASN | The peer ASN. | int | 
| 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 | 
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 | 
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 | 
|---|---|---|
| rules | Collection of RouteFilterRules contained within a route filter. | RouteFilterRule[] | 
RouteFilterRule
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| ___location | Resource ___location. | 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 Samples
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
| Bicep File | Description | 
|---|---|
| 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/peerings 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/peerings resource, add the following JSON to your template.
{
  "type": "Microsoft.Network/expressRouteCircuits/peerings",
  "apiVersion": "2016-12-01",
  "name": "string",
  "properties": {
    "azureASN": "int",
    "gatewayManagerEtag": "string",
    "lastModifiedBy": "string",
    "microsoftPeeringConfig": {
      "advertisedPublicPrefixes": [ "string" ],
      "advertisedPublicPrefixesState": "string",
      "customerASN": "int",
      "routingRegistryName": "string"
    },
    "peerASN": "int",
    "peeringType": "string",
    "primaryAzurePort": "string",
    "primaryPeerAddressPrefix": "string",
    "provisioningState": "string",
    "routeFilter": {
      "id": "string",
      "___location": "string",
      "properties": {
        "rules": [
          {
            "id": "string",
            "___location": "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"
  }
}
Property Values
Microsoft.Network/expressRouteCircuits/peerings
| Name | Description | Value | 
|---|---|---|
| apiVersion | The api version | '2016-12-01' | 
| name | The resource name | string (required) | 
| properties | ExpressRouteCircuitPeeringPropertiesFormat | |
| type | The resource type | 'Microsoft.Network/expressRouteCircuits/peerings' | 
ExpressRouteCircuitPeeringConfig
| Name | Description | Value | 
|---|---|---|
| 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 | 
| routingRegistryName | The RoutingRegistryName of the configuration. | string | 
ExpressRouteCircuitPeeringPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| azureASN | The Azure ASN. | int | 
| gatewayManagerEtag | The GatewayManager Etag. | string | 
| lastModifiedBy | Gets whether the provider or the customer last modified the peering. | string | 
| microsoftPeeringConfig | The Microsoft peering configuration. | ExpressRouteCircuitPeeringConfig | 
| peerASN | The peer ASN. | int | 
| 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 | 
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 | 
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 | 
|---|---|---|
| rules | Collection of RouteFilterRules contained within a route filter. | RouteFilterRule[] | 
RouteFilterRule
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| ___location | Resource ___location. | 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 | 
|---|---|
| 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/peerings 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/peerings resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/expressRouteCircuits/peerings@2016-12-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      azureASN = int
      gatewayManagerEtag = "string"
      lastModifiedBy = "string"
      microsoftPeeringConfig = {
        advertisedPublicPrefixes = [
          "string"
        ]
        advertisedPublicPrefixesState = "string"
        customerASN = int
        routingRegistryName = "string"
      }
      peerASN = int
      peeringType = "string"
      primaryAzurePort = "string"
      primaryPeerAddressPrefix = "string"
      provisioningState = "string"
      routeFilter = {
        id = "string"
        ___location = "string"
        properties = {
          rules = [
            {
              id = "string"
              ___location = "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
    }
  }
}
Property Values
Microsoft.Network/expressRouteCircuits/peerings
| Name | Description | Value | 
|---|---|---|
| name | The resource name | string (required) | 
| parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: expressRouteCircuits | 
| properties | ExpressRouteCircuitPeeringPropertiesFormat | |
| type | The resource type | "Microsoft.Network/expressRouteCircuits/peerings@2016-12-01" | 
ExpressRouteCircuitPeeringConfig
| Name | Description | Value | 
|---|---|---|
| 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 | 
| routingRegistryName | The RoutingRegistryName of the configuration. | string | 
ExpressRouteCircuitPeeringPropertiesFormat
| Name | Description | Value | 
|---|---|---|
| azureASN | The Azure ASN. | int | 
| gatewayManagerEtag | The GatewayManager Etag. | string | 
| lastModifiedBy | Gets whether the provider or the customer last modified the peering. | string | 
| microsoftPeeringConfig | The Microsoft peering configuration. | ExpressRouteCircuitPeeringConfig | 
| peerASN | The peer ASN. | int | 
| 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 | 
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 | 
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 | 
|---|---|---|
| rules | Collection of RouteFilterRules contained within a route filter. | RouteFilterRule[] | 
RouteFilterRule
| Name | Description | Value | 
|---|---|---|
| id | Resource ID. | string | 
| ___location | Resource ___location. | 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 Peering.
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"
}
variable "express_route_shared_key" {
  type        = string
  description = "The shared key for the Express Route circuit peering"
  sensitive   = true
}
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
  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    = ["*"]
}
resource "azapi_resource" "peering" {
  type      = "Microsoft.Network/expressRouteCircuits/peerings@2022-07-01"
  parent_id = azapi_resource.expressRouteCircuit.id
  name      = "AzurePrivatePeering"
  body = {
    properties = {
      azureASN                   = 12076
      gatewayManagerEtag         = ""
      peerASN                    = 100
      peeringType                = "AzurePrivatePeering"
      primaryPeerAddressPrefix   = "192.168.1.0/30"
      secondaryPeerAddressPrefix = "192.168.2.0/30"
      sharedKey                  = var.express_route_shared_key
      state                      = "Enabled"
      vlanId                     = 100
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}