swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.
  title: NetworkManagementClient
  version: 2019-08-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualNetwork.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: network-virtualNetwork
  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/virtualNetworks":
    get:
      description: Gets all virtual networks in a subscription.
      operationId: VirtualNetworks_ListAll
      parameters:
        - 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. The operation returns a list of VirtualNetwork resources.
          schema:
            $ref: "#/definitions/VirtualNetworkListResult"
      tags:
        - VirtualNetworks
      x-ms-examples:
        List all virtual networks:
          parameters:
            api-version: 2019-08-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1
                    location: westus
                    name: vnet1
                    properties:
                      addressSpace:
                        addressPrefixes:
                          - 10.0.0.0/8
                      dhcpOptions:
                        dnsServers: []
                      provisioningState: Succeeded
                      subnets:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1
                          name: test-1
                          properties:
                            addressPrefix: 10.0.0.0/24
                            provisioningState: Succeeded
                      virtualNetworkPeerings: []
                    type: Microsoft.Network/virtualNetworks
                  - id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2
                    location: westus
                    name: vnet2
                    properties:
                      addressSpace:
                        addressPrefixes:
                          - 10.0.0.0/16
                      dhcpOptions:
                        dnsServers:
                          - 8.8.8.8
                      provisioningState: Succeeded
                      subnets: []
                      virtualNetworkPeerings: []
                    type: Microsoft.Network/virtualNetworks
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks":
    get:
      description: Gets all virtual networks in a resource group.
      operationId: VirtualNetworks_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          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. The operation returns a list of VirtualNetwork resources.
          schema:
            $ref: "#/definitions/VirtualNetworkListResult"
      tags:
        - VirtualNetworks
      x-ms-examples:
        List virtual networks in resource group:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1
                    location: westus
                    name: vnet1
                    properties:
                      addressSpace:
                        addressPrefixes:
                          - 10.0.0.0/8
                      dhcpOptions:
                        dnsServers: []
                      provisioningState: Succeeded
                      subnets:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1
                          name: test-1
                          properties:
                            addressPrefix: 10.0.0.0/24
                            provisioningState: Succeeded
                      virtualNetworkPeerings: []
                    type: Microsoft.Network/virtualNetworks
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2
                    location: westus
                    name: vnet2
                    properties:
                      addressSpace:
                        addressPrefixes:
                          - 10.0.0.0/16
                      dhcpOptions:
                        dnsServers:
                          - 8.8.8.8
                      provisioningState: Succeeded
                      subnets: []
                      virtualNetworkPeerings: []
                    type: Microsoft.Network/virtualNetworks
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}":
    delete:
      description: Deletes the specified virtual network.
      operationId: VirtualNetworks_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          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: Delete successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: Delete successful.
      tags:
        - VirtualNetworks
      x-ms-examples:
        Delete virtual network:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: rg1
            subscriptionId: subid
            virtualNetworkName: test-vnet
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
    get:
      description: Gets the specified virtual network by resource group.
      operationId: VirtualNetworks_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          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
        - description: Expands referenced resources.
          in: query
          name: $expand
          required: false
          type: string
      responses:
        "200":
          description: Request successful. The operation returns the resulting VirtualNetwork resource.
          schema:
            $ref: "#/definitions/VirtualNetwork"
      tags:
        - VirtualNetworks
      x-ms-examples:
        Get virtual network:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: rg1
            subscriptionId: subid
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: westus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                      name: subnet1
                      properties:
                        addressPrefix: 10.0.1.0/24
                        ipConfigurations:
                          - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe
                        provisioningState: Succeeded
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
        Get virtual network with a delegated subnet:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: rg1
            subscriptionId: subId
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: westus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                      name: subnet1
                      properties:
                        addressPrefix: 10.0.1.0/24
                        delegations:
                          - id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation
                            name: myDelegation
                            properties:
                              actions: []
                              provisioningState: Succeeded
                              serviceName: Microsoft.Provider/resourceType
                        ipConfigurations:
                          - id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe
                        provisioningState: Succeeded
                        purpose: ""
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
        Get virtual network with service association links:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: rg1
            subscriptionId: subId
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: westus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - etag: W/"4d3e91b4-f67f-48be-880b-e4a8abdd019e"
                      id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1
                      name: subnet1
                      properties:
                        addressPrefix: 10.0.214.0/24
                        delegations:
                          - etag: W/"4d3e91b4-f67f-48be-880b-e4a8abdd019e"
                            id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/aciDelegation
                            name: aciDelegation
                            properties:
                              actions:
                                - Microsoft.Network/virtualNetworks/subnets/action
                              provisioningState: Succeeded
                              serviceName: Microsoft.Provider/resourceType
                        ipConfigurationProfiles:
                          - id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1
                        provisioningState: Succeeded
                        serviceAssociationLinks:
                          - etag: W/"4d3e91b4-f67f-48be-880b-e4a8abdd019e"
                            id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/serviceAssociationLinks/serviceAssociationLink1
                            name: serviceAssociationLink1
                            properties:
                              linkedResourceType: Microsoft.Provider/resourceType
                              provisioningState: Succeeded
                        serviceEndpoints: []
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
    patch:
      description: Updates a virtual network tags.
      operationId: VirtualNetworks_UpdateTags
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: Parameters supplied to update virtual network tags.
          in: body
          name: parameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
        - 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: Update successful. The operation returns the resulting VirtualNetwork resource.
          schema:
            $ref: "#/definitions/VirtualNetwork"
      tags:
        - VirtualNetworks
      x-ms-examples:
        Update virtual network tags:
          parameters:
            api-version: 2019-08-01
            location: westus
            parameters:
              tags:
                tag1: value1
                tag2: value2
            resourceGroupName: rg1
            subscriptionId: subid
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: westus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets: []
                  virtualNetworkPeerings: []
                tags:
                  tag1: value1
                  tag2: value2
                type: Microsoft.Network/virtualNetworks
      x-ms-long-running-operation: true
    put:
      description: Creates or updates a virtual network in the specified resource group.
      operationId: VirtualNetworks_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: Parameters supplied to the create or update virtual network operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/VirtualNetwork"
        - 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: Update successful. The operation returns the resulting VirtualNetwork resource.
          schema:
            $ref: "#/definitions/VirtualNetwork"
        "201":
          description: Create successful. The operation returns the resulting VirtualNetwork resource.
          schema:
            $ref: "#/definitions/VirtualNetwork"
      tags:
        - VirtualNetworks
      x-ms-examples:
        Create virtual network:
          parameters:
            api-version: 2019-08-01
            parameters:
              location: eastus
              properties:
                addressSpace:
                  addressPrefixes:
                    - 10.0.0.0/16
            resourceGroupName: rg1
            subscriptionId: subid
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: eastus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets: []
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: eastus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets: []
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
        Create virtual network with Bgp Communities:
          parameters:
            api-version: 2019-08-01
            parameters:
              location: eastus
              properties:
                addressSpace:
                  addressPrefixes:
                    - 10.0.0.0/16
                bgpCommunities:
                  virtualNetworkCommunity: 12076:60000
                subnets:
                  - name: test-1
                    properties:
                      addressPrefix: 10.0.0.0/24
            resourceGroupName: rg1
            subscriptionId: subid
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: eastus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  bgpCommunities:
                    regionalCommunity: 12076:51004
                    virtualNetworkCommunity: 12076:60000
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/24
                        provisioningState: Succeeded
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: eastus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  bgpCommunities:
                    regionalCommunity: 12076:51004
                    virtualNetworkCommunity: 12076:60000
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/24
                        provisioningState: Succeeded
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
        Create virtual network with delegated subnets:
          parameters:
            api-version: 2019-08-01
            parameters:
              location: westcentralus
              properties:
                addressSpace:
                  addressPrefixes:
                    - 10.0.0.0/16
                subnets:
                  - name: test-1
                    properties:
                      addressPrefix: 10.0.0.0/24
                      delegations:
                        - name: myDelegation
                          properties:
                            serviceName: Microsoft.Sql/managedInstances
            resourceGroupName: rg1
            subscriptionId: subId
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: westcentralus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/24
                        delegations:
                          - id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation
                            name: myDelegation
                            properties:
                              actions: []
                              provisioningState: Succeeded
                              serviceName: Microsoft.Sql/managedInstances
                        provisioningState: Succeeded
                        purpose: ""
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
            "201":
              body:
                id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: westcentralus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/24
                        delegations:
                          - id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation
                            name: myDelegation
                            properties:
                              actions: []
                              provisioningState: Succeeded
                              serviceName: Microsoft.Sql/managedInstances
                        provisioningState: Succeeded
                        purpose: ""
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
        Create virtual network with service endpoints:
          parameters:
            api-version: 2019-08-01
            parameters:
              location: eastus
              properties:
                addressSpace:
                  addressPrefixes:
                    - 10.0.0.0/16
                subnets:
                  - name: test-1
                    properties:
                      addressPrefix: 10.0.0.0/16
                      serviceEndpoints:
                        - service: Microsoft.Storage
            resourceGroupName: vnetTest
            subscriptionId: subid
            virtualNetworkName: vnet1
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1
                location: eastus
                name: vnet1
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/16
                        ipConfigurations: []
                        provisioningState: Succeeded
                        resourceNavigationLinks: []
                        serviceEndpoints:
                          - locations:
                              - eastus2(stage)
                              - usnorth(stage)
                            provisioningState: Succeeded
                            service: Microsoft.Storage
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1
                location: eastus
                name: vnet1
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/16
                        ipConfigurations: []
                        provisioningState: Succeeded
                        resourceNavigationLinks: []
                        serviceEndpoints:
                          - locations:
                              - eastus2(stage)
                              - usnorth(stage)
                            provisioningState: Succeeded
                            service: Microsoft.Storage
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
        Create virtual network with service endpoints and service endpoint policy:
          parameters:
            api-version: 2019-08-01
            parameters:
              location: eastus2euap
              properties:
                addressSpace:
                  addressPrefixes:
                    - 10.0.0.0/16
                subnets:
                  - name: test-1
                    properties:
                      addressPrefix: 10.0.0.0/16
                      serviceEndpointPolicies:
                        - id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1
                      serviceEndpoints:
                        - service: Microsoft.Storage
            resourceGroupName: vnetTest
            subscriptionId: subid
            virtualNetworkName: vnet1
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1
                location: eastus2euap
                name: vnet1
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/16
                        ipConfigurations: []
                        provisioningState: Succeeded
                        resourceNavigationLinks: []
                        serviceEndpointPolicies:
                          - id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1
                        serviceEndpoints:
                          - locations:
                              - eastus2(stage)
                              - usnorth(stage)
                            provisioningState: Succeeded
                            service: Microsoft.Storage
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1
                location: eastus2euap
                name: vnet1
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/16
                        ipConfigurations: []
                        provisioningState: Succeeded
                        resourceNavigationLinks: []
                        serviceEndpointPolicies:
                          - id: /subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/serviceEndpointPolicies/ServiceEndpointPolicy1
                        serviceEndpoints:
                          - locations:
                              - eastus2(stage)
                              - usnorth(stage)
                            provisioningState: Succeeded
                            service: Microsoft.Storage
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
        Create virtual network with subnet:
          parameters:
            api-version: 2019-08-01
            parameters:
              location: eastus
              properties:
                addressSpace:
                  addressPrefixes:
                    - 10.0.0.0/16
                subnets:
                  - name: test-1
                    properties:
                      addressPrefix: 10.0.0.0/24
            resourceGroupName: rg1
            subscriptionId: subid
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: eastus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/24
                        provisioningState: Succeeded
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: eastus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1
                      name: test-1
                      properties:
                        addressPrefix: 10.0.0.0/24
                        provisioningState: Succeeded
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
        Create virtual network with subnet containing address prefixes:
          parameters:
            api-version: 2019-08-01
            parameters:
              location: eastus
              properties:
                addressSpace:
                  addressPrefixes:
                    - 10.0.0.0/16
                subnets:
                  - name: test-2
                    properties:
                      addressPrefixes:
                        - 10.0.0.0/28
                        - 10.0.1.0/28
            resourceGroupName: rg1
            subscriptionId: subid
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: eastus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-2
                      name: test-2
                      properties:
                        addressPrefixes:
                          - 10.0.0.0/28
                          - 10.1.0.0/28
                        provisioningState: Succeeded
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                location: eastus
                name: test-vnet
                properties:
                  addressSpace:
                    addressPrefixes:
                      - 10.0.0.0/16
                  provisioningState: Succeeded
                  subnets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-2
                      name: test-2
                      properties:
                        addressPrefixes:
                          - 10.0.0.0/28
                          - 10.0.1.0/28
                        provisioningState: Succeeded
                  virtualNetworkPeerings: []
                type: Microsoft.Network/virtualNetworks
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability":
    get:
      description: Checks whether a private IP address is available for use.
      operationId: VirtualNetworks_CheckIPAddressAvailability
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The private IP address to be verified.
          in: query
          name: ipAddress
          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: Private IP address availability and list of other free addresses if the requested one is not available.
          schema:
            $ref: "#/definitions/IPAddressAvailabilityResult"
      x-ms-examples:
        Check IP address availability:
          parameters:
            api-version: 2019-08-01
            ipAddress: 10.0.1.4
            resourceGroupName: rg1
            subscriptionId: subid
            virtualNetworkName: test-vnet
          responses:
            "200":
              body:
                available: false
                availableIPAddresses:
                  - 10.0.1.5
                  - 10.0.1.6
                  - 10.0.1.7
                  - 10.0.1.8
                  - 10.0.1.9
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets":
    get:
      description: Gets all subnets in a virtual network.
      operationId: Subnets_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          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. The operation returns a list of Subnet resources.
          schema:
            $ref: "#/definitions/SubnetListResult"
      tags:
        - Subnets
      x-ms-examples:
        List subnets:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: subnet-test
            subscriptionId: subid
            virtualNetworkName: vnetname
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1
                    name: subnet1
                    properties:
                      addressPrefix: 10.0.0.0/16
                      provisioningState: Succeeded
                  - id: /subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet2
                    name: subnet2
                    properties:
                      addressPrefix: 10.0.0.0/16
                      provisioningState: Succeeded
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}":
    delete:
      description: Deletes the specified subnet.
      operationId: Subnets_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the subnet.
          in: path
          name: subnetName
          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: Delete successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: Request successful. Resource does not exist.
      tags:
        - Subnets
      x-ms-examples:
        Delete subnet:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: subnet-test
            subnetName: subnet1
            subscriptionId: subid
            virtualNetworkName: vnetname
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
    get:
      description: Gets the specified subnet by virtual network and resource group.
      operationId: Subnets_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the subnet.
          in: path
          name: subnetName
          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
        - description: Expands referenced resources.
          in: query
          name: $expand
          required: false
          type: string
      responses:
        "200":
          description: Request successful. The operation returns the resulting Subnet resource.
          schema:
            $ref: "#/definitions/Subnet"
      tags:
        - Subnets
      x-ms-examples:
        Get subnet:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: subnet-test
            subnetName: subnet1
            subscriptionId: subid
            virtualNetworkName: vnetname
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1
                name: subnet1
                properties:
                  addressPrefix: 10.0.0.0/16
                  provisioningState: Succeeded
        Get subnet with a delegation:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: subnet-test
            subnetName: subnet1
            subscriptionId: subId
            virtualNetworkName: vnetname
          responses:
            "200":
              body:
                id: /subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1
                name: subnet1
                properties:
                  addressPrefix: 10.0.0.0/16
                  delegations:
                    - id: /subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation
                      name: myDelegation
                      properties:
                        actions: []
                        provisioningState: Succeeded
                        serviceName: Microsoft.Provider/resourceType
                  provisioningState: Succeeded
                  purpose: ""
    put:
      description: Creates or updates a subnet in the specified virtual network.
      operationId: Subnets_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the subnet.
          in: path
          name: subnetName
          required: true
          type: string
        - description: Parameters supplied to the create or update subnet operation.
          in: body
          name: subnetParameters
          required: true
          schema:
            $ref: "#/definitions/Subnet"
        - 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: Update successful. The operation returns the resulting Subnet resource.
          schema:
            $ref: "#/definitions/Subnet"
        "201":
          description: Create successful. The operation returns the resulting Subnet resource.
          schema:
            $ref: "#/definitions/Subnet"
      tags:
        - Subnets
      x-ms-examples:
        Create subnet:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: subnet-test
            subnetName: subnet1
            subnetParameters:
              properties:
                addressPrefix: 10.0.0.0/16
            subscriptionId: subid
            virtualNetworkName: vnetname
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1
                name: subnet1
                properties:
                  addressPrefix: 10.0.0.0/16
                  provisioningState: Succeeded
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1
                name: subnet1
                properties:
                  addressPrefix: 10.0.0.0/16
                  provisioningState: Succeeded
        Create subnet with a delegation:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: subnet-test
            subnetName: subnet1
            subnetParameters:
              properties:
                addressPrefix: 10.0.0.0/16
            subscriptionId: subId
            virtualNetworkName: vnetname
          responses:
            "200":
              body:
                id: /subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1
                name: subnet1
                properties:
                  addressPrefix: 10.0.0.0/16
                  delegations:
                    - id: /subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation
                      name: myDelegation
                      properties:
                        actions: []
                        provisioningState: Succeeded
                        serviceName: Microsoft.Provider/resourceType
                  provisioningState: Succeeded
                  purpose: ""
            "201":
              body:
                id: /subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1
                name: subnet1
                properties:
                  addressPrefix: 10.0.0.0/16
                  delegations:
                    - id: /subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation
                      name: myDelegation
                      properties:
                        actions: []
                        provisioningState: Succeeded
                        serviceName: Microsoft.Provider/resourceType
                  provisioningState: Succeeded
                  purpose: ""
        Create subnet with service endpoints:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: subnet-test
            subnetName: subnet1
            subnetParameters:
              properties:
                addressPrefix: 10.0.0.0/16
                serviceEndpoints:
                  - service: Microsoft.Storage
            subscriptionId: subid
            virtualNetworkName: vnetname
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1
                name: subnet1
                properties:
                  addressPrefix: 10.0.0.0/16
                  provisioningState: Succeeded
                  serviceEndpoints:
                    - locations:
                        - eastus2(stage)
                        - usnorth(stage)
                      provisioningState: Succeeded
                      service: Microsoft.Storage
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1
                name: subnet1
                properties:
                  addressPrefix: 10.0.0.0/16
                  provisioningState: Succeeded
                  serviceEndpoints:
                    - locations:
                        - eastus2(stage)
                        - usnorth(stage)
                      provisioningState: Succeeded
                      service: Microsoft.Storage
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies":
    post:
      description: Prepares a subnet by applying network intent policies.
      operationId: Subnets_PrepareNetworkPolicies
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the subnet.
          in: path
          name: subnetName
          required: true
          type: string
        - description: Parameters supplied to prepare subnet by applying network intent policies.
          in: body
          name: prepareNetworkPoliciesRequestParameters
          required: true
          schema:
            $ref: "#/definitions/PrepareNetworkPoliciesRequest"
        - 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: Preparing subnet by applying network intent policies is successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
      x-ms-examples:
        Prepare Network Policies:
          parameters:
            api-version: 2019-08-01
            prepareNetworkPoliciesRequestParameters:
              serviceName: Microsoft.Sql/managedInstances
            resourceGroupName: rg1
            subnetName: subnet1
            subscriptionId: subid
            virtualNetworkName: test-vnet
          responses:
            "200": {}
            "202": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks":
    get:
      description: Gets a list of resource navigation links for a subnet.
      operationId: ResourceNavigationLinks_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the subnet.
          in: path
          name: subnetName
          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. The operation returns a list of resource navigation links for the subnet.
          schema:
            $ref: "#/definitions/ResourceNavigationLinksListResult"
      x-ms-examples:
        Get Resource Navigation Links:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: rg1
            subnetName: subnet
            subscriptionId: subid
            virtualNetworkName: vnet
          responses:
            "200":
              body:
                value:
                  - etag: W/"00000000-0000-0000-0000-000000000000"
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/resourceNavigationLinks/redisCache_redis-tester
                    name: redisCache_redis-tester
                    properties:
                      link: /subscriptions/subid/resourceGroups/another-rg/providers/Microsoft.Cache/Redis/redis-tester
                      linkedResourceType: Microsoft.Cache/redis
                      provisioningState: Succeeded
                    type: Microsoft.Network/virtualNetworks/subnets/resourceNavigationLinks
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks":
    get:
      description: Gets a list of service association links for a subnet.
      operationId: ServiceAssociationLinks_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the subnet.
          in: path
          name: subnetName
          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. The operation returns a list of service association links for the subnet.
          schema:
            $ref: "#/definitions/ServiceAssociationLinksListResult"
      x-ms-examples:
        Get Service Association Links:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: rg1
            subnetName: subnet
            subscriptionId: subid
            virtualNetworkName: vnet
          responses:
            "200":
              body:
                value:
                  - etag: W/"00000000-0000-0000-0000-000000000000"
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet/serviceAssociationLinks/acisal
                    name: acisal
                    properties:
                      allowDelete: true
                      linkedResourceType: Microsoft.ContainerInstance/containerGroups
                      locations:
                        - westus
                      provisioningState: Succeeded
                    type: Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies":
    post:
      description: Unprepares a subnet by removing network intent policies.
      operationId: Subnets_UnprepareNetworkPolicies
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the subnet.
          in: path
          name: subnetName
          required: true
          type: string
        - description: Parameters supplied to unprepare subnet to remove network intent policies.
          in: body
          name: unprepareNetworkPoliciesRequestParameters
          required: true
          schema:
            $ref: "#/definitions/UnprepareNetworkPoliciesRequest"
        - 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: Unpreparing subnet by removing network intent policies is successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
      x-ms-examples:
        Unprepare Network Policies:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: rg1
            subnetName: subnet1
            subscriptionId: subid
            unprepareNetworkPoliciesRequestParameters:
              serviceName: Microsoft.Sql/managedInstances
            virtualNetworkName: test-vnet
          responses:
            "200": {}
            "202": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages":
    get:
      description: Lists usage stats.
      operationId: VirtualNetworks_ListUsage
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          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: Usage stats for vnet.
          schema:
            $ref: "#/definitions/VirtualNetworkListUsageResult"
      x-ms-examples:
        VnetGetUsage:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: rg1
            subscriptionId: subid
            virtualNetworkName: vnetName
          responses:
            "200":
              body:
                value:
                  - currentValue: -1
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/GatewaySubnet
                    limit: -1
                    name:
                      localizedValue: Subnet size and usage
                      value: SubnetSpace
                    unit: Count
                  - currentValue: 2
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetName/subnets/newSubnet
                    limit: 3
                    name:
                      localizedValue: Subnet size and usage
                      value: SubnetSpace
                    unit: Count
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings":
    get:
      description: Gets all virtual network peerings in a virtual network.
      operationId: VirtualNetworkPeerings_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          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. The operation returns a list of VirtualNetworkPeering resources.
          schema:
            $ref: "#/definitions/VirtualNetworkPeeringListResult"
      tags:
        - VirtualNetworkPeerings
      x-ms-examples:
        List peerings:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: peerTest
            subscriptionId: subid
            virtualNetworkName: vnet1
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer
                    name: peer
                    properties:
                      allowForwardedTraffic: true
                      allowGatewayTransit: false
                      allowVirtualNetworkAccess: true
                      peeringState: Initiated
                      provisioningState: Succeeded
                      remoteAddressSpace:
                        addressPrefixes:
                          - 12.0.0.0/8
                      remoteVirtualNetwork:
                        id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2
                      useRemoteGateways: false
                  - id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer2
                    name: peer
                    properties:
                      allowForwardedTraffic: false
                      allowGatewayTransit: false
                      allowVirtualNetworkAccess: true
                      peeringState: Initiated
                      provisioningState: Succeeded
                      remoteAddressSpace:
                        addressPrefixes:
                          - 13.0.0.0/8
                      remoteVirtualNetwork:
                        id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet3
                      useRemoteGateways: false
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}":
    delete:
      description: Deletes the specified virtual network peering.
      operationId: VirtualNetworkPeerings_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the virtual network peering.
          in: path
          name: virtualNetworkPeeringName
          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: Delete successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: Delete successful.
      tags:
        - VirtualNetworkPeerings
      x-ms-examples:
        Delete peering:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: peerTest
            subscriptionId: subid
            virtualNetworkName: vnet1
            virtualNetworkPeeringName: peer
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
    get:
      description: Gets the specified virtual network peering.
      operationId: VirtualNetworkPeerings_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the virtual network peering.
          in: path
          name: virtualNetworkPeeringName
          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. The operation returns the resulting VirtualNetworkPeering resource.
          schema:
            $ref: "#/definitions/VirtualNetworkPeering"
      tags:
        - VirtualNetworkPeerings
      x-ms-examples:
        Get peering:
          parameters:
            api-version: 2019-08-01
            resourceGroupName: peerTest
            subscriptionId: subid
            virtualNetworkName: vnet1
            virtualNetworkPeeringName: peer
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer
                name: peer
                properties:
                  allowForwardedTraffic: true
                  allowGatewayTransit: false
                  allowVirtualNetworkAccess: true
                  peeringState: Initiated
                  provisioningState: Succeeded
                  remoteAddressSpace:
                    addressPrefixes:
                      - 12.0.0.0/8
                  remoteVirtualNetwork:
                    id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2
                  useRemoteGateways: false
    put:
      description: Creates or updates a peering in the specified virtual network.
      operationId: VirtualNetworkPeerings_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network.
          in: path
          name: virtualNetworkName
          required: true
          type: string
        - description: The name of the peering.
          in: path
          name: virtualNetworkPeeringName
          required: true
          type: string
        - description: Parameters supplied to the create or update virtual network peering operation.
          in: body
          name: VirtualNetworkPeeringParameters
          required: true
          schema:
            $ref: "#/definitions/VirtualNetworkPeering"
        - 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: Update successful. The operation returns the resulting VirtualNetworkPeering resource.
          schema:
            $ref: "#/definitions/VirtualNetworkPeering"
        "201":
          description: Create successful. The operation returns the resulting VirtualNetworkPeering resource.
          schema:
            $ref: "#/definitions/VirtualNetworkPeering"
      tags:
        - VirtualNetworkPeerings
      x-ms-examples:
        Create peering:
          parameters:
            VirtualNetworkPeeringParameters:
              properties:
                allowForwardedTraffic: true
                allowGatewayTransit: false
                allowVirtualNetworkAccess: true
                remoteVirtualNetwork:
                  id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2
                useRemoteGateways: false
            api-version: 2019-08-01
            resourceGroupName: peerTest
            subscriptionId: subid
            virtualNetworkName: vnet1
            virtualNetworkPeeringName: peer
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer
                name: peer
                properties:
                  allowForwardedTraffic: true
                  allowGatewayTransit: false
                  allowVirtualNetworkAccess: true
                  peeringState: Initiated
                  provisioningState: Succeeded
                  remoteAddressSpace:
                    addressPrefixes:
                      - 12.0.0.0/8
                  remoteVirtualNetwork:
                    id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2
                  useRemoteGateways: false
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet1/virtualNetworkPeerings/peer
                name: peer
                properties:
                  allowForwardedTraffic: true
                  allowGatewayTransit: false
                  allowVirtualNetworkAccess: true
                  peeringState: Initiated
                  provisioningState: Succeeded
                  remoteAddressSpace:
                    addressPrefixes:
                      - 12.0.0.0/8
                  remoteVirtualNetwork:
                    id: /subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2
                  useRemoteGateways: false
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
definitions:
  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
  Delegation:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: Details the service to which the subnet is delegated.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: The name of the resource that is unique within a subnet. This name can be used to access the resource.
        type: string
      properties:
        description: Properties of a service delegation.
        properties:
          actions:
            description: Describes the actions permitted to the service upon delegation.
            items:
              type: string
            type: array
          provisioningState:
            description: The current provisioning state.
            enum:
              - Succeeded
              - Updating
              - Deleting
              - Failed
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: true
              name: ProvisioningState
          serviceName:
            description: The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).
            type: string
  DhcpOptions:
    description: DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options.
    properties:
      dnsServers:
        description: The list of DNS servers IP addresses.
        items:
          type: string
        type: array
  IPAddressAvailabilityResult:
    description: Response for CheckIPAddressAvailability API service call.
    properties:
      available:
        description: Private IP address availability.
        type: boolean
      availableIPAddresses:
        description: Contains other available private IP addresses if the asked for address is taken.
        items:
          type: string
        type: array
  NetworkIntentPolicy:
    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: Network Intent Policy resource.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
  NetworkIntentPolicyConfiguration:
    description: Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest.
    properties:
      networkIntentPolicyName:
        description: The name of the Network Intent Policy for storing in target subscription.
        type: string
      sourceNetworkIntentPolicy:
        $ref: "#/definitions/NetworkIntentPolicy"
        description: Source network intent policy.
  PrepareNetworkPoliciesRequest:
    description: Details of PrepareNetworkPolicies for Subnet.
    properties:
      networkIntentPolicyConfigurations:
        description: A list of NetworkIntentPolicyConfiguration.
        items:
          $ref: "#/definitions/NetworkIntentPolicyConfiguration"
        type: array
      serviceName:
        description: The name of the service for which subnet is being prepared for.
        type: string
  ResourceNavigationLink:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: ResourceNavigationLink resource.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      id:
        description: Resource navigation link identifier.
        readOnly: true
        type: string
      name:
        description: Name of the resource that is unique within a resource group. This name can be used to access the resource.
        type: string
      properties:
        description: Properties of ResourceNavigationLink.
        properties:
          link:
            description: Link to the external resource.
            type: string
          linkedResourceType:
            description: Resource type of the linked resource.
            type: string
          provisioningState:
            description: The current provisioning state.
            enum:
              - Succeeded
              - Updating
              - Deleting
              - Failed
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: true
              name: ProvisioningState
      type:
        description: Resource type.
        readOnly: true
        type: string
  ResourceNavigationLinkFormat:
    description: Properties of ResourceNavigationLink.
    properties:
      link:
        description: Link to the external resource.
        type: string
      linkedResourceType:
        description: Resource type of the linked resource.
        type: string
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
  ResourceNavigationLinksListResult:
    description: Response for ResourceNavigationLinks_List operation.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        readOnly: true
        type: string
      value:
        description: The resource navigation links in a subnet.
        items:
          $ref: "#/definitions/ResourceNavigationLink"
        type: array
  ServiceAssociationLink:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: ServiceAssociationLink resource.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      name:
        description: Name of the resource that is unique within a resource group. This name can be used to access the resource.
        type: string
      properties:
        description: Properties of ServiceAssociationLink.
        properties:
          allowDelete:
            description: If true, the resource can be deleted.
            type: boolean
          link:
            description: Link to the external resource.
            type: string
          linkedResourceType:
            description: Resource type of the linked resource.
            type: string
          locations:
            description: A list of locations.
            items:
              type: string
            type: array
          provisioningState:
            description: The current provisioning state.
            enum:
              - Succeeded
              - Updating
              - Deleting
              - Failed
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: true
              name: ProvisioningState
      type:
        description: Resource type.
        type: string
  ServiceAssociationLinkPropertiesFormat:
    description: Properties of ServiceAssociationLink.
    properties:
      allowDelete:
        description: If true, the resource can be deleted.
        type: boolean
      link:
        description: Link to the external resource.
        type: string
      linkedResourceType:
        description: Resource type of the linked resource.
        type: string
      locations:
        description: A list of locations.
        items:
          type: string
        type: array
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
  ServiceAssociationLinksListResult:
    description: Response for ServiceAssociationLinks_List operation.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        readOnly: true
        type: string
      value:
        description: The service association links in a subnet.
        items:
          $ref: "#/definitions/ServiceAssociationLink"
        type: array
  ServiceDelegationPropertiesFormat:
    description: Properties of a service delegation.
    properties:
      actions:
        description: Describes the actions permitted to the service upon delegation.
        items:
          type: string
        type: array
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      serviceName:
        description: The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).
        type: string
  ServiceEndpointPropertiesFormat:
    description: The service endpoint properties.
    properties:
      locations:
        description: A list of locations.
        items:
          type: string
        type: array
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      service:
        description: The type of the endpoint service.
        type: string
  Subnet:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: Subnet in a virtual network resource.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        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/SubnetPropertiesFormat"
        description: Properties of the subnet.
        x-ms-client-flatten: true
  SubnetListResult:
    description: Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        type: string
      value:
        description: The subnets in a virtual network.
        items:
          $ref: "#/definitions/Subnet"
        type: array
  SubnetPropertiesFormat:
    description: Properties of the subnet.
    properties:
      addressPrefix:
        description: The address prefix for the subnet.
        type: string
      addressPrefixes:
        description: List of address prefixes for the subnet.
        items:
          type: string
        type: array
      delegations:
        description: An array of references to the delegations on the subnet.
        items:
          allOf:
            - description: Reference to another subresource.
              properties:
                id:
                  description: Resource ID.
                  type: string
              x-ms-azure-resource: true
          description: Details the service to which the subnet is delegated.
          properties:
            etag:
              description: A unique read-only string that changes whenever the resource is updated.
              type: string
            name:
              description: The name of the resource that is unique within a subnet. This name can be used to access the resource.
              type: string
            properties:
              description: Properties of a service delegation.
              properties:
                actions:
                  description: Describes the actions permitted to the service upon delegation.
                  items:
                    type: string
                  type: array
                provisioningState:
                  description: The current provisioning state.
                  enum:
                    - Succeeded
                    - Updating
                    - Deleting
                    - Failed
                  readOnly: true
                  type: string
                  x-ms-enum:
                    modelAsString: true
                    name: ProvisioningState
                serviceName:
                  description: The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).
                  type: string
        type: array
      ipConfigurationProfiles:
        description: Array of IP configuration profiles which reference this subnet.
        items:
          $ref: ./networkProfile.json#/definitions/IPConfigurationProfile
        readOnly: true
        type: array
      ipConfigurations:
        description: An array of references to the network interface IP configurations using subnet.
        items:
          $ref: ./networkInterface.json#/definitions/IPConfiguration
        readOnly: true
        type: array
      natGateway:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
      networkSecurityGroup:
        $ref: ./networkSecurityGroup.json#/definitions/NetworkSecurityGroup
        description: The reference of the NetworkSecurityGroup resource.
      privateEndpointNetworkPolicies:
        description: Enable or Disable apply network policies on private end point in the subnet.
        type: string
      privateEndpoints:
        description: An array of references to private endpoints.
        items:
          $ref: ./privateEndpoint.json#/definitions/PrivateEndpoint
        readOnly: true
        type: array
      privateLinkServiceNetworkPolicies:
        description: Enable or Disable apply network policies on private link service in the subnet.
        type: string
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      purpose:
        description: A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties.
        readOnly: true
        type: string
      resourceNavigationLinks:
        description: An array of references to the external resources using subnet.
        items:
          allOf:
            - description: Reference to another subresource.
              properties:
                id:
                  description: Resource ID.
                  type: string
              x-ms-azure-resource: true
          description: ResourceNavigationLink resource.
          properties:
            etag:
              description: A unique read-only string that changes whenever the resource is updated.
              readOnly: true
              type: string
            id:
              description: Resource navigation link identifier.
              readOnly: true
              type: string
            name:
              description: Name of the resource that is unique within a resource group. This name can be used to access the resource.
              type: string
            properties:
              description: Properties of ResourceNavigationLink.
              properties:
                link:
                  description: Link to the external resource.
                  type: string
                linkedResourceType:
                  description: Resource type of the linked resource.
                  type: string
                provisioningState:
                  description: The current provisioning state.
                  enum:
                    - Succeeded
                    - Updating
                    - Deleting
                    - Failed
                  readOnly: true
                  type: string
                  x-ms-enum:
                    modelAsString: true
                    name: ProvisioningState
            type:
              description: Resource type.
              readOnly: true
              type: string
        type: array
      routeTable:
        $ref: ./routeTable.json#/definitions/RouteTable
        description: The reference of the RouteTable resource.
      serviceAssociationLinks:
        description: An array of references to services injecting into this subnet.
        items:
          allOf:
            - description: Reference to another subresource.
              properties:
                id:
                  description: Resource ID.
                  type: string
              x-ms-azure-resource: true
          description: ServiceAssociationLink resource.
          properties:
            etag:
              description: A unique read-only string that changes whenever the resource is updated.
              readOnly: true
              type: string
            name:
              description: Name of the resource that is unique within a resource group. This name can be used to access the resource.
              type: string
            properties:
              description: Properties of ServiceAssociationLink.
              properties:
                allowDelete:
                  description: If true, the resource can be deleted.
                  type: boolean
                link:
                  description: Link to the external resource.
                  type: string
                linkedResourceType:
                  description: Resource type of the linked resource.
                  type: string
                locations:
                  description: A list of locations.
                  items:
                    type: string
                  type: array
                provisioningState:
                  description: The current provisioning state.
                  enum:
                    - Succeeded
                    - Updating
                    - Deleting
                    - Failed
                  readOnly: true
                  type: string
                  x-ms-enum:
                    modelAsString: true
                    name: ProvisioningState
            type:
              description: Resource type.
              type: string
        type: array
      serviceEndpointPolicies:
        description: An array of service endpoint policies.
        items:
          $ref: ./serviceEndpointPolicy.json#/definitions/ServiceEndpointPolicy
        type: array
      serviceEndpoints:
        description: An array of service endpoints.
        items:
          description: The service endpoint properties.
          properties:
            locations:
              description: A list of locations.
              items:
                type: string
              type: array
            provisioningState:
              description: The current provisioning state.
              enum:
                - Succeeded
                - Updating
                - Deleting
                - Failed
              readOnly: true
              type: string
              x-ms-enum:
                modelAsString: true
                name: ProvisioningState
            service:
              description: The type of the endpoint service.
              type: string
        type: array
  UnprepareNetworkPoliciesRequest:
    description: Details of UnprepareNetworkPolicies for Subnet.
    properties:
      serviceName:
        description: The name of the service for which subnet is being unprepared for.
        type: string
  VirtualNetwork:
    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: Virtual Network resource.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      properties:
        $ref: "#/definitions/VirtualNetworkPropertiesFormat"
        description: Properties of the virtual network.
        x-ms-client-flatten: true
  VirtualNetworkBgpCommunities:
    description: Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET.
    properties:
      regionalCommunity:
        description: The BGP community associated with the region of the virtual network
        readOnly: true
        type: string
      virtualNetworkCommunity:
        description: The BGP community associated with the virtual network
        type: string
    required:
      - virtualNetworkCommunity
  VirtualNetworkListResult:
    description: Response for the ListVirtualNetworks API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        type: string
      value:
        description: A list of VirtualNetwork resources in a resource group.
        items:
          $ref: "#/definitions/VirtualNetwork"
        type: array
  VirtualNetworkListUsageResult:
    description: Response for the virtual networks GetUsage API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        type: string
      value:
        description: VirtualNetwork usage stats.
        items:
          $ref: "#/definitions/VirtualNetworkUsage"
        readOnly: true
        type: array
  VirtualNetworkPeering:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: Peerings in a virtual network resource.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        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/VirtualNetworkPeeringPropertiesFormat"
        description: Properties of the virtual network peering.
        x-ms-client-flatten: true
  VirtualNetworkPeeringListResult:
    description: Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        type: string
      value:
        description: The peerings in a virtual network.
        items:
          $ref: "#/definitions/VirtualNetworkPeering"
        type: array
  VirtualNetworkPeeringPropertiesFormat:
    description: Properties of the virtual network peering.
    properties:
      allowForwardedTraffic:
        description: Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network.
        type: boolean
      allowGatewayTransit:
        description: If gateway links can be used in remote virtual networking to link to this virtual network.
        type: boolean
      allowVirtualNetworkAccess:
        description: Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space.
        type: boolean
      peeringState:
        description: The status of the virtual network peering.
        enum:
          - Initiated
          - Connected
          - Disconnected
        type: string
        x-ms-enum:
          modelAsString: true
          name: VirtualNetworkPeeringState
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      remoteAddressSpace:
        $ref: "#/definitions/AddressSpace"
        description: The reference of the remote virtual network address space.
      remoteVirtualNetwork:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
      useRemoteGateways:
        description: If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway.
        type: boolean
  VirtualNetworkPropertiesFormat:
    description: Properties of the virtual network.
    properties:
      addressSpace:
        $ref: "#/definitions/AddressSpace"
        description: The AddressSpace that contains an array of IP address ranges that can be used by subnets.
      bgpCommunities:
        $ref: "#/definitions/VirtualNetworkBgpCommunities"
        description: Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET.
      ddosProtectionPlan:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
      dhcpOptions:
        $ref: "#/definitions/DhcpOptions"
        description: The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network.
      enableDdosProtection:
        default: false
        description: Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource.
        type: boolean
      enableVmProtection:
        default: false
        description: Indicates if VM protection is enabled for all the subnets in the virtual network.
        type: boolean
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      resourceGuid:
        description: The resourceGuid property of the Virtual Network resource.
        type: string
      subnets:
        description: A list of subnets in a Virtual Network.
        items:
          $ref: "#/definitions/Subnet"
        type: array
      virtualNetworkPeerings:
        description: A list of peerings in a Virtual Network.
        items:
          $ref: "#/definitions/VirtualNetworkPeering"
        type: array
  VirtualNetworkUsage:
    description: Usage details for subnet.
    properties:
      currentValue:
        description: Indicates number of IPs used from the Subnet.
        format: double
        readOnly: true
        type: number
      id:
        description: Subnet identifier.
        readOnly: true
        type: string
      limit:
        description: Indicates the size of the subnet.
        format: double
        readOnly: true
        type: number
      name:
        $ref: "#/definitions/VirtualNetworkUsageName"
        description: The name containing common and localized value for usage.
        readOnly: true
      unit:
        description: Usage units. Returns 'Count'.
        readOnly: true
        type: string
  VirtualNetworkUsageName:
    description: Usage strings container.
    properties:
      localizedValue:
        description: Localized subnet size and usage string.
        readOnly: true
        type: string
      value:
        description: Subnet size and usage string.
        readOnly: true
        type: string
