{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
    "title": "NetworkManagementClient",
    "version": "2015-06-15",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/expressRouteCircuit.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "network-expressRouteCircuit",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json",
    "text/json"
  ],
  "produces": [
    "application/json",
    "text/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "ApiVersionParameter": {
      "description": "Client API version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "SubscriptionIdParameter": {
      "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits": {
      "get": {
        "description": "Gets all the express route circuits in a subscription.",
        "operationId": "ExpressRouteCircuits_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of ExpressRouteCircuit resources.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders": {
      "get": {
        "description": "Gets all the available express route service providers.",
        "operationId": "ExpressRouteServiceProviders_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of ExpressRouteServiceProvider resources.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteServiceProviderListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteServiceProviders"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits": {
      "get": {
        "description": "Gets all the express route circuits in a resource group.",
        "operationId": "ExpressRouteCircuits_List",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}": {
      "delete": {
        "description": "Deletes the specified express route circuit.",
        "operationId": "ExpressRouteCircuits_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted. Sets 'Disabling' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation."
          },
          "204": {
            "description": "Delete successful."
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets information about the specified express route circuit.",
        "operationId": "ExpressRouteCircuits_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting ExpressRouteCircuit resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuit"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ]
      },
      "put": {
        "description": "Creates or updates an express route circuit.",
        "operationId": "ExpressRouteCircuits_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create or update express route circuit operation.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuit"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuit"
            }
          },
          "201": {
            "description": "Create successful. The operation returns the resulting ExpressRouteCircuit resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuit"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/arpTable": {
      "get": {
        "description": "The ListArpTable from ExpressRouteCircuit operation retrieves the currently advertised arp table associated with the ExpressRouteCircuits in a resource group.",
        "operationId": "ExpressRouteCircuits_ListArpTable",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitsArpTableListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations": {
      "get": {
        "description": "Gets all authorizations in an express route circuit.",
        "operationId": "ExpressRouteCircuitAuthorizations_List",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of ExpressRouteCircuitAuthorization resources.",
            "schema": {
              "$ref": "#/definitions/AuthorizationListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitAuthorizations"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}": {
      "delete": {
        "description": "Deletes the specified authorization from the specified express route circuit.",
        "operationId": "ExpressRouteCircuitAuthorizations_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the authorization.",
            "in": "path",
            "name": "authorizationName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Delete successful."
          }
        },
        "tags": [
          "ExpressRouteCircuitAuthorizations"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the specified authorization from the specified express route circuit.",
        "operationId": "ExpressRouteCircuitAuthorizations_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the authorization.",
            "in": "path",
            "name": "authorizationName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the ExpressRouteCircuitAuthorization resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitAuthorizations"
        ]
      },
      "put": {
        "description": "Creates or updates an authorization in the specified express route circuit.",
        "operationId": "ExpressRouteCircuitAuthorizations_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the authorization.",
            "in": "path",
            "name": "authorizationName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create or update express route circuit authorization operation.",
            "in": "body",
            "name": "authorizationParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Update successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
            }
          },
          "201": {
            "description": "Create successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitAuthorizations"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings": {
      "get": {
        "description": "Gets all peerings in a specified express route circuit.",
        "operationId": "ExpressRouteCircuitPeerings_List",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of ExpressRouteCircuitPeering resources.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeeringListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitPeerings"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}": {
      "delete": {
        "description": "Deletes the specified peering from the specified express route circuit.",
        "operationId": "ExpressRouteCircuitPeerings_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the peering.",
            "in": "path",
            "name": "peeringName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Delete successful."
          }
        },
        "tags": [
          "ExpressRouteCircuitPeerings"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the specified authorization from the specified express route circuit.",
        "operationId": "ExpressRouteCircuitPeerings_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the peering.",
            "in": "path",
            "name": "peeringName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeering"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitPeerings"
        ]
      },
      "put": {
        "description": "Creates or updates a peering in the specified express route circuits.",
        "operationId": "ExpressRouteCircuitPeerings_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the peering.",
            "in": "path",
            "name": "peeringName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create or update express route circuit peering operation.",
            "in": "body",
            "name": "peeringParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeering"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeering"
            }
          },
          "201": {
            "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeering"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitPeerings"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/routesTable": {
      "get": {
        "description": "The ListRoutesTable from ExpressRouteCircuit operation retrieves the currently advertised routes table associated with the ExpressRouteCircuits in a resource group.",
        "operationId": "ExpressRouteCircuits_ListRoutesTable",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats": {
      "get": {
        "description": "The ListStats ExpressRouteCircuit operation retrieves all the stats from a ExpressRouteCircuits in a resource group.",
        "operationId": "ExpressRouteCircuits_ListStats",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the loadBalancer.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitsStatsListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitStats"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    }
  },
  "definitions": {
    "AuthorizationListResult": {
      "description": "Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The authorizations in an ExpressRoute Circuit.",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
          },
          "type": "array"
        }
      }
    },
    "AuthorizationPropertiesFormat": {
      "properties": {
        "authorizationKey": {
          "description": "The authorization key.",
          "type": "string"
        },
        "authorizationUseStatus": {
          "description": "AuthorizationUseStatus. Possible values are: 'Available' and 'InUse'.",
          "enum": [
            "Available",
            "InUse"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "AuthorizationUseStatus"
          }
        },
        "provisioningState": {
          "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
          "type": "string"
        }
      }
    },
    "ExpressRouteCircuit": {
      "allOf": [
        {
          "description": "Azure resource manager resource properties.",
          "properties": {
            "id": {
              "description": "Resource Identifier.",
              "type": "string"
            },
            "location": {
              "description": "Resource location.",
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "tags": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Resource tags.",
              "type": "object"
            },
            "type": {
              "description": "Resource type.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "ExpressRouteCircuit resource",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ExpressRouteCircuitPropertiesFormat",
          "x-ms-client-flatten": true
        },
        "sku": {
          "$ref": "#/definitions/ExpressRouteCircuitSku",
          "description": "The SKU."
        }
      }
    },
    "ExpressRouteCircuitArpTable": {
      "description": "The ARP table associated with the ExpressRouteCircuit.",
      "properties": {
        "ipAddress": {
          "description": "The IP address.",
          "type": "string"
        },
        "macAddress": {
          "description": "The MAC address.",
          "type": "string"
        }
      }
    },
    "ExpressRouteCircuitAuthorization": {
      "allOf": [
        {
          "description": "Azure resource manager sub resource properties.",
          "properties": {
            "id": {
              "description": "Resource Identifier.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Authorization in an ExpressRouteCircuit resource.",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "type": "string"
        },
        "name": {
          "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/AuthorizationPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ExpressRouteCircuitListResult": {
      "description": "Response for ListExpressRouteCircuit API service call.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "A list of ExpressRouteCircuits in a resource group.",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuit"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteCircuitPeering": {
      "allOf": [
        {
          "description": "Azure resource manager sub resource properties.",
          "properties": {
            "id": {
              "description": "Resource Identifier.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Peering in an ExpressRouteCircuit resource.",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "type": "string"
        },
        "name": {
          "description": "Gets name of the resource that is unique within a resource group. This name can be used to access the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ExpressRouteCircuitPeeringConfig": {
      "description": "Specifies the peering configuration.",
      "properties": {
        "advertisedPublicPrefixes": {
          "description": "The reference of AdvertisedPublicPrefixes.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "advertisedPublicPrefixesState": {
          "description": "AdvertisedPublicPrefixState of the Peering resource. Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'.",
          "enum": [
            "NotConfigured",
            "Configuring",
            "Configured",
            "ValidationNeeded"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState"
          }
        },
        "customerASN": {
          "description": "The CustomerASN of the peering.",
          "format": "int32",
          "type": "integer"
        },
        "routingRegistryName": {
          "description": "The RoutingRegistryName of the configuration.",
          "type": "string"
        }
      }
    },
    "ExpressRouteCircuitPeeringListResult": {
      "description": "Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The peerings in an express route circuit.",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitPeering"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteCircuitPeeringPropertiesFormat": {
      "properties": {
        "azureASN": {
          "description": "The Azure ASN.",
          "format": "int32",
          "type": "integer"
        },
        "microsoftPeeringConfig": {
          "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig",
          "description": "The Microsoft peering configuration."
        },
        "peerASN": {
          "description": "The peer ASN.",
          "format": "int32",
          "type": "integer"
        },
        "peeringType": {
          "description": "The PeeringType. Possible values are: 'AzurePublicPeering', 'AzurePrivatePeering', and 'MicrosoftPeering'.",
          "enum": [
            "AzurePublicPeering",
            "AzurePrivatePeering",
            "MicrosoftPeering"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitPeeringType"
          }
        },
        "primaryAzurePort": {
          "description": "The primary port.",
          "type": "string"
        },
        "primaryPeerAddressPrefix": {
          "description": "The primary address prefix.",
          "type": "string"
        },
        "provisioningState": {
          "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
          "type": "string"
        },
        "secondaryAzurePort": {
          "description": "The secondary port.",
          "type": "string"
        },
        "secondaryPeerAddressPrefix": {
          "description": "The secondary address prefix.",
          "type": "string"
        },
        "sharedKey": {
          "description": "The shared key.",
          "type": "string"
        },
        "state": {
          "description": "The state of peering. Possible values are: 'Disabled' and 'Enabled'",
          "enum": [
            "Disabled",
            "Enabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitPeeringState"
          }
        },
        "stats": {
          "$ref": "#/definitions/ExpressRouteCircuitStats",
          "description": "Gets peering stats."
        },
        "vlanId": {
          "description": "The VLAN ID.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ExpressRouteCircuitPropertiesFormat": {
      "description": "Properties of ExpressRouteCircuit.",
      "properties": {
        "authorizations": {
          "description": "The list of authorizations.",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
          },
          "type": "array"
        },
        "circuitProvisioningState": {
          "description": "The CircuitProvisioningState state of the resource.",
          "type": "string"
        },
        "peerings": {
          "description": "The list of peerings.",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitPeering"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
          "type": "string"
        },
        "serviceKey": {
          "description": "The ServiceKey.",
          "type": "string"
        },
        "serviceProviderNotes": {
          "description": "The ServiceProviderNotes.",
          "type": "string"
        },
        "serviceProviderProperties": {
          "$ref": "#/definitions/ExpressRouteCircuitServiceProviderProperties",
          "description": "The ServiceProviderProperties."
        },
        "serviceProviderProvisioningState": {
          "description": "The ServiceProviderProvisioningState state of the resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'.",
          "enum": [
            "NotProvisioned",
            "Provisioning",
            "Provisioned",
            "Deprovisioning"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ServiceProviderProvisioningState"
          }
        }
      }
    },
    "ExpressRouteCircuitRoutesTable": {
      "description": "The routes table associated with the ExpressRouteCircuit",
      "properties": {
        "addressPrefix": {
          "description": "Gets AddressPrefix.",
          "type": "string"
        },
        "asPath": {
          "description": "Gets AsPath.",
          "type": "string"
        },
        "nextHopIP": {
          "description": "Gets NextHopIP.",
          "type": "string"
        },
        "nextHopType": {
          "description": "Gets NextHopType.",
          "enum": [
            "VirtualNetworkGateway",
            "VnetLocal",
            "Internet",
            "VirtualAppliance",
            "None"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "RouteNextHopType"
          }
        }
      },
      "required": [
        "nextHopType"
      ]
    },
    "ExpressRouteCircuitServiceProviderProperties": {
      "description": "Contains ServiceProviderProperties in an ExpressRouteCircuit.",
      "properties": {
        "bandwidthInMbps": {
          "description": "The BandwidthInMbps.",
          "format": "int32",
          "type": "integer"
        },
        "peeringLocation": {
          "description": "The peering location.",
          "type": "string"
        },
        "serviceProviderName": {
          "description": "The serviceProviderName.",
          "type": "string"
        }
      }
    },
    "ExpressRouteCircuitSku": {
      "description": "Contains SKU in an ExpressRouteCircuit.",
      "properties": {
        "family": {
          "description": "The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'.",
          "enum": [
            "UnlimitedData",
            "MeteredData"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitSkuFamily"
          }
        },
        "name": {
          "description": "The name of the SKU.",
          "type": "string"
        },
        "tier": {
          "description": "The tier of the SKU. Possible values are 'Standard' and 'Premium'.",
          "enum": [
            "Standard",
            "Premium"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitSkuTier"
          }
        }
      }
    },
    "ExpressRouteCircuitStats": {
      "description": "Contains stats associated with the peering.",
      "properties": {
        "bytesIn": {
          "description": "Gets BytesIn of the peering.",
          "format": "int32",
          "type": "integer"
        },
        "bytesOut": {
          "description": "Gets BytesOut of the peering.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ExpressRouteCircuitsArpTableListResult": {
      "description": "Response for ListArpTable associated with the Express Route Circuits API.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets list of the ARP table.",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitArpTable"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteCircuitsRoutesTableListResult": {
      "description": "Response for ListRoutesTable associated with the Express Route Circuits API.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The list of routes table.",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitRoutesTable"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteCircuitsStatsListResult": {
      "description": "Response for ListStats from Express Route Circuits Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of Stats",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitStats"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteServiceProvider": {
      "allOf": [
        {
          "description": "Azure resource manager resource properties.",
          "properties": {
            "id": {
              "description": "Resource Identifier.",
              "type": "string"
            },
            "location": {
              "description": "Resource location.",
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "tags": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Resource tags.",
              "type": "object"
            },
            "type": {
              "description": "Resource type.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "A ExpressRouteResourceProvider object.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ExpressRouteServiceProviderPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ExpressRouteServiceProviderBandwidthsOffered": {
      "description": "Contains bandwidths offered in ExpressRouteServiceProvider resources.",
      "properties": {
        "offerName": {
          "description": "The OfferName.",
          "type": "string"
        },
        "valueInMbps": {
          "description": "The ValueInMbps.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ExpressRouteServiceProviderListResult": {
      "description": "Response for the ListExpressRouteServiceProvider API service call.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "A list of ExpressRouteResourceProvider resources.",
          "items": {
            "$ref": "#/definitions/ExpressRouteServiceProvider"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteServiceProviderPropertiesFormat": {
      "description": "Properties of ExpressRouteServiceProvider.",
      "properties": {
        "bandwidthsOffered": {
          "description": "Gets bandwidths offered.",
          "items": {
            "$ref": "#/definitions/ExpressRouteServiceProviderBandwidthsOffered"
          },
          "type": "array"
        },
        "peeringLocations": {
          "description": "Get a list of peering locations.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets the provisioning state of the resource.",
          "type": "string"
        }
      }
    }
  }
}