swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: REST API for Azure VirtualWAN As a Service.
  title: VirtualWANAsAServiceManagementClient
  version: 2018-04-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/2018-04-01/virtualWan.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: network-virtualWan
  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/virtualHubs":
    get:
      description: Lists all the VirtualHubs in a subscription.
      operationId: VirtualHubs_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. Returns the details of all the VirtualHubs in the subscription.
          schema:
            $ref: "#/definitions/ListVirtualHubsResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualHubList:
          parameters:
            api-version: 2018-04-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                    location: West US
                    name: virtualHub1
                    properties:
                      addressPrefix: 10.10.1.0/24
                      hubVirtualNetworkConnections:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1
                          name: connection1
                          properties:
                            allowHubToRemoteVnetTransit: true
                            allowRemoteVnetToUseHubVnetGateways: false
                            provisioningState: Succeeded
                            remoteVirtualNetwork:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1
                      provisioningState: Succeeded
                      virtualWan:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
                    type: Microsoft.Network/virtualHubs
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2
                    location: East US
                    name: virtualHub2
                    properties:
                      addressPrefix: 210.10.1.0/24
                      hubVirtualNetworkConnections:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2
                          name: connection2
                          properties:
                            allowHubToRemoteVnetTransit: true
                            allowRemoteVnetToUseHubVnetGateways: false
                            provisioningState: Succeeded
                            remoteVirtualNetwork:
                              id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/SpokeVnet2
                      provisioningState: Succeeded
                      virtualWan:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
                    type: Microsoft.Network/virtualHubs
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans":
    get:
      description: Lists all the VirtualWANs in a subscription.
      operationId: VirtualWANs_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. Returns the details of all the VirtualWANs in the subscription.
          schema:
            $ref: "#/definitions/ListVirtualWANsResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualWANList:
          parameters:
            api-version: 2018-04-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                    location: West US
                    name: wan1
                    properties:
                      disableVpnEncryption: false
                      provisioningState: Succeeded
                      virtualHubs:
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2
                      vpnSites:
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2
                    tags:
                      key1: value1
                    type: Microsoft.Network/virtualWANs
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan2
                    location: East US
                    name: wan2
                    properties:
                      disableVpnEncryption: false
                      provisioningState: Succeeded
                      virtualHubs:
                        - /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub1
                        - /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub2
                      vpnSites:
                        - /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite1
                        - /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2
                    tags:
                      key1: value1
                    type: Microsoft.Network/virtualWANs
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways":
    get:
      description: Lists all the VpnGateways in a subscription.
      operationId: VpnGateways_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. Returns the details of all the VpnGateways in the subscription.
          schema:
            $ref: "#/definitions/ListVpnGatewaysResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnGatewayListBySubscription:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1
                    location: West US
                    name: gateway1
                    properties:
                      bgpSettings:
                        asn: 65514
                        bgpPeeringAddress: 10.0.1.30
                        peerWeight: 0
                      connections:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                          name: vpnConnection1
                          properties:
                            connectionBandwidth: 100
                            connectionStatus: Connected
                            egressBytesTransferred: 0
                            enableBgp: false
                            ingressBytesTransferred: 0
                            ipsecPolicies: []
                            provisioningState: Succeeded
                            remoteVpnSite:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                            routingWeight: 0
                            sharedKey: key
                      policies:
                        allowBranchToBranchTraffic: true
                        allowVnetToVnetTraffic: false
                      provisioningState: Succeeded
                      virtualHub:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                    type: Microsoft.Network/vpnGateways
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2
                    location: West US
                    name: gateway2
                    properties:
                      bgpSettings:
                        asn: 65514
                        bgpPeeringAddress: 10.0.1.30
                        peerWeight: 0
                      connections:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2
                          name: vpnConnection1
                          properties:
                            connectionBandwidth: 100
                            connectionStatus: Connected
                            egressBytesTransferred: 0
                            enableBgp: false
                            ingressBytesTransferred: 0
                            ipsecPolicies: []
                            provisioningState: Succeeded
                            remoteVpnSite:
                              id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2
                            routingWeight: 0
                            sharedKey: key
                      policies:
                        allowBranchToBranchTraffic: true
                        allowVnetToVnetTraffic: false
                      provisioningState: Succeeded
                      virtualHub:
                        id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2
                    type: Microsoft.Network/vpnGateways
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites":
    get:
      description: Lists all the VpnSites in a subscription.
      operationId: VpnSites_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. Returns the details of all the VpnSites in the subscription.
          schema:
            $ref: "#/definitions/ListVpnSitesResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnSiteList:
          parameters:
            api-version: 2018-04-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                    location: West US
                    name: vpnSite1
                    properties:
                      addressSpace:
                        addressPrefixes:
                          - 10.0.0.0/16
                      bgpProperties:
                        asn: 1234
                        bgpPeeringAddress: 192.168.0.0
                      deviceProperties:
                        deviceModel: model01
                        deviceVendor: vendor1
                        linkSpeedInMbps: 200
                      ipAddress: 10.0.0.0
                      provisioningState: Succeeded
                      virtualWAN: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                    tags:
                      key1: value1
                    type: Microsoft.Network/vpnSites
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2
                    location: East US
                    name: vpnSite2
                    properties:
                      addressSpace:
                        addressPrefixes:
                          - 10.0.0.0/16
                      bgpProperties:
                        asn: 1234
                        bgpPeeringAddress: 192.168.0.0
                      deviceProperties:
                        deviceModel: model01
                        deviceVendor: vendor1
                        linkSpeedInMbps: 200
                      ipAddress: 10.1.0.0
                      provisioningState: Succeeded
                      virtualWAN: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan1
                    tags:
                      key1: value1
                    type: Microsoft.Network/vpnSites
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs":
    get:
      description: Lists all the VirtualHubs in a resource group.
      operationId: VirtualHubs_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: The resource group name of the VirtualHub.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of all the VirtualHubs in the resource group.
          schema:
            $ref: "#/definitions/ListVirtualHubsResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualHubListByResourceGroup:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                    location: West US
                    name: virtualHub1
                    properties:
                      addressPrefix: 10.10.1.0/24
                      hubVirtualNetworkConnections:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1
                          name: connection1
                          properties:
                            allowHubToRemoteVnetTransit: true
                            allowRemoteVnetToUseHubVnetGateways: false
                            provisioningState: Succeeded
                            remoteVirtualNetwork:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/SpokeVnet1
                      provisioningState: Succeeded
                      virtualWan:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
                    type: Microsoft.Network/virtualHubs
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2
                    location: East US
                    name: virtualHub2
                    properties:
                      addressPrefix: 210.10.1.0/24
                      hubVirtualNetworkConnections:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2
                          name: connection2
                          properties:
                            allowHubToRemoteVnetTransit: true
                            allowRemoteVnetToUseHubVnetGateways: false
                            provisioningState: Succeeded
                            remoteVirtualNetwork:
                              id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/SpokeVnet2
                      provisioningState: Succeeded
                      virtualWan:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
                    type: Microsoft.Network/virtualHubs
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}":
    delete:
      description: Deletes a VirtualHub.
      operationId: VirtualHubs_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: The resource group name of the VirtualHub.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualHub.
          in: path
          name: virtualHubName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. VirtualHub deleted.
        "202":
          description: Request received successfully. VirtualHub deletion is in progress; follow the Location header to poll for final outcome.
        "204":
          description: No VirtualHubs exist by the name provided.
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualHubDelete:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
            virtualHubName: virtualHub1
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Retrieves the details of a VirtualHub.
      operationId: VirtualHubs_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: The resource group name of the VirtualHub.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualHub.
          in: path
          name: virtualHubName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of the VirtualHub retrieved.
          schema:
            $ref: "#/definitions/VirtualHub"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualHubGet:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
            virtualHubName: virtualHub1
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                location: West US
                name: virtualHub1
                properties:
                  addressPrefix: 10.10.1.0/24
                  hubVirtualNetworkConnections: []
                  provisioningState: Succeeded
                  virtualWan:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
                type: Microsoft.Network/virtualHubs
    patch:
      description: Updates VirtualHub tags.
      operationId: VirtualHubs_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: The resource group name of the VirtualHub.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualHub.
          in: path
          name: virtualHubName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Parameters supplied to update VirtualHub tags.
          in: body
          name: virtualHubParameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
      responses:
        "200":
          description: Request successful. Returns the details of the VirtualHub updated.
          schema:
            $ref: "#/definitions/VirtualHub"
        "201":
          description: Request received successfully. Returns the details of the VirtualHub updated.
          schema:
            $ref: "#/definitions/VirtualHub"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      tags:
        - VirtualWANs
      x-ms-examples:
        VirtualHubUpdate:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
            virtualHubName: virtualHub2
            virtualHubParameters:
              tags:
                key1: value1
                key2: value2
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2
                location: West US
                name: virtualHub2
                properties:
                  addressPrefix: 10.168.0.0/24
                  hubVirtualNetworkConnections: []
                  provisioningState: Succeeded
                  virtualWan:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/virtualHubs
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2
                location: West US
                name: virtualHub2
                properties:
                  addressPrefix: 10.168.0.0/24
                  hubVirtualNetworkConnections: []
                  provisioningState: Succeeded
                  virtualWan:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/virtualHubs
      x-ms-long-running-operation: true
    put:
      description: Creates a VirtualHub resource if it doesn't exist else updates the existing VirtualHub.
      operationId: VirtualHubs_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: The resource group name of the VirtualHub.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualHub.
          in: path
          name: virtualHubName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Parameters supplied to create or update VirtualHub.
          in: body
          name: virtualHubParameters
          required: true
          schema:
            $ref: "#/definitions/VirtualHub"
      responses:
        "200":
          description: Request successful. Returns the details of the VirtualHub created or updated.
          schema:
            $ref: "#/definitions/VirtualHub"
        "201":
          description: Request received successfully. Returns the details of the VirtualHub created or updated.
          schema:
            $ref: "#/definitions/VirtualHub"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualHubPut:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
            virtualHubName: virtualHub2
            virtualHubParameters:
              location: West US
              properties:
                addressPrefix: 10.168.0.0/24
                virtualWan:
                  id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
              tags:
                key1: value1
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2
                location: West US
                name: virtualHub2
                properties:
                  addressPrefix: 10.168.0.0/24
                  hubVirtualNetworkConnections: []
                  provisioningState: Succeeded
                  virtualWan:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
                type: Microsoft.Network/virtualHubs
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2
                location: West US
                name: virtualHub2
                properties:
                  addressPrefix: 10.168.0.0/24
                  hubVirtualNetworkConnections: []
                  provisioningState: Succeeded
                  virtualWan:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1
                type: Microsoft.Network/virtualHubs
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections":
    get:
      description: Retrieves the details of all HubVirtualNetworkConnections.
      operationId: HubVirtualNetworkConnections_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: The resource group name of the VirtualHub.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualHub.
          in: path
          name: virtualHubName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of all the HubVirtualNetworkConnections for the VirtualHub.
          schema:
            $ref: "#/definitions/ListHubVirtualNetworkConnectionsResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        HubVirtualNetworkConnectionList:
          parameters:
            api-version: 2018-04-01
            connectionName: connection1
            resourceGroupName: rg1
            subscriptionId: subid
            virtualHubName: virtualHub1
          responses:
            "200":
              body:
                - etag: w/\00000000-0000-0000-0000-000000000000\
                  id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1
                  name: connection1
                  properties:
                    allowHubToRemoteVnetTransit: true
                    allowRemoteVnetToUseHubVnetGateways: false
                    provisioningState: Succeeded
                    remoteVirtualNetwork:
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1
                - etag: w/\00000000-0000-0000-0000-000000000000\
                  id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection2
                  name: connection2
                  properties:
                    allowHubToRemoteVnetTransit: true
                    allowRemoteVnetToUseHubVnetGateways: false
                    provisioningState: Succeeded
                    remoteVirtualNetwork:
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}":
    get:
      description: Retrieves the details of a HubVirtualNetworkConnection.
      operationId: HubVirtualNetworkConnections_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: The resource group name of the VirtualHub.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualHub.
          in: path
          name: virtualHubName
          required: true
          type: string
        - description: The name of the vpn connection.
          in: path
          name: connectionName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of the HubVirtualNetworkConnection retrieved.
          schema:
            $ref: "#/definitions/HubVirtualNetworkConnection"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        HubVirtualNetworkConnectionGet:
          parameters:
            api-version: 2018-04-01
            connectionName: connection1
            resourceGroupName: rg1
            subscriptionId: subid
            virtualHubName: virtualHub1
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1
                name: connection1
                properties:
                  allowHubToRemoteVnetTransit: true
                  allowRemoteVnetToUseHubVnetGateways: false
                  provisioningState: Succeeded
                  remoteVirtualNetwork:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans":
    get:
      description: Lists all the VirtualWANs in a resource group.
      operationId: VirtualWANs_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: The resource group name of the VirtualWan.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of all the VirtualWANs in the resource group.
          schema:
            $ref: "#/definitions/ListVirtualWANsResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualWANListByResourceGroup:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                    location: West US
                    name: wan1
                    properties:
                      disableVpnEncryption: false
                      provisioningState: Succeeded
                      virtualHubs:
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2
                      vpnSites:
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2
                    tags:
                      key1: value1
                    type: Microsoft.Network/virtualWANs
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan2
                    location: East US
                    name: wan2
                    properties:
                      disableVpnEncryption: false
                      provisioningState: Succeeded
                      virtualHubs:
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub3
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub4
                      vpnSites:
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite3
                        - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite4
                    tags:
                      key1: value1
                    type: Microsoft.Network/virtualWANs
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}":
    delete:
      description: Deletes a VirtualWAN.
      operationId: VirtualWANs_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: The resource group name of the VirtualWan.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualWAN being deleted.
          in: path
          name: VirtualWANName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. VirtualWAN deleted.
        "202":
          description: Request received successfully. VirtualWAN deletion is in progress; follow the Location header to poll for final outcome.
        "204":
          description: No VirtualWANs exist by the name provided.
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualWANDelete:
          parameters:
            VirtualWANName: virtualWan1
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Retrieves the details of a VirtualWAN.
      operationId: VirtualWANs_Get
      parameters:
        - description: The resource group name of the VirtualWan.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualWAN being retrieved.
          in: path
          name: VirtualWANName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - 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
      responses:
        "200":
          description: Request successful. Returns the details of the VirtualWAN retrieved.
          schema:
            $ref: "#/definitions/VirtualWAN"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualWANGet:
          parameters:
            VirtualWANName: wan1
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                location: West US
                name: wan1
                properties:
                  disableVpnEncryption: false
                  provisioningState: Succeeded
                  virtualHubs:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2
                  vpnSites:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2
                tags:
                  key1: value1
                type: Microsoft.Network/virtualWANs
    patch:
      description: Updates a VirtualWAN tags.
      operationId: VirtualWANs_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: The resource group name of the VirtualWan.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualWAN being updated.
          in: path
          name: VirtualWANName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Parameters supplied to Update VirtualWAN tags.
          in: body
          name: WANParameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
      responses:
        "200":
          description: Request successful. Returns the details of the VirtualWAN updated.
          schema:
            $ref: "#/definitions/VirtualWAN"
        "201":
          description: Request received successfully. Returns the details of the VirtualWAN updated.
          schema:
            $ref: "#/definitions/VirtualWAN"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      tags:
        - VirtualWANs
      x-ms-examples:
        VirtualWANUpdate:
          parameters:
            VirtualWANName: wan1
            WANParameters:
              tags:
                key1: value1
                key2: value2
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                location: West US
                name: wan1
                properties:
                  disableVpnEncryption: false
                  provisioningState: Succeeded
                  virtualHubs:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2
                  vpnSites:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/virtualWANs
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                location: West US
                name: wan1
                properties:
                  disableVpnEncryption: false
                  provisioningState: Succeeded
                  virtualHubs:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2
                  vpnSites:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/virtualWANs
      x-ms-long-running-operation: true
    put:
      description: Creates a VirtualWAN resource if it doesn't exist else updates the existing VirtualWAN.
      operationId: VirtualWANs_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: The resource group name of the VirtualWan.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualWAN being created or updated.
          in: path
          name: VirtualWANName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Parameters supplied to create or update VirtualWAN.
          in: body
          name: WANParameters
          required: true
          schema:
            $ref: "#/definitions/VirtualWAN"
      responses:
        "200":
          description: Request successful. Returns the details of the VirtualWAN created or updated.
          schema:
            $ref: "#/definitions/VirtualWAN"
        "201":
          description: Create successful. The operation returns the resulting VirtualWAN resource.
          schema:
            $ref: "#/definitions/VirtualWAN"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VirtualWANCreate:
          parameters:
            VirtualWANName: wan1
            WANParameters:
              location: West US
              properties:
                disableVpnEncryption: false
              tags:
                key1: value1
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                location: West US
                name: wan1
                properties:
                  disableVpnEncryption: false
                  provisioningState: Succeeded
                  virtualHubs:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2
                  vpnSites:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2
                tags:
                  key1: value1
                type: Microsoft.Network/virtualWANs
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                location: West US
                name: wan1
                properties:
                  disableVpnEncryption: false
                  provisioningState: Succeeded
                  virtualHubs:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2
                  vpnSites:
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                    - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2
                tags:
                  key1: value1
                type: Microsoft.Network/virtualWANs
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration":
    post:
      description: Gives the sas-url to download the configurations for vpn-sites in a resource group.
      operationId: VpnSitesConfiguration_Download
      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: The resource group name.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VirtualWAN for which configuration of all vpn-sites is needed.
          in: path
          name: virtualWANName
          required: true
          type: string
        - description: Parameters supplied to download vpn-sites configuration.
          in: body
          name: request
          required: true
          schema:
            $ref: "#/definitions/GetVpnSitesConfigurationRequest"
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Follow the location header for sas-url to output blob.
        "202":
          description: Accepted and the operation will complete asynchronously. Follow the location header for sas-url to output blob.
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnSitesConfigurationDownload:
          parameters:
            api-version: 2018-04-01
            request:
              outputBlobSasUrl: https://blobcortextesturl.blob.core.windows.net/folderforconfig/vpnFile?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b
              vpnSites:
                - /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/abc
            resourceGroupName: rg1
            subscriptionId: subid
            virtualWANName: wan1
          responses:
            "200":
              description: Request successful. Follow the location header for sas-url to output blob.
            "202":
              description: Accepted and the operation will complete asynchronously.
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways":
    get:
      description: Lists all the VpnGateways in a resource group.
      operationId: VpnGateways_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: The resource group name of the VpnGateway.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of all the VpnGateways in the resource group.
          schema:
            $ref: "#/definitions/ListVpnGatewaysResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnGatewayListByResourceGroup:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1
                    location: West US
                    name: gateway1
                    properties:
                      bgpSettings:
                        asn: 65514
                        bgpPeeringAddress: 10.0.1.30
                        peerWeight: 0
                      connections:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                          name: vpnConnection1
                          properties:
                            connectionBandwidth: 100
                            connectionStatus: Connected
                            egressBytesTransferred: 0
                            enableBgp: false
                            ingressBytesTransferred: 0
                            ipsecPolicies: []
                            provisioningState: Succeeded
                            remoteVpnSite:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                            routingWeight: 0
                            sharedKey: key
                      policies:
                        allowBranchToBranchTraffic: true
                        allowVnetToVnetTraffic: false
                      provisioningState: Succeeded
                      virtualHub:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                    type: Microsoft.Network/vpnGateways
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway2
                    location: West US
                    name: gateway2
                    properties:
                      bgpSettings:
                        asn: 65514
                        bgpPeeringAddress: 10.0.1.30
                        peerWeight: 0
                      connections:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2
                          name: vpnConnection1
                          properties:
                            connectionBandwidth: 100
                            connectionStatus: Connected
                            egressBytesTransferred: 0
                            enableBgp: false
                            ingressBytesTransferred: 0
                            ipsecPolicies: []
                            provisioningState: Succeeded
                            remoteVpnSite:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2
                            routingWeight: 0
                            sharedKey: key
                      policies:
                        allowBranchToBranchTraffic: true
                        allowVnetToVnetTraffic: false
                      provisioningState: Succeeded
                      virtualHub:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2
                    type: Microsoft.Network/vpnGateways
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}":
    delete:
      description: Deletes a virtual wan vpn gateway.
      operationId: VpnGateways_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: The resource group name of the VpnGateway.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the gateway.
          in: path
          name: gatewayName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Vpn Gateway deleted.
        "202":
          description: Request received successfully. Vpn Gateway deletion is in progress; follow the Location header to poll for final outcome.
        "204":
          description: No vpn gateways exist by the name provided.
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnGatewayDelete:
          parameters:
            api-version: 2018-04-01
            gatewayName: gateway1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Retrieves the details of a virtual wan vpn gateway.
      operationId: VpnGateways_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: The resource group name of the VpnGateway.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the gateway.
          in: path
          name: gatewayName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of the virtual wan vpn gateway retrieved.
          schema:
            $ref: "#/definitions/VpnGateway"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnGatewayGet:
          parameters:
            api-version: 2018-04-01
            gatewayName: gateway1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1
                location: West US
                name: gateway1
                properties:
                  bgpSettings:
                    asn: 65514
                    bgpPeeringAddress: 10.0.1.30
                    peerWeight: 0
                  connections:
                    - etag: w/\00000000-0000-0000-0000-000000000000\
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                      name: vpnConnection1
                      properties:
                        connectionBandwidth: 100
                        connectionStatus: Connected
                        egressBytesTransferred: 0
                        enableBgp: false
                        ingressBytesTransferred: 0
                        ipsecPolicies: []
                        provisioningState: Succeeded
                        remoteVpnSite:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                        routingWeight: 0
                        sharedKey: key
                  policies:
                    allowBranchToBranchTraffic: true
                    allowVnetToVnetTraffic: false
                  provisioningState: Succeeded
                  virtualHub:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                type: Microsoft.Network/vpnGateways
    patch:
      description: Updates virtual wan vpn gateway tags.
      operationId: VpnGateways_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: The resource group name of the VpnGateway.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the gateway.
          in: path
          name: gatewayName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Parameters supplied to update a virtual wan vpn gateway tags.
          in: body
          name: vpnGatewayParameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
      responses:
        "200":
          description: Request successful. Returns the details of the updated gateway.
          schema:
            $ref: "#/definitions/VpnGateway"
        "201":
          description: Request received successfully. Returns the details of the updated gateway.
          schema:
            $ref: "#/definitions/VpnGateway"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      tags:
        - VpnGateways
      x-ms-examples:
        VpnGatewayUpdate:
          parameters:
            api-version: 2018-04-01
            gatewayName: gateway1
            resourceGroupName: rg1
            subscriptionId: subid
            vpnGatewayParameters:
              tags:
                tag1: value1
                tag2: value2
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1
                location: West US
                name: gateway1
                properties:
                  bgpSettings:
                    asn: 65515
                    bgpPeeringAddress: 10.0.1.30
                    peerWeight: 0
                  connections:
                    - etag: w/\00000000-0000-0000-0000-000000000000\
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                      name: vpnConnection1
                      properties:
                        connectionBandwidth: 100
                        connectionStatus: Connected
                        egressBytesTransferred: 0
                        enableBgp: false
                        ingressBytesTransferred: 0
                        ipsecPolicies: []
                        provisioningState: Succeeded
                        remoteVpnSite:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                        routingWeight: 0
                        sharedKey: key
                  policies:
                    allowBranchToBranchTraffic: true
                    allowVnetToVnetTraffic: false
                  provisioningState: Succeeded
                  virtualHub:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/vpnGateways
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1
                location: West US
                name: gateway1
                properties:
                  bgpSettings:
                    asn: 65515
                    bgpPeeringAddress: 10.0.1.30
                    peerWeight: 0
                  connections:
                    - etag: w/\00000000-0000-0000-0000-000000000000\
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                      name: vpnConnection1
                      properties:
                        connectionBandwidth: 100
                        connectionStatus: Connected
                        egressBytesTransferred: 0
                        enableBgp: false
                        ingressBytesTransferred: 0
                        ipsecPolicies: []
                        provisioningState: Succeeded
                        remoteVpnSite:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                        routingWeight: 0
                        sharedKey: key
                  policies:
                    allowBranchToBranchTraffic: true
                    allowVnetToVnetTraffic: false
                  provisioningState: Succeeded
                  virtualHub:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/vpnGateways
      x-ms-long-running-operation: true
    put:
      description: Creates a virtual wan vpn gateway if it doesn't exist else updates the existing gateway.
      operationId: VpnGateways_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: The resource group name of the VpnGateway.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the gateway.
          in: path
          name: gatewayName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Parameters supplied to create or Update a virtual wan vpn gateway.
          in: body
          name: vpnGatewayParameters
          required: true
          schema:
            $ref: "#/definitions/VpnGateway"
      responses:
        "200":
          description: Request successful. Returns the details of the virtual wan vpn Gateway created or updated.
          schema:
            $ref: "#/definitions/VpnGateway"
        "201":
          description: Request successful. Returns the details of the virtual wan vpn gateway retrieved.
          schema:
            $ref: "#/definitions/VpnGateway"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnGatewayPut:
          parameters:
            api-version: 2018-04-01
            gatewayName: gateway1
            resourceGroupName: rg1
            subscriptionId: subid
            vpnGatewayParameters:
              location: West US
              properties:
                bgpSettings:
                  asn: 65515
                  bgpPeeringAddress: 10.0.1.30
                  peerWeight: 0
                connections:
                  - name: vpnConnection1
                    properties:
                      remoteVpnSite:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                      sharedKey: key
                policies:
                  allowBranchToBranchTraffic: true
                  allowVnetToVnetTraffic: false
                virtualHub:
                  id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
              tags:
                key1: value1
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1
                location: West US
                name: gateway1
                properties:
                  bgpSettings:
                    asn: 65515
                    bgpPeeringAddress: 10.0.1.30
                    peerWeight: 0
                  connections:
                    - etag: w/\00000000-0000-0000-0000-000000000000\
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                      name: vpnConnection1
                      properties:
                        connectionBandwidth: 100
                        connectionStatus: Connected
                        egressBytesTransferred: 0
                        enableBgp: false
                        ingressBytesTransferred: 0
                        ipsecPolicies: []
                        provisioningState: Succeeded
                        remoteVpnSite:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                        routingWeight: 0
                        sharedKey: key
                  policies:
                    allowBranchToBranchTraffic: true
                    allowVnetToVnetTraffic: false
                  provisioningState: Succeeded
                  virtualHub:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                type: Microsoft.Network/vpnGateways
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1
                location: West US
                name: gateway1
                properties:
                  bgpSettings:
                    asn: 65515
                    bgpPeeringAddress: 10.0.1.30
                    peerWeight: 0
                  connections:
                    - etag: w/\00000000-0000-0000-0000-000000000000\
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                      name: vpnConnection1
                      properties:
                        connectionBandwidth: 100
                        connectionStatus: Connected
                        egressBytesTransferred: 0
                        enableBgp: false
                        ingressBytesTransferred: 0
                        ipsecPolicies: []
                        provisioningState: Succeeded
                        remoteVpnSite:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                        routingWeight: 0
                        sharedKey: key
                  policies:
                    allowBranchToBranchTraffic: true
                    allowVnetToVnetTraffic: false
                  provisioningState: Succeeded
                  virtualHub:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1
                type: Microsoft.Network/vpnGateways
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections":
    get:
      description: Retrieves all vpn connections for a particular virtual wan vpn gateway.
      operationId: VpnConnections_ListByVpnGateway
      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: The resource group name of the VpnGateway.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the gateway.
          in: path
          name: gatewayName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns all Vpn connections for a virtual wan vpn gateway.
          schema:
            $ref: "#/definitions/ListVpnConnectionsResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnConnectionList:
          parameters:
            api-version: 2018-04-01
            gatewayName: gateway1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                - etag: w/\00000000-0000-0000-0000-000000000000\
                  id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                  name: vpnConnection1
                  properties:
                    connectionBandwidth: 100
                    connectionStatus: Connected
                    egressBytesTransferred: 0
                    enableBgp: false
                    ingressBytesTransferred: 0
                    ipsecPolicies: []
                    provisioningState: Succeeded
                    remoteVpnSite:
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                    routingWeight: 0
                    sharedKey: key
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}":
    delete:
      description: Deletes a vpn connection.
      operationId: VpnConnections_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: The resource group name of the VpnGateway.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the gateway.
          in: path
          name: gatewayName
          required: true
          type: string
        - description: The name of the connection.
          in: path
          name: connectionName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Vpn Connection deleted.
        "202":
          description: Request received successfully. Vpn Connection deletion is in progress; follow the Location header to poll for final outcome.
        "204":
          description: No vpn connections exist by the name provided.
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnConnectionDelete:
          parameters:
            api-version: 2018-04-01
            connectionName: vpnConnection1
            gatewayName: gateway1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Retrieves the details of a vpn connection.
      operationId: VpnConnections_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: The resource group name of the VpnGateway.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the gateway.
          in: path
          name: gatewayName
          required: true
          type: string
        - description: The name of the vpn connection.
          in: path
          name: connectionName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of the vpn connection.
          schema:
            $ref: "#/definitions/VpnConnection"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnConnectionGet:
          parameters:
            api-version: 2018-04-01
            connectionName: vpnConnection1
            gatewayName: gateway1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                name: vpnConnection1
                properties:
                  connectionBandwidth: 100
                  connectionStatus: Connected
                  egressBytesTransferred: 0
                  enableBgp: false
                  ingressBytesTransferred: 0
                  ipsecPolicies: []
                  provisioningState: Succeeded
                  remoteVpnSite:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                  routingWeight: 0
                  sharedKey: key
    put:
      description: Creates a vpn connection to a scalable vpn gateway if it doesn't exist else updates the existing connection.
      operationId: VpnConnections_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: The resource group name of the VpnGateway.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the gateway.
          in: path
          name: gatewayName
          required: true
          type: string
        - description: The name of the connection.
          in: path
          name: connectionName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Parameters supplied to create or Update a VPN Connection.
          in: body
          name: VpnConnectionParameters
          required: true
          schema:
            $ref: "#/definitions/VpnConnection"
      responses:
        "200":
          description: Request successful. Returns the details of the vpn connection created or updated.
          schema:
            $ref: "#/definitions/VpnConnection"
        "201":
          description: Request successful. Returns the details of the vpn connection created or updated.
          schema:
            $ref: "#/definitions/VpnConnection"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnConnectionPut:
          parameters:
            VpnConnectionParameters:
              properties:
                remoteVpnSite:
                  id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                sharedKey: key
            api-version: 2018-04-01
            connectionName: vpnConnection1
            gatewayName: gateway1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                name: vpnConnection1
                properties:
                  connectionBandwidth: 100
                  connectionStatus: Connected
                  egressBytesTransferred: 0
                  enableBgp: false
                  ingressBytesTransferred: 0
                  ipsecPolicies: []
                  provisioningState: Succeeded
                  remoteVpnSite:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                  routingWeight: 0
                  sharedKey: key
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1
                name: vpnConnection1
                properties:
                  connectionBandwidth: 100
                  connectionStatus: Connected
                  egressBytesTransferred: 0
                  enableBgp: false
                  ingressBytesTransferred: 0
                  ipsecPolicies: []
                  provisioningState: Succeeded
                  remoteVpnSite:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                  routingWeight: 0
                  sharedKey: key
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites":
    get:
      description: Lists all the vpnSites in a resource group.
      operationId: VpnSites_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: The resource group name of the VpnSite.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of all the vpnSites in the resource group.
          schema:
            $ref: "#/definitions/ListVpnSitesResult"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnSiteListByResourceGroup:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                    location: West US
                    name: vpnSite1
                    properties:
                      addressSpace:
                        addressPrefixes:
                          - 10.0.0.0/16
                      bgpProperties:
                        asn: 1234
                        bgpPeeringAddress: 192.168.0.0
                      deviceProperties:
                        deviceModel: model01
                        deviceVendor: vendor1
                        linkSpeedInMbps: 200
                      ipAddress: 10.0.0.0
                      provisioningState: Succeeded
                      virtualWAN: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                    tags:
                      key1: value1
                    type: Microsoft.Network/vpnSites
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2
                    location: West US
                    name: vpnSite2
                    properties:
                      addressSpace:
                        addressPrefixes:
                          - 10.0.0.0/16
                      bgpProperties:
                        asn: 1234
                        bgpPeeringAddress: 192.168.0.0
                      deviceProperties:
                        deviceModel: model01
                        deviceVendor: vendor1
                        linkSpeedInMbps: 200
                      ipAddress: 10.1.0.0
                      provisioningState: Succeeded
                      virtualWAN: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                    tags:
                      key1: value1
                    type: Microsoft.Network/vpnSites
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}":
    delete:
      description: Deletes a VpnSite.
      operationId: VpnSites_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: The resource group name of the VpnSite.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VpnSite being deleted.
          in: path
          name: vpnSiteName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. VpnSite deleted.
        "202":
          description: Request received successfully. VpnSite deletion is in progress
        "204":
          description: No VpnSites exist by the name provided.
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnSiteDelete:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
            vpnSiteName: vpnSite1
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Retrieves the details of a VPN site.
      operationId: VpnSites_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: The resource group name of the VpnSite.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VpnSite being retrieved.
          in: path
          name: vpnSiteName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: Request successful. Returns the details of the VpnSite retrieved.
          schema:
            $ref: "#/definitions/VpnSite"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnSiteGet:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
            vpnSiteName: vpnSite1
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                location: West US
                name: vpnSite1
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  bgpProperties:
                    asn: 1234
                    bgpPeeringAddress: 192.168.0.0
                  deviceProperties:
                    deviceModel: model01
                    deviceVendor: vendor1
                    linkSpeedInMbps: 200
                  ipAddress: 10.0.0.0
                  provisioningState: Succeeded
                  virtualWAN: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                tags:
                  key1: value1
                type: Microsoft.Network/vpnSites
    patch:
      description: Updates VpnSite tags.
      operationId: VpnSites_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: The resource group name of the VpnSite.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VpnSite being updated.
          in: path
          name: vpnSiteName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Parameters supplied to update VpnSite tags.
          in: body
          name: VpnSiteParameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
      responses:
        "200":
          description: Request successful. Returns the details of the VpnSite updated.
          schema:
            $ref: "#/definitions/VpnSite"
        "201":
          description: Request received successfully. Returns the details of the VpnSite updated.
          schema:
            $ref: "#/definitions/VpnSite"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      tags:
        - VpnSites
      x-ms-examples:
        VpnSiteUpdate:
          parameters:
            VpnSiteParameters:
              tags:
                key1: value1
                key2: value2
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
            vpnSiteName: vpnSite1
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                location: West US
                name: vpnSite1
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  bgpProperties:
                    asn: 1234
                    bgpPeeringAddress: 192.168.0.0
                  deviceProperties:
                    deviceModel: model01
                    deviceVendor: vendor1
                    linkSpeedInMbps: 200
                  ipAddress: 10.0.0.0
                  provisioningState: Succeeded
                  virtualWAN: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/vpnSites
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                location: West US
                name: vpnSite1
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  bgpProperties:
                    asn: 1234
                    bgpPeeringAddress: 192.168.0.0
                  deviceProperties:
                    deviceModel: model01
                    deviceVendor: vendor1
                    linkSpeedInMbps: 200
                  ipAddress: 10.0.0.0
                  provisioningState: Succeeded
                  virtualWAN: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/vpnSites
      x-ms-long-running-operation: true
    put:
      description: Creates a VpnSite resource if it doesn't exist else updates the existing VpnSite.
      operationId: VpnSites_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: The resource group name of the VpnSite.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the VpnSite being created or updated.
          in: path
          name: vpnSiteName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: Parameters supplied to create or update VpnSite.
          in: body
          name: VpnSiteParameters
          required: true
          schema:
            $ref: "#/definitions/VpnSite"
      responses:
        "200":
          description: Request successful. Returns the details of the VpnSite created or updated.
          schema:
            $ref: "#/definitions/VpnSite"
        "201":
          description: Request received successfully. Returns the details of the VpnSite created or updated.
          schema:
            $ref: "#/definitions/VpnSite"
        default:
          description: Error
          schema:
            properties:
              code:
                type: string
              details:
                items:
                  properties:
                    code:
                      type: string
                    message:
                      type: string
                    target:
                      type: string
                type: array
              innerError:
                type: string
              message:
                type: string
              target:
                type: string
      x-ms-examples:
        VpnSiteCreate:
          parameters:
            VpnSiteParameters:
              location: West US
              properties:
                addressSpace:
                  addressPrefixes:
                    - 10.0.0.0/16
                bgpProperties:
                  asn: 1234
                  bgpPeeringAddress: 192.168.0.0
                deviceProperties:
                  deviceModel: model01
                  deviceVendor: vendor1
                  linkSpeedInMbps: 200
                ipAddress: 10.0.0.0
                virtualWAN: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/VirtualWans/virtualWan1
              tags:
                key1: value1
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
            vpnSiteName: vpnSite1
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                location: West US
                name: vpnSite1
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  bgpProperties:
                    asn: 1234
                    bgpPeeringAddress: 192.168.0.0
                  deviceProperties:
                    deviceModel: model01
                    deviceVendor: vendor1
                    linkSpeedInMbps: 200
                  ipAddress: 10.1.0.0
                  provisioningState: Succeeded
                  virtualWAN: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/VirtualWans/virtualWan1
                tags:
                  key1: value1
                type: Microsoft.Network/vpnSites
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1
                location: West US
                name: vpnSite1
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  bgpProperties:
                    asn: 1234
                    bgpPeeringAddress: 192.168.0.0
                  deviceProperties:
                    deviceModel: model01
                    deviceVendor: vendor1
                    linkSpeedInMbps: 200
                  ipAddress: 10.1.0.0
                  provisioningState: Succeeded
                  virtualWAN: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/VirtualWans/virtualWan1
                tags:
                  key1: value1
                type: Microsoft.Network/vpnSites
      x-ms-long-running-operation: true
definitions:
  DeviceProperties:
    description: List of properties of the device.
    properties:
      deviceModel:
        description: Model of the device.
        type: string
      deviceVendor:
        description: Name of the device Vendor.
        type: string
      linkSpeedInMbps:
        description: Link speed.
        format: int32
        type: integer
  GetVpnSitesConfigurationRequest:
    description: List of Vpn-Sites
    properties:
      outputBlobSasUrl:
        description: The sas-url to download the configurations for vpn-sites
        type: string
      vpnSites:
        description: List of resource-ids of the vpn-sites for which config is to be downloaded.
        items:
          description: Reference to another subresource.
          properties:
            id:
              description: Resource ID.
              type: string
          x-ms-azure-resource: true
        type: array
  HubVirtualNetworkConnection:
    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: HubVirtualNetworkConnection Resource.
    properties:
      etag:
        description: Gets a unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/HubVirtualNetworkConnectionProperties"
        x-ms-client-flatten: true
  HubVirtualNetworkConnectionProperties:
    description: Parameters for HubVirtualNetworkConnection
    properties:
      allowHubToRemoteVnetTransit:
        description: VirtualHub to RemoteVnet transit to enabled or not.
        type: boolean
      allowRemoteVnetToUseHubVnetGateways:
        description: Allow RemoteVnet to use Virtual Hub's gateways.
        type: boolean
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: The provisioning state of the resource.
      remoteVirtualNetwork:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
  HubVirtualNetworkConnectionStatus:
    description: The current state of the VirtualHub to vnet connection.
    enum:
      - Unknown
      - Connecting
      - Connected
      - NotConnected
    readOnly: true
    type: string
    x-ms-enum:
      modelAsString: true
      name: HubVirtualNetworkConnectionStatus
  ListHubVirtualNetworkConnectionsResult:
    description: List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        type: string
      value:
        description: List of HubVirtualNetworkConnections.
        items:
          $ref: "#/definitions/HubVirtualNetworkConnection"
        type: array
  ListVirtualHubsResult:
    description: Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        type: string
      value:
        description: List of VirtualHubs.
        items:
          $ref: "#/definitions/VirtualHub"
        type: array
  ListVirtualWANsResult:
    description: Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        type: string
      value:
        description: List of VirtualWANs.
        items:
          $ref: "#/definitions/VirtualWAN"
        type: array
  ListVpnConnectionsResult:
    description: Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        type: string
      value:
        description: List of Vpn Connections.
        items:
          $ref: "#/definitions/VpnConnection"
        type: array
  ListVpnGatewaysResult:
    description: Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        type: string
      value:
        description: List of VpnGateways.
        items:
          $ref: "#/definitions/VpnGateway"
        type: array
  ListVpnSitesResult:
    description: Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        type: string
      value:
        description: List of VpnSites.
        items:
          $ref: "#/definitions/VpnSite"
        type: array
  Policies:
    description: Policies for vpn gateway.
    properties:
      allowBranchToBranchTraffic:
        description: True if branch to branch traffic is allowed.
        type: boolean
      allowVnetToVnetTraffic:
        description: True if Vnet to Vnet traffic is allowed.
        type: boolean
  ProvisioningState:
    description: The current provisioning state.
    enum:
      - Succeeded
      - Updating
      - Deleting
      - Failed
    readOnly: true
    type: string
    x-ms-enum:
      modelAsString: true
      name: ProvisioningState
  TunnelConnectionStatus:
    description: The current state of the tunnel.
    enum:
      - Unknown
      - Connecting
      - Connected
      - NotConnected
    readOnly: true
    type: string
    x-ms-enum:
      modelAsString: true
      name: tunnelConnectionStatus
  VirtualHub:
    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: VirtualHub Resource.
    properties:
      etag:
        description: Gets a unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/VirtualHubProperties"
        x-ms-client-flatten: true
    required:
      - location
  VirtualHubProperties:
    description: Parameters for VirtualHub
    properties:
      addressPrefix:
        description: Address-prefix for this VirtualHub.
        type: string
      hubVirtualNetworkConnections:
        description: list of all vnet connections with this VirtualHub.
        items:
          $ref: "#/definitions/HubVirtualNetworkConnection"
        type: array
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: The provisioning state of the resource.
      virtualWan:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
  VirtualWAN:
    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: VirtualWAN Resource.
    properties:
      etag:
        description: Gets a unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/VirtualWanProperties"
        x-ms-client-flatten: true
    required:
      - location
  VirtualWanProperties:
    description: Parameters for VirtualWAN
    properties:
      disableVpnEncryption:
        description: Vpn encryption to be disabled or not.
        type: boolean
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: The provisioning state of the resource.
      virtualHubs:
        description: List of VirtualHubs in the VirtualWAN.
        items:
          description: Reference to another subresource.
          properties:
            id:
              description: Resource ID.
              type: string
          x-ms-azure-resource: true
        readOnly: true
        type: array
      vpnSites:
        items:
          description: Reference to another subresource.
          properties:
            id:
              description: Resource ID.
              type: string
          x-ms-azure-resource: true
        readOnly: true
        type: array
  VpnConnection:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: VpnConnection Resource.
    properties:
      etag:
        description: Gets a unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      name:
        description: The 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/VpnConnectionProperties"
        x-ms-client-flatten: true
  VpnConnectionProperties:
    description: Parameters for VpnConnection
    properties:
      connectionBandwidth:
        description: Expected bandwidth in MBPS.
        format: int32
        readOnly: true
        type: integer
      connectionStatus:
        $ref: "#/definitions/VpnConnectionStatus"
        description: The connection status.
      egressBytesTransferred:
        description: Egress bytes transferred.
        format: int64
        readOnly: true
        type: integer
      enableBgp:
        description: EnableBgp flag
        type: boolean
      ingressBytesTransferred:
        description: Ingress bytes transferred.
        format: int64
        readOnly: true
        type: integer
      ipsecPolicies:
        description: The IPSec Policies to be considered by this connection.
        items:
          description: An IPSec Policy configuration for a virtual network gateway connection
          properties:
            dhGroup:
              description: The DH Groups used in IKE Phase 1 for initial SA.
              enum:
                - None
                - DHGroup1
                - DHGroup2
                - DHGroup14
                - DHGroup2048
                - ECP256
                - ECP384
                - DHGroup24
              type: string
              x-ms-enum:
                modelAsString: true
                name: DhGroup
            ikeEncryption:
              description: The IKE encryption algorithm (IKE phase 2).
              enum:
                - DES
                - DES3
                - AES128
                - AES192
                - AES256
                - GCMAES256
                - GCMAES128
              type: string
              x-ms-enum:
                modelAsString: true
                name: IkeEncryption
            ikeIntegrity:
              description: The IKE integrity algorithm (IKE phase 2).
              enum:
                - MD5
                - SHA1
                - SHA256
                - SHA384
                - GCMAES256
                - GCMAES128
              type: string
              x-ms-enum:
                modelAsString: true
                name: IkeIntegrity
            ipsecEncryption:
              description: The IPSec encryption algorithm (IKE phase 1).
              enum:
                - None
                - DES
                - DES3
                - AES128
                - AES192
                - AES256
                - GCMAES128
                - GCMAES192
                - GCMAES256
              type: string
              x-ms-enum:
                modelAsString: true
                name: IpsecEncryption
            ipsecIntegrity:
              description: The IPSec integrity algorithm (IKE phase 1).
              enum:
                - MD5
                - SHA1
                - SHA256
                - GCMAES128
                - GCMAES192
                - GCMAES256
              type: string
              x-ms-enum:
                modelAsString: true
                name: IpsecIntegrity
            pfsGroup:
              description: The Pfs Groups used in IKE Phase 2 for new child SA.
              enum:
                - None
                - PFS1
                - PFS2
                - PFS2048
                - ECP256
                - ECP384
                - PFS24
                - PFS14
                - PFSMM
              type: string
              x-ms-enum:
                modelAsString: true
                name: PfsGroup
            saDataSizeKilobytes:
              description: The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel.
              format: int32
              type: integer
            saLifeTimeSeconds:
              description: The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel.
              format: int32
              type: integer
          required:
            - saLifeTimeSeconds
            - saDataSizeKilobytes
            - ipsecEncryption
            - ipsecIntegrity
            - ikeEncryption
            - ikeIntegrity
            - dhGroup
            - pfsGroup
        type: array
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: The provisioning state of the resource.
      remoteVpnSite:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
      routingWeight:
        description: routing weight for vpn connection.
        format: int32
        type: integer
      sharedKey:
        description: SharedKey for the vpn connection.
        type: string
  VpnConnectionStatus:
    description: The current state of the vpn connection.
    enum:
      - Unknown
      - Connecting
      - Connected
      - NotConnected
    readOnly: true
    type: string
    x-ms-enum:
      modelAsString: true
      name: vpnConnectionStatus
  VpnGateway:
    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: VpnGateway Resource.
    properties:
      etag:
        description: Gets a unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/VpnGatewayProperties"
        x-ms-client-flatten: true
    required:
      - location
  VpnGatewayProperties:
    description: Parameters for VpnGateway
    properties:
      bgpSettings:
        description: BGP settings details
        properties:
          asn:
            description: The BGP speaker's ASN.
            format: int64
            type: integer
          bgpPeeringAddress:
            description: The BGP peering address and BGP identifier of this BGP speaker.
            type: string
          peerWeight:
            description: The weight added to routes learned from this BGP speaker.
            format: int32
            type: integer
      connections:
        description: list of all vpn connections to the gateway.
        items:
          $ref: "#/definitions/VpnConnection"
        type: array
      policies:
        $ref: "#/definitions/Policies"
        description: The policies applied to this vpn gateway.
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: The provisioning state of the resource.
      virtualHub:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
  VpnSite:
    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: VpnSite Resource.
    properties:
      etag:
        description: Gets a unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/VpnSiteProperties"
        x-ms-client-flatten: true
    required:
      - location
  VpnSiteId:
    description: VpnSite Resource.
    properties:
      vpnSite:
        description: The resource-uri of the vpn-site for which config is to be fetched.
        readOnly: true
        type: string
  VpnSiteProperties:
    description: Parameters for VpnSite
    properties:
      addressSpace:
        description: AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network.
        properties:
          addressPrefixes:
            description: A list of address blocks reserved for this virtual network in CIDR notation.
            items:
              type: string
            type: array
      bgpProperties:
        description: BGP settings details
        properties:
          asn:
            description: The BGP speaker's ASN.
            format: int64
            type: integer
          bgpPeeringAddress:
            description: The BGP peering address and BGP identifier of this BGP speaker.
            type: string
          peerWeight:
            description: The weight added to routes learned from this BGP speaker.
            format: int32
            type: integer
      deviceProperties:
        $ref: "#/definitions/DeviceProperties"
        description: The device properties
      ipAddress:
        description: The ip-address for the vpn-site.
        type: string
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: The provisioning state of the resource.
      siteKey:
        description: The key for vpn-site that can be used for connections.
        type: string
      virtualWAN:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
  access:
    description: Access to be allowed or denied.
    enum:
      - Allow
      - Deny
    type: string
    x-ms-enum:
      modelAsString: true
      name: access
  disableVpnEncryption:
    description: Vpn encryption to be disabled or not.
    type: boolean
