{
  "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": "2018-02-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/virtualNetwork.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "network-virtualNetwork",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json",
    "text/json"
  ],
  "produces": [
    "application/json",
    "text/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "ApiVersionParameter": {
      "description": "Client API version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "SubscriptionIdParameter": {
      "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks": {
      "get": {
        "description": "Gets all virtual networks in a subscription.",
        "operationId": "VirtualNetworks_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": "2018-02-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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": "2018-02-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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Delete successful."
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "x-ms-examples": {
          "Delete virtual network": {
            "parameters": {
              "api-version": "2018-02-01",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid",
              "virtualNetworkName": "test-vnet"
            },
            "responses": {
              "200": {},
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "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": "2018-02-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"
                }
              }
            }
          }
        }
      },
      "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"
                }
              }
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": "2018-02-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"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": "2018-02-01",
              "location": "eastus",
              "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 service endpoints": {
            "parameters": {
              "api-version": "2018-02-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 subnet": {
            "parameters": {
              "api-version": "2018-02-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"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/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 private IP address to be verified.",
            "in": "query",
            "name": "ipAddress",
            "required": false,
            "type": "string"
          },
          {
            "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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": {
              "IPAddress": "10.0.1.4",
              "api-version": "2018-02-01",
              "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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": "2018-02-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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/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"
        ],
        "x-ms-examples": {
          "Delete subnet": {
            "parameters": {
              "api-version": "2018-02-01",
              "resourceGroupName": "subnet-test",
              "subnetName": "subnet1",
              "subscriptionId": "subid",
              "virtualNetworkName": "vnetname"
            },
            "responses": {
              "200": {},
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "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": "2018-02-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"
                  }
                }
              }
            }
          }
        }
      },
      "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"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": "2018-02-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 service endpoints": {
            "parameters": {
              "api-version": "2018-02-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
      }
    },
    "/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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Usage stats for vnet.",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkListUsageResult"
            }
          }
        },
        "x-ms-examples": {
          "VnetGetUsage": {
            "parameters": {
              "api-version": "2018-02-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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": "2018-02-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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Delete successful."
          }
        },
        "tags": [
          "VirtualNetworkPeerings"
        ],
        "x-ms-examples": {
          "Delete peering": {
            "parameters": {
              "api-version": "2018-02-01",
              "resourceGroupName": "peerTest",
              "subscriptionId": "subid",
              "virtualNetworkName": "vnet1",
              "virtualNetworkPeeringName": "peer"
            },
            "responses": {
              "200": {},
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": "2018-02-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"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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": "2018-02-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
      }
    }
  },
  "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"
        }
      }
    },
    "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"
        }
      }
    },
    "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"
        },
        "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": "Provisioning state of the ResourceNavigationLink resource.",
              "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": "Provisioning state of the ResourceNavigationLink resource.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "ServiceEndpointPropertiesFormat": {
      "description": "The service endpoint properties.",
      "properties": {
        "locations": {
          "description": "A list of locations.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "The provisioning state of the resource.",
          "type": "string"
        },
        "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"
        },
        "ipConfigurations": {
          "description": "Gets an array of references to the network interface IP configurations using subnet.",
          "items": {
            "$ref": "./networkInterface.json#/definitions/IPConfiguration"
          },
          "readOnly": true,
          "type": "array"
        },
        "networkSecurityGroup": {
          "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
          "description": "The reference of the NetworkSecurityGroup resource."
        },
        "provisioningState": {
          "description": "The provisioning state of the resource.",
          "type": "string"
        },
        "resourceNavigationLinks": {
          "description": "Gets 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"
              },
              "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": "Provisioning state of the ResourceNavigationLink resource.",
                    "readOnly": true,
                    "type": "string"
                  }
                }
              }
            }
          },
          "type": "array"
        },
        "routeTable": {
          "$ref": "./routeTable.json#/definitions/RouteTable",
          "description": "The reference of the RouteTable resource."
        },
        "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 provisioning state of the resource.",
                "type": "string"
              },
              "service": {
                "description": "The type of the endpoint service.",
                "type": "string"
              }
            }
          },
          "type": "array"
        }
      }
    },
    "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": "Gets 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
        }
      }
    },
    "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": "Gets 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 remote virtual network will be allowed/disallowed.",
          "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 linked virtual network space would be able to access all the VMs in local Virtual network space.",
          "type": "boolean"
        },
        "peeringState": {
          "description": "The status of the virtual network peering. Possible values are 'Initiated', 'Connected', and 'Disconnected'.",
          "enum": [
            "Initiated",
            "Connected",
            "Disconnected"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "VirtualNetworkPeeringState"
          }
        },
        "provisioningState": {
          "description": "The provisioning state of the resource.",
          "type": "string"
        },
        "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."
        },
        "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 provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
          "type": "string"
        },
        "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"
        }
      }
    }
  }
}