{
  "openapi": "3.0.0",
  "info": {
    "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
    "title": "NetworkManagementClient",
    "version": "2019-07-01",
    "x-jentic-source-url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/virtualNetwork.json"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks": {
      "get": {
        "parameters": [
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetworkListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of VirtualNetwork resources."
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "description": "Gets all virtual networks in a subscription.",
        "operationId": "VirtualNetworks_ListAll",
        "x-ms-examples": {
          "List all virtual networks": {
            "$ref": "./examples/VirtualNetworkListAll.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetworkListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of VirtualNetwork resources."
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "description": "Gets all virtual networks in a resource group.",
        "operationId": "VirtualNetworks_List",
        "x-ms-examples": {
          "List virtual networks in resource group": {
            "$ref": "./examples/VirtualNetworkList.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Delete successful."
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "description": "Deletes the specified virtual network.",
        "operationId": "VirtualNetworks_Delete",
        "x-ms-examples": {
          "Delete virtual network": {
            "$ref": "./examples/VirtualNetworkDelete.json"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "Expands referenced resources.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetwork"
                }
              }
            },
            "description": "Request successful. The operation returns the resulting VirtualNetwork resource."
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "description": "Gets the specified virtual network by resource group.",
        "operationId": "VirtualNetworks_Get",
        "x-ms-examples": {
          "Get virtual network": {
            "$ref": "./examples/VirtualNetworkGet.json"
          },
          "Get virtual network with a delegated subnet": {
            "$ref": "./examples/VirtualNetworkGetWithSubnetDelegation.json"
          },
          "Get virtual network with service association links": {
            "$ref": "./examples/VirtualNetworkGetWithServiceAssociationLink.json"
          }
        }
      },
      "patch": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetwork"
                }
              }
            },
            "description": "Update successful. The operation returns the resulting VirtualNetwork resource."
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "description": "Updates a virtual network tags.",
        "operationId": "VirtualNetworks_UpdateTags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "./network.json#/definitions/TagsObject"
              }
            }
          },
          "description": "Parameters supplied to update virtual network tags.",
          "required": true
        },
        "x-ms-examples": {
          "Update virtual network tags": {
            "$ref": "./examples/VirtualNetworkUpdateTags.json"
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetwork"
                }
              }
            },
            "description": "Update successful. The operation returns the resulting VirtualNetwork resource."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetwork"
                }
              }
            },
            "description": "Create successful. The operation returns the resulting VirtualNetwork resource."
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "description": "Creates or updates a virtual network in the specified resource group.",
        "operationId": "VirtualNetworks_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualNetwork"
              }
            }
          },
          "description": "Parameters supplied to the create or update virtual network operation.",
          "required": true
        },
        "x-ms-examples": {
          "Create virtual network": {
            "$ref": "./examples/VirtualNetworkCreate.json"
          },
          "Create virtual network with delegated subnets": {
            "$ref": "./examples/VirtualNetworkCreateSubnetWithDelegation.json"
          },
          "Create virtual network with service endpoints": {
            "$ref": "./examples/VirtualNetworkCreateServiceEndpoints.json"
          },
          "Create virtual network with service endpoints and service endpoint policy": {
            "$ref": "./examples/VirtualNetworkCreateServiceEndpointPolicy.json"
          },
          "Create virtual network with subnet": {
            "$ref": "./examples/VirtualNetworkCreateSubnet.json"
          },
          "Create virtual network with subnet containing address prefixes": {
            "$ref": "./examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json"
          }
        },
        "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": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The private IP address to be verified.",
            "in": "query",
            "name": "ipAddress",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IPAddressAvailabilityResult"
                }
              }
            },
            "description": "Private IP address availability and list of other free addresses if the requested one is not available."
          }
        },
        "description": "Checks whether a private IP address is available for use.",
        "operationId": "VirtualNetworks_CheckIPAddressAvailability",
        "x-ms-examples": {
          "Check IP address availability": {
            "$ref": "./examples/VirtualNetworkCheckIPAddressAvailability.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubnetListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of Subnet resources."
          }
        },
        "tags": [
          "Subnets"
        ],
        "description": "Gets all subnets in a virtual network.",
        "operationId": "Subnets_List",
        "x-ms-examples": {
          "List subnets": {
            "$ref": "./examples/SubnetList.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the subnet.",
            "in": "path",
            "name": "subnetName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Request successful. Resource does not exist."
          }
        },
        "tags": [
          "Subnets"
        ],
        "description": "Deletes the specified subnet.",
        "operationId": "Subnets_Delete",
        "x-ms-examples": {
          "Delete subnet": {
            "$ref": "./examples/SubnetDelete.json"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the subnet.",
            "in": "path",
            "name": "subnetName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "Expands referenced resources.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subnet"
                }
              }
            },
            "description": "Request successful. The operation returns the resulting Subnet resource."
          }
        },
        "tags": [
          "Subnets"
        ],
        "description": "Gets the specified subnet by virtual network and resource group.",
        "operationId": "Subnets_Get",
        "x-ms-examples": {
          "Get subnet": {
            "$ref": "./examples/SubnetGet.json"
          },
          "Get subnet with a delegation": {
            "$ref": "./examples/SubnetGetWithDelegation.json"
          }
        }
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the subnet.",
            "in": "path",
            "name": "subnetName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subnet"
                }
              }
            },
            "description": "Update successful. The operation returns the resulting Subnet resource."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subnet"
                }
              }
            },
            "description": "Create successful. The operation returns the resulting Subnet resource."
          }
        },
        "tags": [
          "Subnets"
        ],
        "description": "Creates or updates a subnet in the specified virtual network.",
        "operationId": "Subnets_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Subnet"
              }
            }
          },
          "description": "Parameters supplied to the create or update subnet operation.",
          "required": true
        },
        "x-ms-examples": {
          "Create subnet": {
            "$ref": "./examples/SubnetCreate.json"
          },
          "Create subnet with a delegation": {
            "$ref": "./examples/SubnetCreateWithDelegation.json"
          },
          "Create subnet with service endpoints": {
            "$ref": "./examples/SubnetCreateServiceEndpoint.json"
          }
        },
        "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": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the subnet.",
            "in": "path",
            "name": "subnetName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Preparing subnet by applying network intent policies is successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          }
        },
        "description": "Prepares a subnet by applying network intent policies.",
        "operationId": "Subnets_PrepareNetworkPolicies",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrepareNetworkPoliciesRequest"
              }
            }
          },
          "description": "Parameters supplied to prepare subnet by applying network intent policies.",
          "required": true
        },
        "x-ms-examples": {
          "Prepare Network Policies": {
            "$ref": "./examples/SubnetPrepareNetworkPolicies.json"
          }
        },
        "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": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the subnet.",
            "in": "path",
            "name": "subnetName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNavigationLinksListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of resource navigation links for the subnet."
          }
        },
        "description": "Gets a list of resource navigation links for a subnet.",
        "operationId": "ResourceNavigationLinks_List",
        "x-ms-examples": {
          "Get Resource Navigation Links": {
            "$ref": "./examples/VirtualNetworkGetResourceNavigationLinks.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the subnet.",
            "in": "path",
            "name": "subnetName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceAssociationLinksListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of service association links for the subnet."
          }
        },
        "description": "Gets a list of service association links for a subnet.",
        "operationId": "ServiceAssociationLinks_List",
        "x-ms-examples": {
          "Get Service Association Links": {
            "$ref": "./examples/VirtualNetworkGetServiceAssociationLinks.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies": {
      "post": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the subnet.",
            "in": "path",
            "name": "subnetName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Unpreparing subnet by removing network intent policies is successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          }
        },
        "description": "Unprepares a subnet by removing network intent policies.",
        "operationId": "Subnets_UnprepareNetworkPolicies",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnprepareNetworkPoliciesRequest"
              }
            }
          },
          "description": "Parameters supplied to unprepare subnet to remove network intent policies.",
          "required": true
        },
        "x-ms-examples": {
          "Unprepare Network Policies": {
            "$ref": "./examples/SubnetUnprepareNetworkPolicies.json"
          }
        },
        "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": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetworkListUsageResult"
                }
              }
            },
            "description": "Usage stats for vnet."
          }
        },
        "description": "Lists usage stats.",
        "operationId": "VirtualNetworks_ListUsage",
        "x-ms-examples": {
          "VnetGetUsage": {
            "$ref": "./examples/VirtualNetworkListUsage.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetworkPeeringListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of VirtualNetworkPeering resources."
          }
        },
        "tags": [
          "VirtualNetworkPeerings"
        ],
        "description": "Gets all virtual network peerings in a virtual network.",
        "operationId": "VirtualNetworkPeerings_List",
        "x-ms-examples": {
          "List peerings": {
            "$ref": "./examples/VirtualNetworkPeeringList.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network peering.",
            "in": "path",
            "name": "virtualNetworkPeeringName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Delete successful."
          }
        },
        "tags": [
          "VirtualNetworkPeerings"
        ],
        "description": "Deletes the specified virtual network peering.",
        "operationId": "VirtualNetworkPeerings_Delete",
        "x-ms-examples": {
          "Delete peering": {
            "$ref": "./examples/VirtualNetworkPeeringDelete.json"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "location"
        }
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network peering.",
            "in": "path",
            "name": "virtualNetworkPeeringName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetworkPeering"
                }
              }
            },
            "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource."
          }
        },
        "tags": [
          "VirtualNetworkPeerings"
        ],
        "description": "Gets the specified virtual network peering.",
        "operationId": "VirtualNetworkPeerings_Get",
        "x-ms-examples": {
          "Get peering": {
            "$ref": "./examples/VirtualNetworkPeeringGet.json"
          }
        }
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the virtual network.",
            "in": "path",
            "name": "virtualNetworkName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the peering.",
            "in": "path",
            "name": "virtualNetworkPeeringName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetworkPeering"
                }
              }
            },
            "description": "Update successful. The operation returns the resulting VirtualNetworkPeering resource."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualNetworkPeering"
                }
              }
            },
            "description": "Create successful. The operation returns the resulting VirtualNetworkPeering resource."
          }
        },
        "tags": [
          "VirtualNetworkPeerings"
        ],
        "description": "Creates or updates a peering in the specified virtual network.",
        "operationId": "VirtualNetworkPeerings_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualNetworkPeering"
              }
            }
          },
          "description": "Parameters supplied to the create or update virtual network peering operation.",
          "required": true
        },
        "x-ms-examples": {
          "Create peering": {
            "$ref": "./examples/VirtualNetworkPeeringCreate.json"
          }
        },
        "x-ms-long-running-operation": true,
        "x-ms-long-running-operation-options": {
          "final-state-via": "azure-async-operation"
        }
      }
    }
  },
  "components": {
    "schemas": {
      "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"
          }
        },
        "type": "object"
      },
      "Delegation": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/SubResource"
          }
        ],
        "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": {
            "$ref": "#/components/schemas/ServiceDelegationPropertiesFormat",
            "description": "Properties of the subnet.",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      },
      "NetworkIntentPolicy": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/Resource"
          }
        ],
        "description": "Network Intent Policy resource.",
        "properties": {
          "etag": {
            "description": "A unique read-only string that changes whenever the resource is updated.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/NetworkIntentPolicy",
            "description": "Source network intent policy."
          }
        },
        "type": "object"
      },
      "PrepareNetworkPoliciesRequest": {
        "description": "Details of PrepareNetworkPolicies for Subnet.",
        "properties": {
          "networkIntentPolicyConfigurations": {
            "description": "A list of NetworkIntentPolicyConfiguration.",
            "items": {
              "$ref": "#/components/schemas/NetworkIntentPolicyConfiguration"
            },
            "type": "array"
          },
          "serviceName": {
            "description": "The name of the service for which subnet is being prepared for.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResourceNavigationLink": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/SubResource"
          }
        ],
        "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": {
            "$ref": "#/components/schemas/ResourceNavigationLinkFormat",
            "description": "Resource navigation link properties format.",
            "x-ms-client-flatten": true
          },
          "type": {
            "description": "Resource type.",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "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": {
            "$ref": "./network.json#/definitions/ProvisioningState",
            "description": "The provisioning state of the resource navigation link resource.",
            "readOnly": true
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/ResourceNavigationLink"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ServiceAssociationLink": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/SubResource"
          }
        ],
        "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": {
            "$ref": "#/components/schemas/ServiceAssociationLinkPropertiesFormat",
            "description": "Resource navigation link properties format.",
            "x-ms-client-flatten": true
          },
          "type": {
            "description": "Resource type.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "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": {
            "$ref": "./network.json#/definitions/ProvisioningState",
            "description": "The provisioning state of the service association link resource.",
            "readOnly": true
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/ServiceAssociationLink"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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": {
            "$ref": "./network.json#/definitions/ProvisioningState",
            "description": "The provisioning state of the service delegation resource.",
            "readOnly": true
          },
          "serviceName": {
            "description": "The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ServiceEndpointPropertiesFormat": {
        "description": "The service endpoint properties.",
        "properties": {
          "locations": {
            "description": "A list of locations.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "provisioningState": {
            "$ref": "./network.json#/definitions/ProvisioningState",
            "description": "The provisioning state of the service endpoint resource."
          },
          "service": {
            "description": "The type of the endpoint service.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Subnet": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/SubResource"
          }
        ],
        "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": "#/components/schemas/SubnetPropertiesFormat",
            "description": "Properties of the subnet.",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/Subnet"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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": {
              "$ref": "#/components/schemas/Delegation"
            },
            "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": {
            "$ref": "./network.json#/definitions/SubResource",
            "description": "Nat gateway associated with this subnet."
          },
          "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": {
            "$ref": "./network.json#/definitions/ProvisioningState",
            "description": "The provisioning state of the subnet resource."
          },
          "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": {
              "$ref": "#/components/schemas/ResourceNavigationLink"
            },
            "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": {
              "$ref": "#/components/schemas/ServiceAssociationLink"
            },
            "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": {
              "$ref": "#/components/schemas/ServiceEndpointPropertiesFormat"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "UnprepareNetworkPoliciesRequest": {
        "description": "Details of UnprepareNetworkPolicies for Subnet.",
        "properties": {
          "serviceName": {
            "description": "The name of the service for which subnet is being unprepared for.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "VirtualNetwork": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/Resource"
          }
        ],
        "description": "Virtual Network resource.",
        "properties": {
          "etag": {
            "description": "A unique read-only string that changes whenever the resource is updated.",
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/VirtualNetworkPropertiesFormat",
            "description": "Properties of the virtual network.",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/VirtualNetwork"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/VirtualNetworkUsage"
            },
            "readOnly": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "VirtualNetworkPeering": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/SubResource"
          }
        ],
        "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": "#/components/schemas/VirtualNetworkPeeringPropertiesFormat",
            "description": "Properties of the virtual network peering.",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/VirtualNetworkPeering"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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": {
            "$ref": "./network.json#/definitions/ProvisioningState",
            "description": "The provisioning state of the virtual network peering resource."
          },
          "remoteAddressSpace": {
            "$ref": "#/components/schemas/AddressSpace",
            "description": "The reference of the remote virtual network address space."
          },
          "remoteVirtualNetwork": {
            "$ref": "./network.json#/definitions/SubResource",
            "description": "The reference of the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering)."
          },
          "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"
          }
        },
        "type": "object"
      },
      "VirtualNetworkPropertiesFormat": {
        "description": "Properties of the virtual network.",
        "properties": {
          "addressSpace": {
            "$ref": "#/components/schemas/AddressSpace",
            "description": "The AddressSpace that contains an array of IP address ranges that can be used by subnets."
          },
          "ddosProtectionPlan": {
            "$ref": "./network.json#/definitions/SubResource",
            "default": null,
            "description": "The DDoS protection plan associated with the virtual network."
          },
          "dhcpOptions": {
            "$ref": "#/components/schemas/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": {
            "$ref": "./network.json#/definitions/ProvisioningState",
            "description": "The provisioning state of the virtual network resource."
          },
          "resourceGuid": {
            "description": "The resourceGuid property of the Virtual Network resource.",
            "type": "string"
          },
          "subnets": {
            "description": "A list of subnets in a Virtual Network.",
            "items": {
              "$ref": "#/components/schemas/Subnet"
            },
            "type": "array"
          },
          "virtualNetworkPeerings": {
            "description": "A list of peerings in a Virtual Network.",
            "items": {
              "$ref": "#/components/schemas/VirtualNetworkPeering"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "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": "#/components/schemas/VirtualNetworkUsageName",
            "description": "The name containing common and localized value for usage.",
            "readOnly": true
          },
          "unit": {
            "description": "Usage units. Returns 'Count'.",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "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"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "description": "Azure Active Directory OAuth2 Flow.",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
            "scopes": {
              "user_impersonation": "impersonate your user account"
            }
          }
        },
        "type": "oauth2"
      }
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ]
}