{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "The Windows Azure Network management API provides a RESTful set of web services that interact with Windows Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Windows Azure Networks service.",
    "title": "NetworkResourceProviderClient",
    "version": "2015-05-01-preview",
    "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/preview/2015-05-01-preview/network.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "network",
    "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": "Gets subscription credentials which uniquely identify 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/applicationGateways": {
      "get": {
        "description": "The List application gateway operation retrieves all the application gateways in a subscription.",
        "operationId": "ApplicationGateways_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ApplicationGatewayListResult"
            }
          }
        },
        "tags": [
          "ApplicationGateways"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits": {
      "get": {
        "description": "The List ExpressRouteCircuit operation retrieves all the ExpressRouteCircuits in a subscription.",
        "operationId": "ExpressRouteCircuits_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders": {
      "get": {
        "description": "The List ExpressRouteServiceProvider operation retrieves all the available ExpressRouteServiceProviders.",
        "operationId": "ExpressRouteServiceProviders_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteServiceProviderListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteServiceProviders"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers": {
      "get": {
        "description": "The List loadBalancer operation retrieves all the load balancers in a subscription.",
        "operationId": "LoadBalancers_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/LoadBalancerListResult"
            }
          }
        },
        "tags": [
          "LoadBalancers"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability": {
      "get": {
        "description": "Checks whether a domain name in the cloudapp.net zone is available for use.",
        "operationId": "CheckDnsNameAvailability",
        "parameters": [
          {
            "description": "The location of the domain name",
            "in": "path",
            "name": "location",
            "required": true,
            "type": "string"
          },
          {
            "description": "The domain name to be verified. It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$.",
            "in": "query",
            "name": "domainNameLabel",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DnsNameAvailabilityResult"
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages": {
      "get": {
        "description": "Lists compute usages for a subscription.",
        "operationId": "Usages_List",
        "parameters": [
          {
            "description": "The location upon which resource usage is queried.",
            "in": "path",
            "name": "location",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/UsagesListResult"
            }
          }
        },
        "tags": [
          "Usages"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces": {
      "get": {
        "description": "The List networkInterfaces operation retrieves all the networkInterfaces in a subscription.",
        "operationId": "NetworkInterfaces_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkInterfaceListResult"
            }
          }
        },
        "tags": [
          "NetworkInterfaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups": {
      "get": {
        "description": "The list NetworkSecurityGroups returns all network security groups in a subscription",
        "operationId": "NetworkSecurityGroups_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkSecurityGroupListResult"
            }
          }
        },
        "tags": [
          "NetworkSecurityGroups"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses": {
      "get": {
        "description": "The List publicIpAddress operation retrieves all the publicIpAddresses in a subscription.",
        "operationId": "PublicIpAddresses_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PublicIpAddressListResult"
            }
          }
        },
        "tags": [
          "PublicIpAddresses"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables": {
      "get": {
        "description": "The list RouteTables returns all route tables in a subscription",
        "operationId": "RouteTables_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RouteTableListResult"
            }
          }
        },
        "tags": [
          "RouteTables"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualnetworks": {
      "get": {
        "description": "The list VirtualNetwork returns all Virtual Networks in a subscription",
        "operationId": "VirtualNetworks_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkListResult"
            }
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways": {
      "get": {
        "description": "The List ApplicationGateway operation retrieves all the application gateways in a resource group.",
        "operationId": "ApplicationGateways_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": "",
            "schema": {
              "$ref": "#/definitions/ApplicationGatewayListResult"
            }
          }
        },
        "tags": [
          "ApplicationGateways"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}": {
      "delete": {
        "description": "The delete application gateway operation deletes the specified application gateway.",
        "operationId": "ApplicationGateways_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the application gateway.",
            "in": "path",
            "name": "applicationGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "ApplicationGateways"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get application gateway operation retrieves information about the specified application gateway.",
        "operationId": "ApplicationGateways_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the application gateway.",
            "in": "path",
            "name": "applicationGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ApplicationGateway"
            }
          }
        },
        "tags": [
          "ApplicationGateways"
        ]
      },
      "put": {
        "description": "The Put ApplicationGateway operation creates/updates a ApplicationGateway",
        "operationId": "ApplicationGateways_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the ApplicationGateway.",
            "in": "path",
            "name": "applicationGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/delete ApplicationGateway operation",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApplicationGateway"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ApplicationGateway"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ApplicationGateway"
            }
          }
        },
        "tags": [
          "ApplicationGateways"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start": {
      "post": {
        "description": "The Start ApplicationGateway operation starts application gateway in the specified resource group through Network resource provider.",
        "operationId": "ApplicationGateways_Start",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the application gateway.",
            "in": "path",
            "name": "applicationGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "202": {
            "description": ""
          }
        },
        "tags": [
          "ApplicationGateways"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop": {
      "post": {
        "description": "The STOP ApplicationGateway operation stops application gateway in the specified resource group through Network resource provider.",
        "operationId": "ApplicationGateways_Stop",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the application gateway.",
            "in": "path",
            "name": "applicationGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          }
        },
        "tags": [
          "ApplicationGateways"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": {
      "get": {
        "description": "The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections created.",
        "operationId": "VirtualNetworkGatewayConnections_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": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult"
            }
          }
        },
        "tags": [
          "VirtualNetworkGatewayConnections"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}": {
      "get": {
        "description": "The Get VirtualNetworkGatewayConnection operation retrieves information about the specified virtual network gateway connection through Network resource provider.",
        "operationId": "VirtualNetworkGatewayConnections_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network gateway connection.",
            "in": "path",
            "name": "virtualNetworkGatewayConnectionName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGatewayConnection"
            }
          }
        },
        "tags": [
          "VirtualNetworkGatewayConnections"
        ]
      },
      "put": {
        "description": "The Put VirtualNetworkGatewayConnection operation creates/updates a virtual network gateway connection in the specified resource group through Network resource provider.",
        "operationId": "VirtualNetworkGatewayConnections_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network gateway connection.",
            "in": "path",
            "name": "virtualNetworkGatewayConnectionName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the Begin Create or update Virtual Network Gateway connection operation through Network resource provider.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGatewayConnection"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGatewayConnection"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGatewayConnection"
            }
          }
        },
        "tags": [
          "VirtualNetworkGatewayConnections"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/": {
      "delete": {
        "description": "The Delete VirtualNetworkGatewayConnection operation deletes the specified virtual network Gateway connection through Network resource provider.",
        "operationId": "VirtualNetworkGatewayConnections_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network gateway connection.",
            "in": "path",
            "name": "virtualNetworkGatewayConnectionName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "VirtualNetworkGatewayConnections"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": {
      "get": {
        "description": "The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual network gateway connection shared key through Network resource provider.",
        "operationId": "VirtualNetworkGatewayConnections_GetSharedKey",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The virtual network gateway connection shared key name.",
            "in": "path",
            "name": "virtualNetworkGatewayConnectionName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ConnectionSharedKey"
            }
          }
        },
        "tags": [
          "VirtualNetworkGatewayConnections"
        ]
      },
      "put": {
        "description": "The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.",
        "operationId": "VirtualNetworkGatewayConnections_SetSharedKey",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The virtual network gateway connection name.",
            "in": "path",
            "name": "virtualNetworkGatewayConnectionName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation through Network resource provider.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ConnectionSharedKey"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ConnectionSharedKey"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ConnectionSharedKey"
            }
          }
        },
        "tags": [
          "VirtualNetworkGatewayConnections"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset": {
      "post": {
        "description": "The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.",
        "operationId": "VirtualNetworkGatewayConnections_ResetSharedKey",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The virtual network gateway connection reset shared key Name.",
            "in": "path",
            "name": "virtualNetworkGatewayConnectionName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the Begin Reset Virtual Network Gateway connection shared key operation through Network resource provider.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ConnectionResetSharedKey"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ConnectionResetSharedKey"
            }
          },
          "202": {
            "description": ""
          }
        },
        "tags": [
          "VirtualNetworkGatewayConnections"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits": {
      "get": {
        "description": "The List ExpressRouteCircuit operation retrieves all the ExpressRouteCircuits in a resource group.",
        "operationId": "ExpressRouteCircuits_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": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/": {
      "delete": {
        "description": "The delete ExpressRouteCircuit operation deletes the specified ExpressRouteCircuit.",
        "operationId": "ExpressRouteCircuits_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route Circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get ExpressRouteCircuit operation retrieves information about the specified ExpressRouteCircuit.",
        "operationId": "ExpressRouteCircuits_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuit"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ]
      },
      "put": {
        "description": "The Put ExpressRouteCircuit operation creates/updates a ExpressRouteCircuit",
        "operationId": "ExpressRouteCircuits_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/delete ExpressRouteCircuit operation",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuit"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuit"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuit"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations": {
      "get": {
        "description": "The List authorization operation retrieves all the authorizations in an ExpressRouteCircuit.",
        "operationId": "ExpressRouteCircuitAuthorizations_List",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/AuthorizationListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitAuthorizations"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}": {
      "delete": {
        "description": "The delete authorization operation deletes the specified authorization from the specified ExpressRouteCircuit.",
        "operationId": "ExpressRouteCircuitAuthorizations_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the authorization.",
            "in": "path",
            "name": "authorizationName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "ExpressRouteCircuitAuthorizations"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The GET authorization operation retrieves the specified authorization from the specified ExpressRouteCircuit.",
        "operationId": "ExpressRouteCircuitAuthorizations_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the authorization.",
            "in": "path",
            "name": "authorizationName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitAuthorizations"
        ]
      },
      "put": {
        "description": "The Put Authorization operation creates/updates an authorization in the specified ExpressRouteCircuits",
        "operationId": "ExpressRouteCircuitAuthorizations_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the authorization.",
            "in": "path",
            "name": "authorizationName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/update ExpressRouteCircuitAuthorization operation",
            "in": "body",
            "name": "authorizationParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitAuthorizations"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings": {
      "get": {
        "description": "The List peering operation retrieves all the peerings in an ExpressRouteCircuit.",
        "operationId": "ExpressRouteCircuitPeerings_List",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeeringListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitPeerings"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}": {
      "delete": {
        "description": "The delete peering operation deletes the specified peering from the ExpressRouteCircuit.",
        "operationId": "ExpressRouteCircuitPeerings_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the peering.",
            "in": "path",
            "name": "peeringName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "ExpressRouteCircuitPeerings"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The GET peering operation retrieves the specified authorization from the ExpressRouteCircuit.",
        "operationId": "ExpressRouteCircuitPeerings_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the peering.",
            "in": "path",
            "name": "peeringName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeering"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitPeerings"
        ]
      },
      "put": {
        "description": "The Put Peering operation creates/updates an peering in the specified ExpressRouteCircuits",
        "operationId": "ExpressRouteCircuitPeerings_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the express route circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the peering.",
            "in": "path",
            "name": "peeringName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/update ExpressRouteCircuit Peering operation",
            "in": "body",
            "name": "peeringParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeering"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeering"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitPeering"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuitPeerings"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}arpTable": {
      "get": {
        "description": "The ListArpTable from ExpressRouteCircuit operation retrieves the currently advertised arp table associated with the ExpressRouteCircuits in a resource group.",
        "operationId": "ExpressRouteCircuits_ListArpTable",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitsArpTableListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}routesTable": {
      "get": {
        "description": "The ListRoutesTable from ExpressRouteCircuit operation retrieves the currently advertised routes table associated with the ExpressRouteCircuits in a resource group.",
        "operationId": "ExpressRouteCircuits_ListRoutesTable",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the circuit.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}stats": {
      "get": {
        "description": "The ListStats ExpressRouteCircuit operation retrieves all the stats from a ExpressRouteCircuits in a resource group.",
        "operationId": "ExpressRouteCircuits_ListStats",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the loadBalancer.",
            "in": "path",
            "name": "circuitName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ExpressRouteCircuitsStatsListResult"
            }
          }
        },
        "tags": [
          "ExpressRouteCircuits"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers": {
      "get": {
        "description": "The List loadBalancer operation retrieves all the load balancers in a resource group.",
        "operationId": "LoadBalancers_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": "",
            "schema": {
              "$ref": "#/definitions/LoadBalancerListResult"
            }
          }
        },
        "tags": [
          "LoadBalancers"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}": {
      "delete": {
        "description": "The delete loadbalancer operation deletes the specified loadbalancer.",
        "operationId": "LoadBalancers_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the loadBalancer.",
            "in": "path",
            "name": "loadBalancerName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "LoadBalancers"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get network interface operation retrieves information about the specified network interface.",
        "operationId": "LoadBalancers_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the loadBalancer.",
            "in": "path",
            "name": "loadBalancerName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/LoadBalancer"
            }
          }
        },
        "tags": [
          "LoadBalancers"
        ]
      },
      "put": {
        "description": "The Put LoadBalancer operation creates/updates a LoadBalancer",
        "operationId": "LoadBalancers_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the loadBalancer.",
            "in": "path",
            "name": "loadBalancerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/delete LoadBalancer operation",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LoadBalancer"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/LoadBalancer"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/LoadBalancer"
            }
          }
        },
        "tags": [
          "LoadBalancers"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways": {
      "get": {
        "description": "The List LocalNetworkGateways operation retrieves all the local network gateways stored.",
        "operationId": "LocalNetworkGateways_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": "",
            "schema": {
              "$ref": "#/definitions/LocalNetworkGatewayListResult"
            }
          }
        },
        "tags": [
          "LocalNetworkGateways"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}": {
      "get": {
        "description": "The Get LocalNetworkGateway operation retrieves information about the specified local network gateway through Network resource provider.",
        "operationId": "LocalNetworkGateways_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the local network gateway.",
            "in": "path",
            "name": "localNetworkGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/LocalNetworkGateway"
            }
          }
        },
        "tags": [
          "LocalNetworkGateways"
        ]
      },
      "put": {
        "description": "The Put LocalNetworkGateway operation creates/updates a local network gateway in the specified resource group through Network resource provider.",
        "operationId": "LocalNetworkGateways_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the local network gateway.",
            "in": "path",
            "name": "localNetworkGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the Begin Create or update Local Network Gateway operation through Network resource provider.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LocalNetworkGateway"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/LocalNetworkGateway"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/LocalNetworkGateway"
            }
          }
        },
        "tags": [
          "LocalNetworkGateways"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}/": {
      "delete": {
        "description": "The Delete LocalNetworkGateway operation deletes the specified local network Gateway through Network resource provider.",
        "operationId": "LocalNetworkGateways_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the local network gateway.",
            "in": "path",
            "name": "localNetworkGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "LocalNetworkGateways"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces": {
      "get": {
        "description": "The List networkInterfaces operation retrieves all the networkInterfaces in a resource group.",
        "operationId": "NetworkInterfaces_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": "",
            "schema": {
              "$ref": "#/definitions/NetworkInterfaceListResult"
            }
          }
        },
        "tags": [
          "NetworkInterfaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}": {
      "delete": {
        "description": "The delete networkInterface operation deletes the specified networkInterface.",
        "operationId": "NetworkInterfaces_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network interface.",
            "in": "path",
            "name": "networkInterfaceName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "NetworkInterfaces"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get network interface operation retrieves information about the specified network interface.",
        "operationId": "NetworkInterfaces_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network interface.",
            "in": "path",
            "name": "networkInterfaceName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkInterface"
            }
          }
        },
        "tags": [
          "NetworkInterfaces"
        ]
      },
      "put": {
        "description": "The Put NetworkInterface operation creates/updates a networkInterface",
        "operationId": "NetworkInterfaces_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network interface.",
            "in": "path",
            "name": "networkInterfaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/update NetworkInterface operation",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NetworkInterface"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkInterface"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkInterface"
            }
          }
        },
        "tags": [
          "NetworkInterfaces"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups": {
      "get": {
        "description": "The list NetworkSecurityGroups returns all network security groups in a resource group",
        "operationId": "NetworkSecurityGroups_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": "",
            "schema": {
              "$ref": "#/definitions/NetworkSecurityGroupListResult"
            }
          }
        },
        "tags": [
          "NetworkSecurityGroups"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}": {
      "delete": {
        "description": "The Delete NetworkSecurityGroup operation deletes the specified network security group",
        "operationId": "NetworkSecurityGroups_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network security group.",
            "in": "path",
            "name": "networkSecurityGroupName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "NetworkSecurityGroups"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get NetworkSecurityGroups operation retrieves information about the specified network security group.",
        "operationId": "NetworkSecurityGroups_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network security group.",
            "in": "path",
            "name": "networkSecurityGroupName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkSecurityGroup"
            }
          }
        },
        "tags": [
          "NetworkSecurityGroups"
        ]
      },
      "put": {
        "description": "The Put NetworkSecurityGroup operation creates/updates a network security group in the specified resource group.",
        "operationId": "NetworkSecurityGroups_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network security group.",
            "in": "path",
            "name": "networkSecurityGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/update Network Security Group operation",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NetworkSecurityGroup"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkSecurityGroup"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkSecurityGroup"
            }
          }
        },
        "tags": [
          "NetworkSecurityGroups"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules": {
      "get": {
        "description": "The List network security rule operation retrieves all the security rules in a network security group.",
        "operationId": "SecurityRules_List",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network security group.",
            "in": "path",
            "name": "networkSecurityGroupName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SecurityRuleListResult"
            }
          }
        },
        "tags": [
          "SecurityRules"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}": {
      "delete": {
        "description": "The delete network security rule operation deletes the specified network security rule.",
        "operationId": "SecurityRules_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network security group.",
            "in": "path",
            "name": "networkSecurityGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the security rule.",
            "in": "path",
            "name": "securityRuleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "SecurityRules"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get NetworkSecurityRule operation retrieves information about the specified network security rule.",
        "operationId": "SecurityRules_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network security group.",
            "in": "path",
            "name": "networkSecurityGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the security rule.",
            "in": "path",
            "name": "securityRuleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SecurityRule"
            }
          }
        },
        "tags": [
          "SecurityRules"
        ]
      },
      "put": {
        "description": "The Put network security rule operation creates/updates a security rule in the specified network security group",
        "operationId": "SecurityRules_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network security group.",
            "in": "path",
            "name": "networkSecurityGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the security rule.",
            "in": "path",
            "name": "securityRuleName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/update network security rule operation",
            "in": "body",
            "name": "securityRuleParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SecurityRule"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SecurityRule"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SecurityRule"
            }
          }
        },
        "tags": [
          "SecurityRules"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses": {
      "get": {
        "description": "The List publicIpAddress operation retrieves all the publicIpAddresses in a resource group.",
        "operationId": "PublicIpAddresses_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": "",
            "schema": {
              "$ref": "#/definitions/PublicIpAddressListResult"
            }
          }
        },
        "tags": [
          "PublicIpAddresses"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}/": {
      "delete": {
        "description": "The delete publicIpAddress operation deletes the specified publicIpAddress.",
        "operationId": "PublicIpAddresses_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the subnet.",
            "in": "path",
            "name": "publicIpAddressName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "PublicIpAddresses"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get publicIpAddress operation retrieves information about the specified pubicIpAddress",
        "operationId": "PublicIpAddresses_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the subnet.",
            "in": "path",
            "name": "publicIpAddressName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PublicIpAddress"
            }
          }
        },
        "tags": [
          "PublicIpAddresses"
        ]
      },
      "put": {
        "description": "The Put PublicIPAddress operation creates/updates a stable/dynamic PublicIP address",
        "operationId": "PublicIpAddresses_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the publicIpAddress.",
            "in": "path",
            "name": "publicIpAddressName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/update PublicIPAddress operation",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PublicIpAddress"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PublicIpAddress"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PublicIpAddress"
            }
          }
        },
        "tags": [
          "PublicIpAddresses"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables": {
      "get": {
        "description": "The list RouteTables returns all route tables in a resource group",
        "operationId": "RouteTables_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": "",
            "schema": {
              "$ref": "#/definitions/RouteTableListResult"
            }
          }
        },
        "tags": [
          "RouteTables"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}": {
      "delete": {
        "description": "The Delete RouteTable operation deletes the specified Route Table",
        "operationId": "RouteTables_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "RouteTables"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get RouteTables operation retrieves information about the specified route table.",
        "operationId": "RouteTables_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RouteTable"
            }
          }
        },
        "tags": [
          "RouteTables"
        ]
      },
      "put": {
        "description": "The Put RouteTable operation creates/updates a route table in the specified resource group.",
        "operationId": "RouteTables_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/update Route Table operation",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RouteTable"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RouteTable"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RouteTable"
            }
          }
        },
        "tags": [
          "RouteTables"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes": {
      "get": {
        "description": "The List network security rule operation retrieves all the routes in a route table.",
        "operationId": "Routes_List",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RouteListResult"
            }
          }
        },
        "tags": [
          "Routes"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}": {
      "delete": {
        "description": "The delete route operation deletes the specified route from a route table.",
        "operationId": "Routes_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Routes"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get route operation retrieves information about the specified route from the route table.",
        "operationId": "Routes_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Route"
            }
          }
        },
        "tags": [
          "Routes"
        ]
      },
      "put": {
        "description": "The Put route operation creates/updates a route in the specified route table",
        "operationId": "Routes_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route table.",
            "in": "path",
            "name": "routeTableName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/update route operation",
            "in": "body",
            "name": "routeParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Route"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Route"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Route"
            }
          }
        },
        "tags": [
          "Routes"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways": {
      "get": {
        "description": "The List VirtualNetworkGateways operation retrieves all the virtual network gateways stored.",
        "operationId": "VirtualNetworkGateways_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": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGatewayListResult"
            }
          }
        },
        "tags": [
          "VirtualNetworkGateways"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/": {
      "delete": {
        "description": "The Delete VirtualNetworkGateway operation deletes the specified virtual network Gateway through Network resource provider.",
        "operationId": "VirtualNetworkGateways_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network gateway.",
            "in": "path",
            "name": "virtualNetworkGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "VirtualNetworkGateways"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualnetworkgateways/{virtualNetworkGatewayName}": {
      "get": {
        "description": "The Get VirtualNetworkGateway operation retrieves information about the specified virtual network gateway through Network resource provider.",
        "operationId": "VirtualNetworkGateways_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network gateway.",
            "in": "path",
            "name": "virtualNetworkGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGateway"
            }
          }
        },
        "tags": [
          "VirtualNetworkGateways"
        ]
      },
      "put": {
        "description": "The Put VirtualNetworkGateway operation creates/updates a virtual network gateway in the specified resource group through Network resource provider.",
        "operationId": "VirtualNetworkGateways_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network gateway.",
            "in": "path",
            "name": "virtualNetworkGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the Begin Create or update Virtual Network Gateway operation through Network resource provider.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGateway"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGateway"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGateway"
            }
          }
        },
        "tags": [
          "VirtualNetworkGateways"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualnetworkgateways/{virtualNetworkGatewayName}/reset": {
      "post": {
        "description": "The Reset VirtualNetworkGateway operation resets the primary of the virtual network gateway in the specified resource group through Network resource provider.",
        "operationId": "VirtualNetworkGateways_Reset",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual network gateway.",
            "in": "path",
            "name": "virtualNetworkGatewayName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the Begin Reset Virtual Network Gateway operation through Network resource provider.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGateway"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkGateway"
            }
          },
          "202": {
            "description": ""
          }
        },
        "tags": [
          "VirtualNetworkGateways"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualnetworks": {
      "get": {
        "description": "The list VirtualNetwork returns 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": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetworkListResult"
            }
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualnetworks/{virtualNetworkName}": {
      "delete": {
        "description": "The Delete VirtualNetwork operation 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": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get VirtualNetwork operation retrieves information about the specified virtual network.",
        "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"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          }
        },
        "tags": [
          "VirtualNetworks"
        ]
      },
      "put": {
        "description": "The Put VirtualNetwork operation creates/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/update Virtual Network operation",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/VirtualNetwork"
            }
          }
        },
        "tags": [
          "VirtualNetworks"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualnetworks/{virtualNetworkName}/subnets": {
      "get": {
        "description": "The List subnets operation retrieves all the 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": "",
            "schema": {
              "$ref": "#/definitions/SubnetListResult"
            }
          }
        },
        "tags": [
          "Subnets"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualnetworks/{virtualNetworkName}/subnets/{subnetName}": {
      "delete": {
        "description": "The delete subnet operation 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": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Subnets"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The Get subnet operation retrieves information about the specified subnet.",
        "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"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Subnet"
            }
          }
        },
        "tags": [
          "Subnets"
        ]
      },
      "put": {
        "description": "The Put Subnet operation creates/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/update Subnet operation",
            "in": "body",
            "name": "subnetParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Subnet"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Subnet"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Subnet"
            }
          }
        },
        "tags": [
          "Subnets"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces": {
      "get": {
        "description": "The list network interface operation retrieves information about all network interfaces in a virtual machine scale set.",
        "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetNetworkInterfaces",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual machine scale set.",
            "in": "path",
            "name": "virtualMachineScaleSetName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkInterfaceListResult"
            }
          }
        },
        "tags": [
          "NetworkInterfaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces": {
      "get": {
        "description": "The list network interface operation retrieves information about all network interfaces in a virtual machine from a virtual machine scale set.",
        "operationId": "NetworkInterfaces_ListVirtualMachineScaleSetVMNetworkInterfaces",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual machine scale set.",
            "in": "path",
            "name": "virtualMachineScaleSetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The virtual machine index.",
            "in": "path",
            "name": "virtualmachineIndex",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkInterfaceListResult"
            }
          }
        },
        "tags": [
          "NetworkInterfaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}": {
      "get": {
        "description": "The Get network interface operation retrieves information about the specified network interface in a virtual machine scale set.",
        "operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the virtual machine scale set.",
            "in": "path",
            "name": "virtualMachineScaleSetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The virtual machine index.",
            "in": "path",
            "name": "virtualmachineIndex",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the network interface.",
            "in": "path",
            "name": "networkInterfaceName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NetworkInterface"
            }
          }
        },
        "tags": [
          "NetworkInterfaces"
        ]
      }
    }
  },
  "definitions": {
    "AddressSpace": {
      "description": "AddressSpace contains an array of IP address ranges that can be used by subnets",
      "properties": {
        "addressPrefixes": {
          "description": "Gets or sets List of address blocks reserved for this virtual network in CIDR notation",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "ApplicationGateway": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "ApplicationGateways resource",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ApplicationGatewayPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApplicationGatewayBackendAddress": {
      "description": "Backend Address of application gateway",
      "properties": {
        "fqdn": {
          "description": "Gets or sets the dns name",
          "type": "string"
        },
        "ipAddress": {
          "description": "Gets or sets the ip address",
          "type": "string"
        }
      }
    },
    "ApplicationGatewayBackendAddressPool": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Backend Address Pool of application gateway",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ApplicationGatewayBackendAddressPoolPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApplicationGatewayBackendAddressPoolPropertiesFormat": {
      "description": "Properties of Backend Address Pool of application gateway",
      "properties": {
        "backendAddresses": {
          "description": "Gets or sets the backend addresses",
          "items": {
            "$ref": "#/definitions/ApplicationGatewayBackendAddress"
          },
          "type": "array"
        },
        "backendIPConfigurations": {
          "description": "Gets or sets backendIPConfiguration of application gateway ",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the backend address pool resource Updating/Deleting/Failed",
          "type": "string"
        }
      }
    },
    "ApplicationGatewayBackendHttpSettings": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Backend address pool settings of application gateway",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ApplicationGatewayBackendHttpSettingsPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApplicationGatewayBackendHttpSettingsPropertiesFormat": {
      "description": "Properties of Backend address pool settings of application gateway",
      "properties": {
        "cookieBasedAffinity": {
          "description": "Gets or sets the cookie affinity",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationGatewayCookieBasedAffinity"
          }
        },
        "port": {
          "description": "Gets or sets the port",
          "format": "int32",
          "type": "integer"
        },
        "protocol": {
          "description": "Gets or sets the protocol",
          "enum": [
            "Http",
            "Https"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationGatewayProtocol"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed",
          "type": "string"
        }
      }
    },
    "ApplicationGatewayFrontendIPConfiguration": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Frontend IP configuration of application gateway",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ApplicationGatewayFrontendIPConfigurationPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApplicationGatewayFrontendIPConfigurationPropertiesFormat": {
      "description": "Properties of Frontend IP configuration of application gateway",
      "properties": {
        "privateIPAddress": {
          "description": "Gets or sets the privateIPAddress of the Network Interface IP Configuration",
          "type": "string"
        },
        "privateIPAllocationMethod": {
          "description": "Gets or sets PrivateIP allocation method (Static/Dynamic)",
          "enum": [
            "Static",
            "Dynamic"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "IpAllocationMethod"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "publicIPAddress": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the PublicIP resource"
        },
        "subnet": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the subnet resource"
        }
      }
    },
    "ApplicationGatewayFrontendPort": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Frontend Port of application gateway",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ApplicationGatewayFrontendPortPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApplicationGatewayFrontendPortPropertiesFormat": {
      "description": "Properties of Frontend Port of application gateway",
      "properties": {
        "port": {
          "description": "Gets or sets the frontend port",
          "format": "int32",
          "type": "integer"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the frontend port resource Updating/Deleting/Failed",
          "type": "string"
        }
      }
    },
    "ApplicationGatewayHttpListener": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Http listener of application gateway",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ApplicationGatewayHttpListenerPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApplicationGatewayHttpListenerPropertiesFormat": {
      "description": "Properties of Http listener of application gateway",
      "properties": {
        "frontendIPConfiguration": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets frontend IP configuration resource of application gateway "
        },
        "frontendPort": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets frontend port resource of application gateway "
        },
        "protocol": {
          "description": "Gets or sets the protocol",
          "enum": [
            "Http",
            "Https"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationGatewayProtocol"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the http listener resource Updating/Deleting/Failed",
          "type": "string"
        },
        "sslCertificate": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets ssl certificate resource of application gateway "
        }
      }
    },
    "ApplicationGatewayIPConfiguration": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "IP configuration of application gateway",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ApplicationGatewayIPConfigurationPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApplicationGatewayIPConfigurationPropertiesFormat": {
      "description": "Properties of IP configuration of application gateway",
      "properties": {
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the application gateway subnet resource Updating/Deleting/Failed",
          "type": "string"
        },
        "subnet": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the subnet resource.A subnet from where application gateway gets its private address "
        }
      }
    },
    "ApplicationGatewayListResult": {
      "description": "Response for ListLoadBalancers Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets a list of ApplicationGateways in a resource group",
          "items": {
            "$ref": "#/definitions/ApplicationGateway"
          },
          "type": "array"
        }
      }
    },
    "ApplicationGatewayPropertiesFormat": {
      "description": "Properties of Application Gateway",
      "properties": {
        "backendAddressPools": {
          "description": "Gets or sets backend address pool of application gateway resource",
          "items": {
            "$ref": "#/definitions/ApplicationGatewayBackendAddressPool"
          },
          "type": "array"
        },
        "backendHttpSettingsCollection": {
          "description": "Gets or sets backend http settings of application gateway resource",
          "items": {
            "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings"
          },
          "type": "array"
        },
        "frontendIPConfigurations": {
          "description": "Gets or sets frontend IP addresses of application gateway resource",
          "items": {
            "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration"
          },
          "type": "array"
        },
        "frontendPorts": {
          "description": "Gets or sets frontend ports of application gateway resource",
          "items": {
            "$ref": "#/definitions/ApplicationGatewayFrontendPort"
          },
          "type": "array"
        },
        "gatewayIPConfigurations": {
          "description": "Gets or sets subnets of application gateway resource",
          "items": {
            "$ref": "#/definitions/ApplicationGatewayIPConfiguration"
          },
          "type": "array"
        },
        "httpListeners": {
          "description": "Gets or sets HTTP listeners of application gateway resource",
          "items": {
            "$ref": "#/definitions/ApplicationGatewayHttpListener"
          },
          "type": "array"
        },
        "operationalState": {
          "description": "Gets operational state of application gateway resource",
          "enum": [
            "Stopped",
            "Starting",
            "Running",
            "Stopping"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationGatewayOperationalState"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the ApplicationGateway resource Updating/Deleting/Failed",
          "type": "string"
        },
        "requestRoutingRules": {
          "description": "Gets or sets request routing rules of application gateway resource",
          "items": {
            "$ref": "#/definitions/ApplicationGatewayRequestRoutingRule"
          },
          "type": "array"
        },
        "resourceGuid": {
          "description": "Gets or sets resource guid property of the ApplicationGateway resource",
          "type": "string"
        },
        "sku": {
          "$ref": "#/definitions/ApplicationGatewaySku",
          "description": "Gets or sets sku of application gateway resource"
        },
        "sslCertificates": {
          "description": "Gets or sets ssl certificates of application gateway resource",
          "items": {
            "$ref": "#/definitions/ApplicationGatewaySslCertificate"
          },
          "type": "array"
        }
      }
    },
    "ApplicationGatewayRequestRoutingRule": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Request routing rule of application gateway",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ApplicationGatewayRequestRoutingRulePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApplicationGatewayRequestRoutingRulePropertiesFormat": {
      "description": "Properties of Request routing rule of application gateway",
      "properties": {
        "backendAddressPool": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets backend address pool resource of application gateway "
        },
        "backendHttpSettings": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets frontend port resource of application gateway "
        },
        "httpListener": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets http listener resource of application gateway "
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the request routing rule resource Updating/Deleting/Failed",
          "type": "string"
        },
        "ruleType": {
          "description": "Gets or sets the rule type",
          "enum": [
            "Basic"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationGatewayRequestRoutingRuleType"
          }
        }
      }
    },
    "ApplicationGatewaySku": {
      "description": "SKU of application gateway",
      "properties": {
        "capacity": {
          "description": "Gets or sets capacity (instance count) of application gateway",
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "description": "Gets or sets name of application gateway SKU",
          "enum": [
            "Standard_Small",
            "Standard_Medium",
            "Standard_Large"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationGatewaySkuName"
          }
        },
        "tier": {
          "description": "Gets or sets tier of application gateway",
          "enum": [
            "Standard"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationGatewayTier"
          }
        }
      }
    },
    "ApplicationGatewaySslCertificate": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "SSL certificates of application gateway",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ApplicationGatewaySslCertificatePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApplicationGatewaySslCertificatePropertiesFormat": {
      "description": "Properties of SSL certificates of application gateway",
      "properties": {
        "data": {
          "description": "Gets or sets the certificate data ",
          "type": "string"
        },
        "password": {
          "description": "Gets or sets the certificate password ",
          "type": "string"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the ssl certificate resource Updating/Deleting/Failed",
          "type": "string"
        },
        "publicCertData": {
          "description": "Gets or sets the certificate public data ",
          "type": "string"
        }
      }
    },
    "AuthorizationListResult": {
      "description": "Response for ListAuthorizations Api service callRetrieves all authorizations that belongs to an ExpressRouteCircuit",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets the authorizations in an ExpressRoute Circuit",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
          },
          "type": "array"
        }
      }
    },
    "AuthorizationPropertiesFormat": {
      "properties": {
        "authorizationKey": {
          "description": "Gets or sets the authorization key",
          "type": "string"
        },
        "authorizationUseStatus": {
          "description": "Gets or sets AuthorizationUseStatus",
          "enum": [
            "Available",
            "InUse"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "AuthorizationUseStatus"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        }
      }
    },
    "AzureAsyncOperationResult": {
      "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure.",
      "properties": {
        "error": {
          "$ref": "#/definitions/Error"
        },
        "status": {
          "description": "Status of the AzureAsyncOperation",
          "enum": [
            "InProgress",
            "Succeeded",
            "Failed"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "NetworkOperationStatus"
          }
        }
      }
    },
    "BackendAddressPool": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Pool of backend IP addresses",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/BackendAddressPoolPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "BackendAddressPoolPropertiesFormat": {
      "description": "Properties of BackendAddressPool",
      "properties": {
        "backendIPConfigurations": {
          "description": "Gets collection of references to IPs defined in NICs",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "loadBalancingRules": {
          "description": "Gets Load Balancing rules that use this Backend Address Pool",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "outboundNatRule": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets outbound rules that use this Backend Address Pool"
        },
        "provisioningState": {
          "description": "Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        }
      }
    },
    "ConnectionResetSharedKey": {
      "properties": {
        "keyLength": {
          "description": "The virtual network connection reset shared key length",
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "ConnectionSharedKey": {
      "description": "Response for GetConnectionSharedKey Api service call",
      "properties": {
        "value": {
          "description": "The virtual network connection shared key value",
          "type": "string"
        }
      }
    },
    "DhcpOptions": {
      "description": "DHCPOptions contains an array of DNS servers available to VMs deployed in the virtual networkStandard DHCP option for a subnet overrides VNET DHCP options.",
      "properties": {
        "dnsServers": {
          "description": "Gets or sets list of DNS servers IP addresses",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "DnsNameAvailabilityResult": {
      "description": "Response for CheckDnsNameAvailability Api service call",
      "properties": {
        "available": {
          "description": "Domain availability (True/False)",
          "type": "boolean"
        }
      }
    },
    "Error": {
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "$ref": "#/definitions/ErrorDetails"
          },
          "type": "array"
        },
        "innerError": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "target": {
          "type": "string"
        }
      }
    },
    "ErrorDetails": {
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "target": {
          "type": "string"
        }
      }
    },
    "ExpressRouteCircuit": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "ExpressRouteCircuit resource",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ExpressRouteCircuitPropertiesFormat",
          "x-ms-client-flatten": true
        },
        "sku": {
          "$ref": "#/definitions/ExpressRouteCircuitSku",
          "description": "Gets or sets sku"
        }
      }
    },
    "ExpressRouteCircuitArpTable": {
      "description": "The arp table associated with the ExpressRouteCircuit",
      "properties": {
        "ipAddress": {
          "description": "Gets ipAddress.",
          "type": "string"
        },
        "macAddress": {
          "description": "Gets macAddress.",
          "type": "string"
        }
      }
    },
    "ExpressRouteCircuitAuthorization": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Authorization in a ExpressRouteCircuit resource",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/AuthorizationPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ExpressRouteCircuitListResult": {
      "description": "Response for ListExpressRouteCircuit Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets a list of ExpressRouteCircuits in a resource group",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuit"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteCircuitPeering": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Peering in a ExpressRouteCircuit resource",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ExpressRouteCircuitPeeringPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ExpressRouteCircuitPeeringConfig": {
      "description": "Specifies the peering config",
      "properties": {
        "advertisedPublicPrefixes": {
          "description": "Gets or sets the reference of AdvertisedPublicPrefixes",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "advertisedPublicPrefixesState": {
          "description": "Gets or sets AdvertisedPublicPrefixState of the Peering resource ",
          "enum": [
            "NotConfigured",
            "Configuring",
            "Configured",
            "ValidationNeeded"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState"
          }
        },
        "customerASN": {
          "description": "Gets or Sets CustomerAsn of the peering.",
          "format": "int32",
          "type": "integer"
        },
        "routingRegistryName": {
          "description": "Gets or Sets RoutingRegistryName of the config.",
          "type": "string"
        }
      }
    },
    "ExpressRouteCircuitPeeringListResult": {
      "description": "Response for ListPeering Api service callRetrieves all Peerings that belongs to an ExpressRouteCircuit",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets the peerings in an express route circuit",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitPeering"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteCircuitPeeringPropertiesFormat": {
      "properties": {
        "azureASN": {
          "description": "Gets or sets the azure ASN",
          "format": "int32",
          "type": "integer"
        },
        "microsoftPeeringConfig": {
          "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig",
          "description": "Gets or sets the Microsoft peering config"
        },
        "peerASN": {
          "description": "Gets or sets the peer ASN",
          "format": "int32",
          "type": "integer"
        },
        "peeringType": {
          "description": "Gets or sets PeeringType",
          "enum": [
            "AzurePublicPeering",
            "AzurePrivatePeering",
            "MicrosoftPeering"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitPeeringType"
          }
        },
        "primaryAzurePort": {
          "description": "Gets or sets the primary port",
          "type": "string"
        },
        "primaryPeerAddressPrefix": {
          "description": "Gets or sets the primary address prefix",
          "type": "string"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "secondaryAzurePort": {
          "description": "Gets or sets the secondary port",
          "type": "string"
        },
        "secondaryPeerAddressPrefix": {
          "description": "Gets or sets the secondary address prefix",
          "type": "string"
        },
        "sharedKey": {
          "description": "Gets or sets the shared key",
          "type": "string"
        },
        "state": {
          "description": "Gets or sets state of Peering",
          "enum": [
            "Disabled",
            "Enabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitPeeringState"
          }
        },
        "stats": {
          "$ref": "#/definitions/ExpressRouteCircuitStats",
          "description": "Gets or peering stats"
        },
        "vlanId": {
          "description": "Gets or sets the vlan id",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ExpressRouteCircuitPropertiesFormat": {
      "description": "Properties of ExpressRouteCircuit",
      "properties": {
        "authorizations": {
          "description": "Gets or sets list of authorizations",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
          },
          "type": "array"
        },
        "circuitProvisioningState": {
          "description": "Gets or sets CircuitProvisioningState state of the resource ",
          "type": "string"
        },
        "peerings": {
          "description": "Gets or sets list of peerings",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitPeering"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "serviceKey": {
          "description": "Gets or sets ServiceKey",
          "type": "string"
        },
        "serviceProviderNotes": {
          "description": "Gets or sets ServiceProviderNotes",
          "type": "string"
        },
        "serviceProviderProperties": {
          "$ref": "#/definitions/ExpressRouteCircuitServiceProviderProperties",
          "description": "Gets or sets ServiceProviderProperties"
        },
        "serviceProviderProvisioningState": {
          "description": "Gets or sets ServiceProviderProvisioningState state of the resource ",
          "enum": [
            "NotProvisioned",
            "Provisioning",
            "Provisioned",
            "Deprovisioning"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ServiceProviderProvisioningState"
          }
        }
      }
    },
    "ExpressRouteCircuitRoutesTable": {
      "description": "The routes table associated with the ExpressRouteCircuit",
      "properties": {
        "addressPrefix": {
          "description": "Gets AddressPrefix.",
          "type": "string"
        },
        "asPath": {
          "description": "Gets AsPath.",
          "type": "string"
        },
        "nextHopIP": {
          "description": "Gets NextHopIP.",
          "type": "string"
        },
        "nextHopType": {
          "description": "Gets NextHopType.",
          "enum": [
            "VirtualNetworkGateway",
            "VnetLocal",
            "Internet",
            "VirtualAppliance",
            "None"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "RouteNextHopType"
          }
        }
      },
      "required": [
        "nextHopType"
      ]
    },
    "ExpressRouteCircuitServiceProviderProperties": {
      "description": "Contains ServiceProviderProperties in an ExpressRouteCircuit",
      "properties": {
        "bandwidthInMbps": {
          "description": "Gets or sets BandwidthInMbps.",
          "format": "int32",
          "type": "integer"
        },
        "peeringLocation": {
          "description": "Gets or sets peering location.",
          "type": "string"
        },
        "serviceProviderName": {
          "description": "Gets or sets serviceProviderName.",
          "type": "string"
        }
      }
    },
    "ExpressRouteCircuitSku": {
      "description": "Contains sku in an ExpressRouteCircuit",
      "properties": {
        "family": {
          "description": "Gets or sets family of the sku.",
          "enum": [
            "UnlimitedData",
            "MeteredData"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitSkuFamily"
          }
        },
        "name": {
          "description": "Gets or sets name of the sku.",
          "type": "string"
        },
        "tier": {
          "description": "Gets or sets tier of the sku.",
          "enum": [
            "Standard",
            "Premium"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ExpressRouteCircuitSkuTier"
          }
        }
      }
    },
    "ExpressRouteCircuitStats": {
      "description": "Contains Stats associated with the peering",
      "properties": {
        "bytesIn": {
          "description": "Gets BytesIn of the peering.",
          "format": "int32",
          "type": "integer"
        },
        "bytesOut": {
          "description": "Gets BytesOut of the peering.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ExpressRouteCircuitsArpTableListResult": {
      "description": "Response for ListArpTable associated with the Express Route Circuits Api",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of ArpTable",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitArpTable"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteCircuitsRoutesTableListResult": {
      "description": "Response for ListRoutesTable associated with the Express Route Circuits Api",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of RoutesTable",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitRoutesTable"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteCircuitsStatsListResult": {
      "description": "Response for ListStats from Express Route Circuits Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of Stats",
          "items": {
            "$ref": "#/definitions/ExpressRouteCircuitStats"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteServiceProvider": {
      "description": "ExpressRouteResourceProvider object",
      "properties": {
        "id": {
          "description": "Gets or sets the ID of the resource.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets the name of the resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ExpressRouteServiceProviderPropertiesFormat"
        },
        "type": {
          "description": "Gets or sets the type of the resource.",
          "type": "string"
        }
      }
    },
    "ExpressRouteServiceProviderBandwidthsOffered": {
      "description": "Contains Bandwidths offered in ExpressRouteServiceProviders",
      "properties": {
        "offerName": {
          "description": "Gets the OfferName",
          "type": "string"
        },
        "valueInMbps": {
          "description": "Gets the ValueInMbps.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ExpressRouteServiceProviderListResult": {
      "description": "Response for ListExpressRouteServiceProvider Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of ExpressRouteResourceProvider",
          "items": {
            "$ref": "#/definitions/ExpressRouteServiceProvider"
          },
          "type": "array"
        }
      }
    },
    "ExpressRouteServiceProviderPropertiesFormat": {
      "description": "Properties of ExpressRouteServiceProvider",
      "properties": {
        "bandwidthsOffered": {
          "description": "Gets or bandwidths offered",
          "items": {
            "$ref": "#/definitions/ExpressRouteServiceProviderBandwidthsOffered"
          },
          "type": "array"
        },
        "peeringLocations": {
          "description": "Gets or list of peering locations",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the resource ",
          "type": "string"
        }
      }
    },
    "FrontendIpConfiguration": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Frontend IP address of the load balancer",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/FrontendIpConfigurationPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "FrontendIpConfigurationPropertiesFormat": {
      "description": "Properties of Frontend IP Configuration of the load balancer",
      "properties": {
        "inboundNatPools": {
          "description": "Read only.Inbound pools URIs that use this frontend IP",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "inboundNatRules": {
          "description": "Read only.Inbound rules URIs that use this frontend IP",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "loadBalancingRules": {
          "description": "Gets Load Balancing rules URIs that use this frontend IP",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "outboundNatRules": {
          "description": "Read only.Outbound rules URIs that use this frontend IP",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "privateIPAddress": {
          "description": "Gets or sets the IP address of the Load Balancer.This is only specified if a specific private IP address shall be allocated from the subnet specified in subnetRef",
          "type": "string"
        },
        "privateIPAllocationMethod": {
          "description": "Gets or sets PrivateIP allocation method (Static/Dynamic)",
          "enum": [
            "Static",
            "Dynamic"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "IpAllocationMethod"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "publicIPAddress": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the PublicIP resource"
        },
        "subnet": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the subnet resource.A subnet from where the load balancer gets its private frontend address "
        }
      }
    },
    "InboundNatPool": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Inbound NAT pool of the loadbalancer",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/InboundNatPoolPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "InboundNatPoolPropertiesFormat": {
      "description": "Properties of Inbound NAT pool",
      "properties": {
        "backendPort": {
          "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API",
          "format": "int32",
          "type": "integer"
        },
        "frontendIPConfiguration": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets a reference to frontend IP Addresses"
        },
        "frontendPortRangeEnd": {
          "description": "Gets or sets the ending port range for the NAT pool. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive",
          "format": "int32",
          "type": "integer"
        },
        "frontendPortRangeStart": {
          "description": "Gets or sets the starting port range for the NAT pool. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive",
          "format": "int32",
          "type": "integer"
        },
        "protocol": {
          "description": "Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp",
          "enum": [
            "Udp",
            "Tcp"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "TransportProtocol"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        }
      },
      "required": [
        "protocol",
        "frontendPortRangeStart",
        "frontendPortRangeEnd",
        "backendPort"
      ]
    },
    "InboundNatRule": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Inbound NAT rule of the loadbalancer",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/InboundNatRulePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "InboundNatRulePropertiesFormat": {
      "description": "Properties of Inbound NAT rule",
      "properties": {
        "backendIPConfiguration": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets a reference to a private ip address defined on a NetworkInterface of a VM. Traffic sent to frontendPort of each of the frontendIPConfigurations is forwarded to the backed IP"
        },
        "backendPort": {
          "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API",
          "format": "int32",
          "type": "integer"
        },
        "enableFloatingIP": {
          "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn availability Group. This setting is required when using the SQL Always ON availability Groups in SQL server. This setting can't be changed after you create the endpoint",
          "type": "boolean"
        },
        "frontendIPConfiguration": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets a reference to frontend IP Addresses"
        },
        "frontendPort": {
          "description": "Gets or sets the port for the external endpoint. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive",
          "format": "int32",
          "type": "integer"
        },
        "idleTimeoutInMinutes": {
          "description": "Gets or sets the timeout for the Tcp idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to Tcp",
          "format": "int32",
          "type": "integer"
        },
        "protocol": {
          "description": "Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp",
          "enum": [
            "Udp",
            "Tcp"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "TransportProtocol"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        }
      },
      "required": [
        "protocol",
        "frontendPort",
        "enableFloatingIP"
      ]
    },
    "LoadBalancer": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "LoadBalancer resource",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/LoadBalancerPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "LoadBalancerListResult": {
      "description": "Response for ListLoadBalancers Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets a list of LoadBalancers in a resource group",
          "items": {
            "$ref": "#/definitions/LoadBalancer"
          },
          "type": "array"
        }
      }
    },
    "LoadBalancerPropertiesFormat": {
      "description": "Properties of Load Balancer",
      "properties": {
        "backendAddressPools": {
          "description": "Gets or sets Pools of backend IP addresses",
          "items": {
            "$ref": "#/definitions/BackendAddressPool"
          },
          "type": "array"
        },
        "frontendIPConfigurations": {
          "description": "Gets or sets frontend IP addresses of the load balancer",
          "items": {
            "$ref": "#/definitions/FrontendIpConfiguration"
          },
          "type": "array"
        },
        "inboundNatPools": {
          "description": "Gets or sets inbound NAT pools",
          "items": {
            "$ref": "#/definitions/InboundNatPool"
          },
          "type": "array"
        },
        "inboundNatRules": {
          "description": "Gets or sets list of inbound rules",
          "items": {
            "$ref": "#/definitions/InboundNatRule"
          },
          "type": "array"
        },
        "loadBalancingRules": {
          "description": "Gets or sets load balancing rules",
          "items": {
            "$ref": "#/definitions/LoadBalancingRule"
          },
          "type": "array"
        },
        "outboundNatRules": {
          "description": "Gets or sets outbound NAT rules",
          "items": {
            "$ref": "#/definitions/OutboundNatRule"
          },
          "type": "array"
        },
        "probes": {
          "description": "Gets or sets list of Load balancer probes",
          "items": {
            "$ref": "#/definitions/Probe"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "resourceGuid": {
          "description": "Gets or sets resource guid property of the Load balancer resource",
          "type": "string"
        }
      }
    },
    "LoadBalancingRule": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Rules of the load balancer",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/LoadBalancingRulePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "LoadBalancingRulePropertiesFormat": {
      "description": "Properties of the load balancer",
      "properties": {
        "backendAddressPool": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets  a reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs"
        },
        "backendPort": {
          "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API",
          "format": "int32",
          "type": "integer"
        },
        "enableFloatingIP": {
          "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn availability Group. This setting is required when using the SQL Always ON availability Groups in SQL server. This setting can't be changed after you create the endpoint",
          "type": "boolean"
        },
        "frontendIPConfiguration": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets a reference to frontend IP Addresses"
        },
        "frontendPort": {
          "description": "Gets or sets the port for the external endpoint. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive",
          "format": "int32",
          "type": "integer"
        },
        "idleTimeoutInMinutes": {
          "description": "Gets or sets the timeout for the Tcp idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to Tcp",
          "format": "int32",
          "type": "integer"
        },
        "loadDistribution": {
          "description": "Gets or sets the load distribution policy for this rule",
          "enum": [
            "Default",
            "SourceIP",
            "SourceIPProtocol"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "LoadDistribution"
          }
        },
        "probe": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the load balancer probe used by the Load Balancing rule."
        },
        "protocol": {
          "description": "Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp",
          "enum": [
            "Udp",
            "Tcp"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "TransportProtocol"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        }
      },
      "required": [
        "backendAddressPool",
        "protocol",
        "frontendPort",
        "enableFloatingIP"
      ]
    },
    "LocalNetworkGateway": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "A common class for general resource information",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/LocalNetworkGatewayPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "LocalNetworkGatewayListResult": {
      "description": "Response for ListLocalNetworkGateways Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of LocalNetworkGateways that exists in a resource group",
          "items": {
            "$ref": "#/definitions/LocalNetworkGateway"
          },
          "type": "array"
        }
      }
    },
    "LocalNetworkGatewayPropertiesFormat": {
      "description": "LocalNetworkGateway properties",
      "properties": {
        "gatewayIpAddress": {
          "description": "IP address of local network gateway.",
          "type": "string"
        },
        "localNetworkAddressSpace": {
          "$ref": "#/definitions/AddressSpace",
          "description": "Local network site Address space"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the LocalNetworkGateway resource Updating/Deleting/Failed",
          "type": "string"
        },
        "resourceGuid": {
          "description": "Gets or sets resource guid property of the LocalNetworkGateway resource",
          "type": "string"
        }
      }
    },
    "NetworkInterface": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "A NetworkInterface in a resource group",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/NetworkInterfacePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "NetworkInterfaceDnsSettings": {
      "description": "Dns Settings of a network interface",
      "properties": {
        "appliedDnsServers": {
          "description": "Gets or sets list of Applied DNS servers IP addresses",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "dnsServers": {
          "description": "Gets or sets list of DNS servers IP addresses",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "internalDnsNameLabel": {
          "description": "Gets or sets the Internal DNS name",
          "type": "string"
        },
        "internalFqdn": {
          "description": "Gets or sets full IDNS name in the form, DnsName.VnetId.ZoneId.TopLevelSuffix. This is set when the NIC is associated to a VM",
          "type": "string"
        }
      }
    },
    "NetworkInterfaceIpConfiguration": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "IPConfiguration in a NetworkInterface",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/NetworkInterfaceIpConfigurationPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "NetworkInterfaceIpConfigurationPropertiesFormat": {
      "description": "Properties of IPConfiguration",
      "properties": {
        "loadBalancerBackendAddressPools": {
          "description": "Gets or sets the reference of LoadBalancerBackendAddressPool resource",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "loadBalancerInboundNatRules": {
          "description": "Gets or sets list of references of LoadBalancerInboundNatRules",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "privateIPAddress": {
          "description": "Gets or sets the privateIPAddress of the Network Interface IP Configuration",
          "type": "string"
        },
        "privateIPAllocationMethod": {
          "description": "Gets or sets PrivateIP allocation method (Static/Dynamic)",
          "enum": [
            "Static",
            "Dynamic"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "IpAllocationMethod"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "publicIPAddress": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the PublicIP resource"
        },
        "subnet": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the subnet resource"
        }
      }
    },
    "NetworkInterfaceListResult": {
      "description": "Response for ListNetworkInterface Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets list of NetworkInterfaces in a resource group",
          "items": {
            "$ref": "#/definitions/NetworkInterface"
          },
          "type": "array"
        }
      }
    },
    "NetworkInterfacePropertiesFormat": {
      "description": "NetworkInterface properties. ",
      "properties": {
        "dnsSettings": {
          "$ref": "#/definitions/NetworkInterfaceDnsSettings",
          "description": "Gets or sets DNS Settings in  NetworkInterface"
        },
        "enableIPForwarding": {
          "description": "Gets or sets whether IPForwarding is enabled on the NIC",
          "type": "boolean"
        },
        "ipConfigurations": {
          "description": "Gets or sets list of IPConfigurations of the NetworkInterface",
          "items": {
            "$ref": "#/definitions/NetworkInterfaceIpConfiguration"
          },
          "type": "array"
        },
        "macAddress": {
          "description": "Gets the MAC Address of the network interface",
          "type": "string"
        },
        "networkSecurityGroup": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the NetworkSecurityGroup resource"
        },
        "primary": {
          "description": "Gets whether this is a primary NIC on a virtual machine",
          "type": "boolean"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "resourceGuid": {
          "description": "Gets or sets resource guid property of the network interface resource",
          "type": "string"
        },
        "virtualMachine": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of a VirtualMachine"
        }
      }
    },
    "NetworkSecurityGroup": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "NetworkSecurityGroup resource",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/NetworkSecurityGroupPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "NetworkSecurityGroupListResult": {
      "description": "Response for ListNetworkSecurityGroups Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of NetworkSecurityGroups in a resource group",
          "items": {
            "$ref": "#/definitions/NetworkSecurityGroup"
          },
          "type": "array"
        }
      }
    },
    "NetworkSecurityGroupPropertiesFormat": {
      "description": "Network Security Group resource",
      "properties": {
        "defaultSecurityRules": {
          "description": "Gets or sets Default security rules of network security group",
          "items": {
            "$ref": "#/definitions/SecurityRule"
          },
          "type": "array"
        },
        "networkInterfaces": {
          "description": "Gets collection of references to Network Interfaces",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "resourceGuid": {
          "description": "Gets or sets resource guid property of the network security group resource",
          "type": "string"
        },
        "securityRules": {
          "description": "Gets or sets Security rules of network security group",
          "items": {
            "$ref": "#/definitions/SecurityRule"
          },
          "type": "array"
        },
        "subnets": {
          "description": "Gets collection of references to subnets",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        }
      }
    },
    "OutboundNatRule": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Outbound NAT pool of the loadbalancer",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/OutboundNatRulePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "OutboundNatRulePropertiesFormat": {
      "description": "Outbound NAT pool of the loadbalancer",
      "properties": {
        "allocatedOutboundPorts": {
          "description": "Gets or sets the number of outbound ports to be used for SNAT",
          "format": "int32",
          "type": "integer"
        },
        "backendAddressPool": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets a reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs"
        },
        "frontendIPConfigurations": {
          "description": "Gets or sets Frontend IP addresses of the load balancer",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        }
      },
      "required": [
        "allocatedOutboundPorts",
        "backendAddressPool"
      ]
    },
    "Probe": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Load balancer Probe",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/ProbePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "ProbePropertiesFormat": {
      "properties": {
        "intervalInSeconds": {
          "description": "Gets or sets the interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5",
          "format": "int32",
          "type": "integer"
        },
        "loadBalancingRules": {
          "description": "Gets Load balancer rules that use this probe",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "numberOfProbes": {
          "description": "Gets or sets the number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. ",
          "format": "int32",
          "type": "integer"
        },
        "port": {
          "description": "Gets or sets Port for communicating the probe. Possible values range from 1 to 65535, inclusive.",
          "format": "int32",
          "type": "integer"
        },
        "protocol": {
          "description": "Gets or sets the protocol of the end point. Possible values are http pr Tcp. If Tcp is specified, a received ACK is required for the probe to be successful. If http is specified,a 200 OK response from the specifies URI is required for the probe to be successful",
          "enum": [
            "Http",
            "Tcp"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ProbeProtocol"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "requestPath": {
          "description": "Gets or sets the URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value",
          "type": "string"
        }
      },
      "required": [
        "protocol",
        "port"
      ]
    },
    "PublicIpAddress": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "PublicIPAddress resource",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/PublicIpAddressPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "PublicIpAddressDnsSettings": {
      "description": "Contains FQDN of the DNS record associated with the public IP address",
      "properties": {
        "domainNameLabel": {
          "description": "Gets or sets the Domain name label.The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system.",
          "type": "string"
        },
        "fqdn": {
          "description": "Gets the FQDN, Fully qualified domain name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone.",
          "type": "string"
        },
        "reverseFqdn": {
          "description": "Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. ",
          "type": "string"
        }
      }
    },
    "PublicIpAddressListResult": {
      "description": "Response for ListPublicIpAddresses Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of publicIP addresses that exists in a resource group",
          "items": {
            "$ref": "#/definitions/PublicIpAddress"
          },
          "type": "array"
        }
      }
    },
    "PublicIpAddressPropertiesFormat": {
      "description": "PublicIpAddress properties",
      "properties": {
        "dnsSettings": {
          "$ref": "#/definitions/PublicIpAddressDnsSettings",
          "description": "Gets or sets FQDN of the DNS record associated with the public IP address"
        },
        "idleTimeoutInMinutes": {
          "description": "Gets or sets the idle timeout of the public IP address",
          "format": "int32",
          "type": "integer"
        },
        "ipAddress": {
          "description": "Gets the assigned public IP address",
          "type": "string"
        },
        "ipConfiguration": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets a reference to the network interface IP configurations using this public IP address"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "publicIPAllocationMethod": {
          "description": "Gets or sets PublicIP allocation method (Static/Dynamic)",
          "enum": [
            "Static",
            "Dynamic"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "IpAllocationMethod"
          }
        },
        "resourceGuid": {
          "description": "Gets or sets resource guid property of the PublicIP resource",
          "type": "string"
        }
      },
      "required": [
        "publicIPAllocationMethod"
      ]
    },
    "Resource": {
      "properties": {
        "id": {
          "description": "Resource Id",
          "readOnly": true,
          "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"
        }
      },
      "required": [
        "location"
      ],
      "x-ms-azure-resource": true
    },
    "Route": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Route resource",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/RoutePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "RouteListResult": {
      "description": "Response for ListRoute Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of Routes in a resource group",
          "items": {
            "$ref": "#/definitions/Route"
          },
          "type": "array"
        }
      }
    },
    "RoutePropertiesFormat": {
      "description": "Route resource",
      "properties": {
        "addressPrefix": {
          "description": "Gets or sets the destination CIDR to which the route applies.",
          "type": "string"
        },
        "nextHopIpAddress": {
          "description": "Gets or sets the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance.",
          "type": "string"
        },
        "nextHopType": {
          "description": "Gets or sets the type of Azure hop the packet should be sent to.",
          "enum": [
            "VirtualNetworkGateway",
            "VnetLocal",
            "Internet",
            "VirtualAppliance",
            "None"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "RouteNextHopType"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the resource Updating/Deleting/Failed",
          "type": "string"
        }
      },
      "required": [
        "nextHopType"
      ]
    },
    "RouteTable": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "RouteTable resource",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/RouteTablePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "RouteTableListResult": {
      "description": "Response for ListRouteTable Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of RouteTables in a resource group",
          "items": {
            "$ref": "#/definitions/RouteTable"
          },
          "type": "array"
        }
      }
    },
    "RouteTablePropertiesFormat": {
      "description": "Route Table resource",
      "properties": {
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the resource Updating/Deleting/Failed",
          "type": "string"
        },
        "routes": {
          "description": "Gets or sets Routes in a Route Table",
          "items": {
            "$ref": "#/definitions/Route"
          },
          "type": "array"
        },
        "subnets": {
          "description": "Gets collection of references to subnets",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        }
      }
    },
    "SecurityRule": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Network security rule",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/SecurityRulePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "SecurityRuleListResult": {
      "description": "Response for ListSecurityRule Api service callRetrieves all security rules that belongs to a network security group",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets security rules in a network security group",
          "items": {
            "$ref": "#/definitions/SecurityRule"
          },
          "type": "array"
        }
      }
    },
    "SecurityRulePropertiesFormat": {
      "properties": {
        "access": {
          "description": "Gets or sets network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'",
          "enum": [
            "Allow",
            "Deny"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "SecurityRuleAccess"
          }
        },
        "description": {
          "description": "Gets or sets a description for this rule. Restricted to 140 chars.",
          "type": "string"
        },
        "destinationAddressPrefix": {
          "description": "Gets or sets destination address prefix. CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. ",
          "type": "string"
        },
        "destinationPortRange": {
          "description": "Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.",
          "type": "string"
        },
        "direction": {
          "description": "Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outgoing traffic.",
          "enum": [
            "Inbound",
            "Outbound"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "SecurityRuleDirection"
          }
        },
        "priority": {
          "description": "Gets or sets the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.",
          "format": "int32",
          "type": "integer"
        },
        "protocol": {
          "description": "Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*).",
          "enum": [
            "Tcp",
            "Udp",
            "*"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "SecurityRuleProtocol"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "sourceAddressPrefix": {
          "description": "Gets or sets source address prefix. CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. ",
          "type": "string"
        },
        "sourcePortRange": {
          "description": "Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.",
          "type": "string"
        }
      },
      "required": [
        "protocol",
        "sourceAddressPrefix",
        "destinationAddressPrefix",
        "access",
        "direction"
      ]
    },
    "SubResource": {
      "properties": {
        "id": {
          "description": "Resource Id",
          "type": "string"
        }
      },
      "x-ms-azure-resource": true
    },
    "Subnet": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "Subnet in a VirtualNetwork resource",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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",
          "x-ms-client-flatten": true
        }
      }
    },
    "SubnetListResult": {
      "description": "Response for ListSubnets Api service callRetrieves all subnet that belongs to a virtual network",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets the subnets in a virtual network",
          "items": {
            "$ref": "#/definitions/Subnet"
          },
          "type": "array"
        }
      }
    },
    "SubnetPropertiesFormat": {
      "properties": {
        "addressPrefix": {
          "description": "Gets or sets Address prefix for the subnet.",
          "type": "string"
        },
        "ipConfigurations": {
          "description": "Gets array of references to the network interface IP configurations using subnet",
          "items": {
            "$ref": "#/definitions/SubResource"
          },
          "type": "array"
        },
        "networkSecurityGroup": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the NetworkSecurityGroup resource"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "routeTable": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the RouteTable resource"
        }
      },
      "required": [
        "addressPrefix"
      ]
    },
    "Usage": {
      "description": "Describes Network Resource Usage.",
      "properties": {
        "currentValue": {
          "description": "Gets or sets the current value of the usage.",
          "format": "int32",
          "type": "integer"
        },
        "limit": {
          "description": "Gets or sets the limit of usage.",
          "format": "int64",
          "type": "integer"
        },
        "name": {
          "$ref": "#/definitions/UsageName",
          "description": "Gets or sets the name of the type of usage."
        },
        "unit": {
          "description": "Gets or sets an enum describing the unit of measurement.",
          "enum": [
            "Count"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "UsageUnit"
          }
        }
      },
      "required": [
        "unit",
        "currentValue",
        "limit",
        "name"
      ]
    },
    "UsageName": {
      "description": "The Usage Names.",
      "properties": {
        "localizedValue": {
          "description": "Gets or sets a localized string describing the resource name.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets a string describing the resource name.",
          "type": "string"
        }
      }
    },
    "UsagesListResult": {
      "description": "The List Usages operation response.",
      "properties": {
        "nextLink": {
          "description": "URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the list Network Resource Usages.",
          "items": {
            "$ref": "#/definitions/Usage"
          },
          "type": "array"
        }
      }
    },
    "VirtualNetwork": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "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",
          "x-ms-client-flatten": true
        }
      }
    },
    "VirtualNetworkGateway": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "A common class for general resource information",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "VirtualNetworkGatewayConnection": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "A common class for general resource information",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/VirtualNetworkGatewayConnectionPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "VirtualNetworkGatewayConnectionListResult": {
      "description": "Response for ListVirtualNetworkGatewayConnections Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of VirtualNetworkGatewayConnections that exists in a resource group",
          "items": {
            "$ref": "#/definitions/VirtualNetworkGatewayConnection"
          },
          "type": "array"
        }
      }
    },
    "VirtualNetworkGatewayConnectionPropertiesFormat": {
      "description": "VirtualNetworkGatewayConnection properties",
      "properties": {
        "connectionStatus": {
          "description": "Virtual network Gateway connection status",
          "enum": [
            "Unknown",
            "Connecting",
            "Connected",
            "NotConnected"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "VirtualNetworkGatewayConnectionStatus"
          }
        },
        "connectionType": {
          "description": "Gateway connection type IPsec/Dedicated/VpnClient/Vnet2Vnet",
          "enum": [
            "IPsec",
            "Vnet2Vnet",
            "ExpressRoute",
            "VPNClient"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "VirtualNetworkGatewayConnectionType"
          }
        },
        "egressBytesTransferred": {
          "description": "The Egress Bytes Transferred in this connection",
          "format": "int64",
          "type": "integer"
        },
        "ingressBytesTransferred": {
          "description": "The Ingress Bytes Transferred in this connection",
          "format": "int64",
          "type": "integer"
        },
        "localNetworkGateway2": {
          "$ref": "#/definitions/LocalNetworkGateway"
        },
        "peer": {
          "$ref": "#/definitions/SubResource",
          "description": "The reference to peerings resource."
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the VirtualNetworkGatewayConnection resource Updating/Deleting/Failed",
          "type": "string"
        },
        "resourceGuid": {
          "description": "Gets or sets resource guid property of the VirtualNetworkGatewayConnection resource",
          "type": "string"
        },
        "routingWeight": {
          "description": "The Routing weight.",
          "format": "int32",
          "type": "integer"
        },
        "sharedKey": {
          "description": "The IPsec share key.",
          "type": "string"
        },
        "virtualNetworkGateway1": {
          "$ref": "#/definitions/VirtualNetworkGateway"
        },
        "virtualNetworkGateway2": {
          "$ref": "#/definitions/VirtualNetworkGateway"
        }
      }
    },
    "VirtualNetworkGatewayIpConfiguration": {
      "allOf": [
        {
          "$ref": "#/definitions/SubResource"
        }
      ],
      "description": "IpConfiguration for Virtual network gateway",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated",
          "type": "string"
        },
        "name": {
          "description": "Gets 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/VirtualNetworkGatewayIpConfigurationPropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "VirtualNetworkGatewayIpConfigurationPropertiesFormat": {
      "description": "Properties of VirtualNetworkGatewayIPConfiguration",
      "properties": {
        "privateIPAddress": {
          "description": "Gets or sets the privateIPAddress of the Network Interface IP Configuration",
          "type": "string"
        },
        "privateIPAllocationMethod": {
          "description": "Gets or sets PrivateIP allocation method (Static/Dynamic)",
          "enum": [
            "Static",
            "Dynamic"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "IpAllocationMethod"
          }
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "publicIPAddress": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the PublicIP resource"
        },
        "subnet": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the subnet resource"
        }
      }
    },
    "VirtualNetworkGatewayListResult": {
      "description": "Response for ListVirtualNetworkGateways Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets List of VirtualNetworkGateways that exists in a resource group",
          "items": {
            "$ref": "#/definitions/VirtualNetworkGateway"
          },
          "type": "array"
        }
      }
    },
    "VirtualNetworkGatewayPropertiesFormat": {
      "description": "VirtualNetworkGateway properties",
      "properties": {
        "enableBgp": {
          "description": "EnableBgp Flag",
          "type": "boolean"
        },
        "gatewayDefaultSite": {
          "$ref": "#/definitions/SubResource",
          "description": "Gets or sets the reference of the LocalNetworkGateway resource which represents Local network site having default routes. Assign Null value in case of removing existing default site setting."
        },
        "gatewayType": {
          "description": "The type of this virtual network gateway.",
          "enum": [
            "Vpn",
            "ExpressRoute"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "VirtualNetworkGatewayType"
          }
        },
        "ipConfigurations": {
          "description": "IpConfigurations for Virtual network gateway.",
          "items": {
            "$ref": "#/definitions/VirtualNetworkGatewayIpConfiguration"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the VirtualNetworkGateway resource Updating/Deleting/Failed",
          "type": "string"
        },
        "resourceGuid": {
          "description": "Gets or sets resource guid property of the VirtualNetworkGateway resource",
          "type": "string"
        },
        "vpnType": {
          "description": "The type of this virtual network gateway.",
          "enum": [
            "PolicyBased",
            "RouteBased"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "VpnType"
          }
        }
      }
    },
    "VirtualNetworkListResult": {
      "description": "Response for ListVirtualNetworks Api service call",
      "properties": {
        "nextLink": {
          "description": "Gets the URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets list of VirtualNetworks in a resource group",
          "items": {
            "$ref": "#/definitions/VirtualNetwork"
          },
          "type": "array"
        }
      }
    },
    "VirtualNetworkPropertiesFormat": {
      "properties": {
        "addressSpace": {
          "$ref": "#/definitions/AddressSpace",
          "description": "Gets or sets AddressSpace that contains an array of IP address ranges that can be used by subnets"
        },
        "dhcpOptions": {
          "$ref": "#/definitions/DhcpOptions",
          "description": "Gets or sets DHCPOptions that contains an array of DNS servers available to VMs deployed in the virtual network"
        },
        "provisioningState": {
          "description": "Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed",
          "type": "string"
        },
        "resourceGuid": {
          "description": "Gets or sets resource guid property of the VirtualNetwork resource",
          "type": "string"
        },
        "subnets": {
          "description": "Gets or sets List of subnets in a VirtualNetwork",
          "items": {
            "$ref": "#/definitions/Subnet"
          },
          "type": "array"
        }
      }
    }
  }
}