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: 2019-07-01
  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/2019-07-01/expressRoutePort.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: network-expressRoutePort
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/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
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts":
    get:
      description: List all the ExpressRoutePort resources in the specified subscription.
      operationId: ExpressRoutePorts_List
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.
          schema:
            $ref: "#/definitions/ExpressRoutePortListResult"
      tags:
        - ExpressRoutePorts
      x-ms-examples:
        ExpressRoutePortList:
          parameters:
            api-version: 2019-07-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName
                    location: westus
                    name: portName
                    properties:
                      allocationDate: Friday, July 1, 2018
                      bandwidthInGbps: 100
                      circuits: []
                      encapsulation: QinQ
                      etherType: "0x8100"
                      links:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1
                          name: link1
                          properties:
                            adminState: Disabled
                            connectorType: LC
                            interfaceName: Ethernet 0/0
                            patchPanelId: patchPanelId1
                            provisioningState: Succeeded
                            rackId: rackId1
                            routerName: router1
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2
                          name: link2
                          properties:
                            adminState: Disabled
                            connectorType: LC
                            interfaceName: Ethernet 0/0
                            patchPanelId: patchPanelId2
                            provisioningState: Succeeded
                            rackId: rackId2
                            routerName: router2
                      mtu: "1500"
                      peeringLocation: peeringLocationName
                      provisionedBandwidthInGbps: 0
                      provisioningState: Succeeded
                    type: Microsoft.Network/expressRoutePorts
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations":
    get:
      description: Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retrieving a specific peering location.
      operationId: ExpressRoutePortsLocations_List
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns the list of all ExpressRoutePort peering locations.
          schema:
            $ref: "#/definitions/ExpressRoutePortsLocationListResult"
      tags:
        - ExpressRoutePortsLocations
      x-ms-examples:
        ExpressRoutePortsLocationList:
          parameters:
            api-version: 2019-07-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName
                    location: westus
                    name: locationName
                    properties:
                      address: 123 Main Street, City, State, Zip
                      availableBandwidths: []
                      contact: email@address.com
                      provisioningState: Succeeded
                    type: Microsoft.Network/expressRoutePortsLocations
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}":
    get:
      description: Retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at said peering location.
      operationId: ExpressRoutePortsLocations_Get
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Name of the requested ExpressRoutePort peering location.
          in: path
          name: locationName
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns the requested ExpressRoutePort peering location.
          schema:
            $ref: "#/definitions/ExpressRoutePortsLocation"
      tags:
        - ExpressRoutePortsLocations
      x-ms-examples:
        ExpressRoutePortsLocationGet:
          parameters:
            api-version: 2019-07-01
            locationName: locationName
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/providers/Microsoft.Network/expressRoutePortsLocations/locationName
                location: westus
                name: locationName
                properties:
                  address: 123 Main Street, City, State, Zip
                  availableBandwidths:
                    - offerName: 100 Gbps
                      valueInGbps: 100
                  contact: email@address.com
                  provisioningState: Succeeded
                type: Microsoft.Network/expressRoutePortsLocations
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts":
    get:
      description: List all the ExpressRoutePort resources in the specified resource group.
      operationId: ExpressRoutePorts_ListByResourceGroup
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.
          schema:
            $ref: "#/definitions/ExpressRoutePortListResult"
      tags:
        - ExpressRoutePorts
      x-ms-examples:
        ExpressRoutePortListByResourceGroup:
          parameters:
            api-version: 2019-07-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName
                    location: westus
                    name: portName
                    properties:
                      allocationDate: Friday, July 1, 2018
                      bandwidthInGbps: 100
                      circuits: []
                      encapsulation: QinQ
                      etherType: "0x8100"
                      links:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1
                          name: link1
                          properties:
                            adminState: Disabled
                            connectorType: LC
                            interfaceName: Ethernet 0/0
                            patchPanelId: patchPanelId1
                            provisioningState: Succeeded
                            rackId: rackId1
                            routerName: router1
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2
                          name: link2
                          properties:
                            adminState: Disabled
                            connectorType: LC
                            interfaceName: Ethernet 0/0
                            patchPanelId: patchPanelId2
                            provisioningState: Succeeded
                            rackId: rackId2
                            routerName: router2
                      mtu: "1500"
                      peeringLocation: peeringLocationName
                      provisionedBandwidthInGbps: 0
                      provisioningState: Succeeded
                    type: Microsoft.Network/expressRoutePorts
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}":
    delete:
      description: Deletes the specified ExpressRoutePort resource.
      operationId: ExpressRoutePorts_Delete
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the ExpressRoutePort resource.
          in: path
          name: expressRoutePortName
          required: true
          type: string
      responses:
        "200":
          description: Delete successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: Request successful. Resource does not exist.
      tags:
        - ExpressRoutePorts
      x-ms-examples:
        ExpressRoutePortDelete:
          parameters:
            api-version: 2019-07-01
            expressRoutePortName: portName
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
    get:
      description: Retrieves the requested ExpressRoutePort resource.
      operationId: ExpressRoutePorts_Get
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of ExpressRoutePort.
          in: path
          name: expressRoutePortName
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns the requested ExpressRoutePort resource.
          schema:
            $ref: "#/definitions/ExpressRoutePort"
      tags:
        - ExpressRoutePorts
      x-ms-examples:
        ExpressRoutePortGet:
          parameters:
            api-version: 2019-07-01
            expressRoutePortName: portName
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName
                location: westus
                name: portName
                properties:
                  allocationDate: Friday, July 1, 2018
                  bandwidthInGbps: 100
                  circuits: []
                  encapsulation: QinQ
                  etherType: "0x8100"
                  links:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1
                      name: link1
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId1
                        provisioningState: Succeeded
                        rackId: rackId1
                        routerName: router1
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2
                      name: link2
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId2
                        provisioningState: Succeeded
                        rackId: rackId2
                        routerName: router2
                  mtu: "1500"
                  peeringLocation: peeringLocationName
                  provisionedBandwidthInGbps: 0
                  provisioningState: Succeeded
                type: Microsoft.Network/expressRoutePorts
    patch:
      description: Update ExpressRoutePort tags.
      operationId: ExpressRoutePorts_UpdateTags
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the ExpressRoutePort resource.
          in: path
          name: expressRoutePortName
          required: true
          type: string
        - description: Parameters supplied to update ExpressRoutePort resource tags.
          in: body
          name: parameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
      responses:
        "200":
          description: Update successful. The operation returns the resulting ExpressRoutePort resource.
          schema:
            $ref: "#/definitions/ExpressRoutePort"
      tags:
        - ExpressRoutePorts
      x-ms-examples:
        ExpressRoutePortUpdateTags:
          parameters:
            api-version: 2019-07-01
            expressRoutePortName: portName
            parameters:
              tags:
                tag1: value1
                tag2: value2
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName
                location: westus
                name: portName
                properties:
                  allocationDate: Friday, July 1, 2018
                  bandwidthInGbps: 100
                  circuits: []
                  encapsulation: QinQ
                  etherType: "0x8100"
                  links:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1
                      name: link1
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId1
                        provisioningState: Succeeded
                        rackId: rackId1
                        routerName: router1
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2
                      name: link2
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId2
                        provisioningState: Succeeded
                        rackId: rackId2
                        routerName: router2
                  mtu: "1500"
                  peeringLocation: peeringLocationName
                  provisionedBandwidthInGbps: 0
                  provisioningState: Succeeded
                type: Microsoft.Network/expressRoutePorts
      x-ms-long-running-operation: true
    put:
      description: Creates or updates the specified ExpressRoutePort resource.
      operationId: ExpressRoutePorts_CreateOrUpdate
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the ExpressRoutePort resource.
          in: path
          name: expressRoutePortName
          required: true
          type: string
        - description: Parameters supplied to the create ExpressRoutePort operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ExpressRoutePort"
      responses:
        "200":
          description: Update successful. The operation returns the resulting ExpressRoutePort resource.
          schema:
            $ref: "#/definitions/ExpressRoutePort"
        "201":
          description: Create successful. The operation returns the resulting ExpressRoutePort resource.
          schema:
            $ref: "#/definitions/ExpressRoutePort"
      tags:
        - ExpressRoutePorts
      x-ms-examples:
        ExpressRoutePortCreate:
          parameters:
            api-version: 2019-07-01
            expressRoutePortName: portName
            parameters:
              location: westus
              properties:
                bandwidthInGbps: 100
                encapsulation: QinQ
                peeringLocation: peeringLocationName
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName
                location: westus
                name: portName
                properties:
                  allocationDate: Friday, July 1, 2018
                  bandwidthInGbps: 100
                  circuits: []
                  encapsulation: QinQ
                  etherType: "0x8100"
                  links:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1
                      name: link1
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId1
                        provisioningState: Succeeded
                        rackId: rackId1
                        routerName: router1
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2
                      name: link2
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId2
                        provisioningState: Succeeded
                        rackId: rackId2
                        routerName: router2
                  mtu: "1500"
                  peeringLocation: peeringLocationName
                  provisionedBandwidthInGbps: 0
                  provisioningState: Succeeded
                type: Microsoft.Network/expressRoutePorts
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName
                location: westus
                name: portName
                properties:
                  allocationDate: Friday, July 1, 2018
                  bandwidthInGbps: 100
                  circuits: []
                  encapsulation: QinQ
                  etherType: "0x8100"
                  links:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1
                      name: link1
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId1
                        provisioningState: Succeeded
                        rackId: rackId1
                        routerName: router1
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2
                      name: link2
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId2
                        provisioningState: Succeeded
                        rackId: rackId2
                        routerName: router2
                  mtu: "1500"
                  peeringLocation: peeringLocationName
                  provisionedBandwidthInGbps: 0
                  provisioningState: Succeeded
                type: Microsoft.Network/expressRoutePorts
        ExpressRoutePortUpdateLink:
          parameters:
            api-version: 2019-07-01
            expressRoutePortName: portName
            parameters:
              location: westus
              properties:
                bandwidthInGbps: 100
                encapsulation: QinQ
                links:
                  - name: link1
                    properties:
                      adminState: Enabled
                peeringLocation: peeringLocationName
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName
                location: westus
                name: portName
                properties:
                  allocationDate: Friday, July 1, 2018
                  bandwidthInGbps: 100
                  circuits: []
                  encapsulation: QinQ
                  etherType: "0x8100"
                  links:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1
                      name: link1
                      properties:
                        adminState: Enabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId1
                        provisioningState: Succeeded
                        rackId: rackId1
                        routerName: router1
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2
                      name: link2
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId2
                        provisioningState: Succeeded
                        rackId: rackId2
                        routerName: router2
                  mtu: "1500"
                  peeringLocation: peeringLocationName
                  provisionedBandwidthInGbps: 0
                  provisioningState: Succeeded
                type: Microsoft.Network/expressRoutePorts
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName
                location: westus
                name: portName
                properties:
                  allocationDate: Friday, July 1, 2018
                  bandwidthInGbps: 100
                  circuits: []
                  encapsulation: QinQ
                  etherType: "0x8100"
                  links:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1
                      name: link1
                      properties:
                        adminState: Enabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId1
                        provisioningState: Succeeded
                        rackId: rackId1
                        routerName: router1
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2
                      name: link2
                      properties:
                        adminState: Disabled
                        connectorType: LC
                        interfaceName: Ethernet 0/0
                        patchPanelId: patchPanelId2
                        provisioningState: Succeeded
                        rackId: rackId2
                        routerName: router2
                  mtu: "1500"
                  peeringLocation: peeringLocationName
                  provisionedBandwidthInGbps: 0
                  provisioningState: Succeeded
                type: Microsoft.Network/expressRoutePorts
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links":
    get:
      description: Retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource.
      operationId: ExpressRouteLinks_List
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the ExpressRoutePort resource.
          in: path
          name: expressRoutePortName
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns a list of ExpressRouteLink resources. If there are no ExpressRouteLink resources then an empty list is returned.
          schema:
            $ref: "#/definitions/ExpressRouteLinkListResult"
      tags:
        - ExpressRouteLinks
      x-ms-examples:
        ExpressRouteLinkGet:
          parameters:
            api-version: 2019-07-01
            expressRoutePortName: portName
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link1
                    name: link1
                    properties:
                      adminState: Disabled
                      connectorType: LC
                      interfaceName: Ethernet 0/0
                      patchPanelId: patchPanelId1
                      provisioningState: Succeeded
                      rackId: rackId1
                      routerName: router1
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/link2
                    name: link2
                    properties:
                      adminState: Disabled
                      connectorType: LC
                      interfaceName: Ethernet 0/0
                      patchPanelId: patchPanelId2
                      provisioningState: Succeeded
                      rackId: rackId2
                      routerName: router2
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}":
    get:
      description: Retrieves the specified ExpressRouteLink resource.
      operationId: ExpressRouteLinks_Get
      parameters:
        - 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
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the ExpressRoutePort resource.
          in: path
          name: expressRoutePortName
          required: true
          type: string
        - description: The name of the ExpressRouteLink resource.
          in: path
          name: linkName
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns the requested ExpressRouteLink resource.
          schema:
            $ref: "#/definitions/ExpressRouteLink"
      tags:
        - ExpressRouteLinks
      x-ms-examples:
        ExpressRouteLinkGet:
          parameters:
            api-version: 2019-07-01
            expressRoutePortName: portName
            linkName: linkName
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRoutePorts/portName/links/linkName
                name: linkName
                properties:
                  adminState: Disabled
                  connectorType: LC
                  interfaceName: Ethernet 0/0
                  patchPanelId: patchPanelId1
                  provisioningState: Succeeded
                  rackId: rackId1
                  routerName: router1
definitions:
  ExpressRouteLink:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: ExpressRouteLink child resource definition.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      name:
        description: Name of child port resource that is unique among child port resources of the parent.
        type: string
      properties:
        $ref: "#/definitions/ExpressRouteLinkPropertiesFormat"
        description: ExpressRouteLink properties.
        x-ms-client-flatten: true
    title: ExpressRouteLink
  ExpressRouteLinkListResult:
    description: Response for ListExpressRouteLinks API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        type: string
      value:
        description: The list of ExpressRouteLink sub-resources.
        items:
          $ref: "#/definitions/ExpressRouteLink"
        type: array
    title: ExpressRouteLink List Result
  ExpressRouteLinkMacSecConfig:
    description: ExpressRouteLink Mac Security Configuration.
    properties:
      cakSecretIdentifier:
        description: Keyvault Secret Identifier URL containing Mac security CAK key.
        type: string
      cipher:
        description: Mac security cipher.
        enum:
          - gcm-aes-128
          - gcm-aes-256
        type: string
        x-ms-enum:
          modelAsString: true
          name: ExpressRouteLinkMacSecCipher
      cknSecretIdentifier:
        description: Keyvault Secret Identifier URL containing Mac security CKN key.
        type: string
    title: Definition of ExpressRouteLink Mac Security configuration.
  ExpressRouteLinkPropertiesFormat:
    description: Properties specific to ExpressRouteLink resources.
    properties:
      adminState:
        description: Administrative state of the physical port.
        enum:
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: ExpressRouteLinkAdminState
      connectorType:
        description: Physical fiber port type.
        enum:
          - LC
          - SC
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ExpressRouteLinkConnectorType
      interfaceName:
        description: Name of Azure router interface.
        readOnly: true
        type: string
      macSecConfig:
        $ref: "#/definitions/ExpressRouteLinkMacSecConfig"
        description: MacSec configuration.
      patchPanelId:
        description: Mapping between physical port to patch panel port.
        readOnly: true
        type: string
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      rackId:
        description: Mapping of physical patch panel to rack.
        readOnly: true
        type: string
      routerName:
        description: Name of Azure router associated with physical port.
        readOnly: true
        type: string
    title: ExpressRouteLink Resource Properties
  ExpressRoutePort:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            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: ExpressRoutePort resource definition.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      identity:
        description: Identity for the resource.
        properties:
          principalId:
            description: The principal id of the system assigned identity. This property will only be provided for a system assigned identity.
            readOnly: true
            type: string
          tenantId:
            description: The tenant id of the system assigned identity. This property will only be provided for a system assigned identity.
            readOnly: true
            type: string
          type:
            description: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.
            enum:
              - SystemAssigned
              - UserAssigned
              - SystemAssigned, UserAssigned
              - None
            type: string
            x-ms-enum:
              modelAsString: false
              name: ResourceIdentityType
          userAssignedIdentities:
            additionalProperties:
              properties:
                clientId:
                  description: The client id of user assigned identity.
                  readOnly: true
                  type: string
                principalId:
                  description: The principal id of user assigned identity.
                  readOnly: true
                  type: string
              type: object
            description: "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
            type: object
      properties:
        $ref: "#/definitions/ExpressRoutePortPropertiesFormat"
        description: ExpressRoutePort properties.
        x-ms-client-flatten: true
    title: ExpressRoute Port
  ExpressRoutePortListResult:
    description: Response for ListExpressRoutePorts API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        type: string
      value:
        description: A list of ExpressRoutePort resources.
        items:
          $ref: "#/definitions/ExpressRoutePort"
        type: array
    title: ExpressRoute Port List Result
  ExpressRoutePortPropertiesFormat:
    description: Properties specific to ExpressRoutePort resources.
    properties:
      allocationDate:
        description: Date of the physical port allocation to be used in Letter of Authorization.
        readOnly: true
        type: string
      bandwidthInGbps:
        description: Bandwidth of procured ports in Gbps.
        type: integer
      circuits:
        description: Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource.
        items:
          description: Reference to another subresource.
          properties:
            id:
              description: Resource ID.
              type: string
          x-ms-azure-resource: true
        readOnly: true
        type: array
      encapsulation:
        description: Encapsulation method on physical ports.
        enum:
          - Dot1Q
          - QinQ
        type: string
        x-ms-enum:
          modelAsString: true
          name: ExpressRoutePortsEncapsulation
      etherType:
        description: Ether type of the physical port.
        readOnly: true
        type: string
      links:
        description: The set of physical links of the ExpressRoutePort resource.
        items:
          $ref: "#/definitions/ExpressRouteLink"
        readOnly: false
        title: ExpressRouteLink Sub-Resources
        type: array
      mtu:
        description: Maximum transmission unit of the physical port pair(s).
        readOnly: true
        type: string
      peeringLocation:
        description: The name of the peering location that the ExpressRoutePort is mapped to physically.
        type: string
      provisionedBandwidthInGbps:
        description: Aggregate Gbps of associated circuit bandwidths.
        readOnly: true
        type: number
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      resourceGuid:
        description: The resource GUID property of the express route port resource.
        type: string
    title: ExpressRoutePort Properties
  ExpressRoutePortsLocation:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            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: Definition of the ExpressRoutePorts peering location resource.
    properties:
      properties:
        $ref: "#/definitions/ExpressRoutePortsLocationPropertiesFormat"
        description: ExpressRoutePort peering location properties.
        x-ms-client-flatten: true
    title: ExpressRoutePorts Peering Location
  ExpressRoutePortsLocationBandwidths:
    description: Real-time inventory of available ExpressRoute port bandwidths.
    properties:
      offerName:
        description: Bandwidth descriptive name.
        readOnly: true
        type: string
      valueInGbps:
        description: Bandwidth value in Gbps.
        readOnly: true
        type: integer
    title: ExpressRoutePorts Location Bandwidths
  ExpressRoutePortsLocationListResult:
    description: Response for ListExpressRoutePortsLocations API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        type: string
      value:
        description: The list of all ExpressRoutePort peering locations.
        items:
          $ref: "#/definitions/ExpressRoutePortsLocation"
        type: array
    title: ExpressRoutePorts Location List Result
  ExpressRoutePortsLocationPropertiesFormat:
    description: Properties specific to ExpressRoutePorts peering location resources.
    properties:
      address:
        description: Address of peering location.
        readOnly: true
        type: string
      availableBandwidths:
        description: The inventory of available ExpressRoutePort bandwidths.
        items:
          $ref: "#/definitions/ExpressRoutePortsLocationBandwidths"
        type: array
      contact:
        description: Contact details of peering locations.
        readOnly: true
        type: string
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
    title: ExpressRoutePorts Location Properties
