{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "title": "AppServicePlans API Client",
    "version": "2016-09-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "web-AppServicePlans",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "apiVersionParameter": {
      "description": "API Version",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "resourceGroupNameParameter": {
      "description": "Name of the resource group to which the resource belongs.",
      "in": "path",
      "maxLength": 90,
      "minLength": 1,
      "name": "resourceGroupName",
      "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "subscriptionIdParameter": {
      "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms": {
      "get": {
        "description": "Get all App Service plans for a subscription.",
        "operationId": "AppServicePlans_List",
        "parameters": [
          {
            "description": "Specify <code>true</code> to return all App Service plan properties. The default is <code>false</code>, which returns a subset of the properties.\n Retrieval of all properties may increase the API latency.",
            "in": "query",
            "name": "detailed",
            "type": "boolean"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "description": "Collection of App Service plans.",
              "properties": {
                "nextLink": {
                  "description": "Link to next page of resources.",
                  "type": "string"
                },
                "value": {
                  "description": "Collection of resources.",
                  "items": {
                    "allOf": [
                      {
                        "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                        "properties": {
                          "id": {
                            "description": "Resource Id.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "kind": {
                            "description": "Kind of resource.",
                            "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
                      }
                    ],
                    "description": "App Service plan.",
                    "properties": {
                      "properties": {
                        "description": "AppServicePlan resource specific properties",
                        "properties": {
                          "adminSiteName": {
                            "description": "App Service plan administration site.",
                            "type": "string"
                          },
                          "geoRegion": {
                            "description": "Geographical location for the App Service plan.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "hostingEnvironmentProfile": {
                            "description": "Specification for an App Service Environment to use for this resource.",
                            "properties": {
                              "id": {
                                "description": "Resource ID of the App Service Environment.",
                                "type": "string"
                              },
                              "name": {
                                "description": "Name of the App Service Environment.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "type": {
                                "description": "Resource type of the App Service Environment.",
                                "readOnly": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "isSpot": {
                            "description": "If <code>true</code>, this App Service Plan owns spot instances.",
                            "type": "boolean"
                          },
                          "maximumNumberOfWorkers": {
                            "description": "Maximum number of instances that can be assigned to this App Service plan.",
                            "format": "int32",
                            "readOnly": true,
                            "type": "integer"
                          },
                          "name": {
                            "description": "Name for the App Service plan.",
                            "type": "string"
                          },
                          "numberOfSites": {
                            "description": "Number of apps assigned to this App Service plan.",
                            "format": "int32",
                            "readOnly": true,
                            "type": "integer"
                          },
                          "perSiteScaling": {
                            "default": false,
                            "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
                            "type": "boolean"
                          },
                          "provisioningState": {
                            "description": "Provisioning state of the App Service Environment.",
                            "enum": [
                              "Succeeded",
                              "Failed",
                              "Canceled",
                              "InProgress",
                              "Deleting"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "ProvisioningState"
                            }
                          },
                          "reserved": {
                            "default": false,
                            "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
                            "type": "boolean",
                            "x-ms-mutability": [
                              "create",
                              "read"
                            ]
                          },
                          "resourceGroup": {
                            "description": "Resource group of the App Service plan.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "spotExpirationTime": {
                            "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
                            "format": "date-time",
                            "type": "string"
                          },
                          "status": {
                            "description": "App Service plan status.",
                            "enum": [
                              "Ready",
                              "Pending",
                              "Creating"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "StatusOptions"
                            }
                          },
                          "subscription": {
                            "description": "App Service plan subscription.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "targetWorkerCount": {
                            "description": "Scaling worker count.",
                            "format": "int32",
                            "type": "integer"
                          },
                          "targetWorkerSizeId": {
                            "description": "Scaling worker size ID.",
                            "format": "int32",
                            "type": "integer"
                          },
                          "workerTierName": {
                            "description": "Target worker tier assigned to the App Service plan.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "x-ms-client-flatten": true
                      },
                      "sku": {
                        "description": "Description of a SKU for a scalable resource.",
                        "properties": {
                          "capabilities": {
                            "description": "Capabilities of the SKU, e.g., is traffic manager enabled?",
                            "items": {
                              "description": "Describes the capabilities/features allowed for a specific SKU.",
                              "properties": {
                                "name": {
                                  "description": "Name of the SKU capability.",
                                  "type": "string"
                                },
                                "reason": {
                                  "description": "Reason of the SKU capability.",
                                  "type": "string"
                                },
                                "value": {
                                  "description": "Value of the SKU capability.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "capacity": {
                            "description": "Current number of instances assigned to the resource.",
                            "format": "int32",
                            "type": "integer"
                          },
                          "family": {
                            "description": "Family code of the resource SKU.",
                            "type": "string"
                          },
                          "locations": {
                            "description": "Locations of the SKU.",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "name": {
                            "description": "Name of the resource SKU.",
                            "type": "string"
                          },
                          "size": {
                            "description": "Size specifier of the resource SKU.",
                            "type": "string"
                          },
                          "skuCapacity": {
                            "description": "Description of the App Service plan scale options.",
                            "properties": {
                              "default": {
                                "description": "Default number of workers for this App Service plan SKU.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "maximum": {
                                "description": "Maximum number of workers for this App Service plan SKU.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "minimum": {
                                "description": "Minimum number of workers for this App Service plan SKU.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "scaleType": {
                                "description": "Available scale configurations for an App Service plan.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "tier": {
                            "description": "Service tier of the resource SKU.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "value"
              ],
              "type": "object"
            }
          }
        },
        "summary": "Get all App Service plans for a subscription.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-examples": {
          "List App Service plans": {
            "parameters": {
              "api-version": "2016-09-01",
              "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                      "kind": "app",
                      "location": "East US",
                      "name": "testsf6141",
                      "properties": {
                        "currentNumberOfWorkers": 1,
                        "currentWorkerSize": "Default",
                        "geoRegion": "East US",
                        "isSpot": false,
                        "kind": "app",
                        "maximumNumberOfWorkers": 20,
                        "mdmId": "waws-prod-blu-033_4740",
                        "name": "testsf6141",
                        "numberOfSites": 4,
                        "numberOfWorkers": 1,
                        "provisioningState": "Succeeded",
                        "reserved": false,
                        "status": "Ready",
                        "targetWorkerCount": 0,
                        "targetWorkerSizeId": 0,
                        "workerSize": "Default"
                      },
                      "sku": {
                        "capacity": 1,
                        "family": "P",
                        "name": "P1",
                        "size": "P1",
                        "tier": "Premium"
                      },
                      "type": "Microsoft.Web/serverfarms"
                    },
                    {
                      "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf7252",
                      "kind": "app",
                      "location": "East US",
                      "name": "testsf7252",
                      "properties": {
                        "currentNumberOfWorkers": 1,
                        "currentWorkerSize": "Default",
                        "geoRegion": "East US",
                        "isSpot": false,
                        "kind": "app",
                        "maximumNumberOfWorkers": 20,
                        "mdmId": "waws-prod-blu-033_5680",
                        "name": "testsf7252",
                        "numberOfSites": 4,
                        "numberOfWorkers": 1,
                        "provisioningState": "Succeeded",
                        "reserved": false,
                        "status": "Ready",
                        "targetWorkerCount": 0,
                        "targetWorkerSizeId": 0,
                        "workerSize": "Default"
                      },
                      "sku": {
                        "capacity": 1,
                        "family": "P",
                        "name": "P1",
                        "size": "P1",
                        "tier": "Premium"
                      },
                      "type": "Microsoft.Web/serverfarms"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms": {
      "get": {
        "description": "Get all App Service plans in a resource group.",
        "operationId": "AppServicePlans_ListByResourceGroup",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "description": "Collection of App Service plans.",
              "properties": {
                "nextLink": {
                  "description": "Link to next page of resources.",
                  "type": "string"
                },
                "value": {
                  "description": "Collection of resources.",
                  "items": {
                    "allOf": [
                      {
                        "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                        "properties": {
                          "id": {
                            "description": "Resource Id.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "kind": {
                            "description": "Kind of resource.",
                            "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
                      }
                    ],
                    "description": "App Service plan.",
                    "properties": {
                      "properties": {
                        "description": "AppServicePlan resource specific properties",
                        "properties": {
                          "adminSiteName": {
                            "description": "App Service plan administration site.",
                            "type": "string"
                          },
                          "geoRegion": {
                            "description": "Geographical location for the App Service plan.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "hostingEnvironmentProfile": {
                            "description": "Specification for an App Service Environment to use for this resource.",
                            "properties": {
                              "id": {
                                "description": "Resource ID of the App Service Environment.",
                                "type": "string"
                              },
                              "name": {
                                "description": "Name of the App Service Environment.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "type": {
                                "description": "Resource type of the App Service Environment.",
                                "readOnly": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "isSpot": {
                            "description": "If <code>true</code>, this App Service Plan owns spot instances.",
                            "type": "boolean"
                          },
                          "maximumNumberOfWorkers": {
                            "description": "Maximum number of instances that can be assigned to this App Service plan.",
                            "format": "int32",
                            "readOnly": true,
                            "type": "integer"
                          },
                          "name": {
                            "description": "Name for the App Service plan.",
                            "type": "string"
                          },
                          "numberOfSites": {
                            "description": "Number of apps assigned to this App Service plan.",
                            "format": "int32",
                            "readOnly": true,
                            "type": "integer"
                          },
                          "perSiteScaling": {
                            "default": false,
                            "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
                            "type": "boolean"
                          },
                          "provisioningState": {
                            "description": "Provisioning state of the App Service Environment.",
                            "enum": [
                              "Succeeded",
                              "Failed",
                              "Canceled",
                              "InProgress",
                              "Deleting"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "ProvisioningState"
                            }
                          },
                          "reserved": {
                            "default": false,
                            "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
                            "type": "boolean",
                            "x-ms-mutability": [
                              "create",
                              "read"
                            ]
                          },
                          "resourceGroup": {
                            "description": "Resource group of the App Service plan.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "spotExpirationTime": {
                            "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
                            "format": "date-time",
                            "type": "string"
                          },
                          "status": {
                            "description": "App Service plan status.",
                            "enum": [
                              "Ready",
                              "Pending",
                              "Creating"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "StatusOptions"
                            }
                          },
                          "subscription": {
                            "description": "App Service plan subscription.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "targetWorkerCount": {
                            "description": "Scaling worker count.",
                            "format": "int32",
                            "type": "integer"
                          },
                          "targetWorkerSizeId": {
                            "description": "Scaling worker size ID.",
                            "format": "int32",
                            "type": "integer"
                          },
                          "workerTierName": {
                            "description": "Target worker tier assigned to the App Service plan.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "x-ms-client-flatten": true
                      },
                      "sku": {
                        "description": "Description of a SKU for a scalable resource.",
                        "properties": {
                          "capabilities": {
                            "description": "Capabilities of the SKU, e.g., is traffic manager enabled?",
                            "items": {
                              "description": "Describes the capabilities/features allowed for a specific SKU.",
                              "properties": {
                                "name": {
                                  "description": "Name of the SKU capability.",
                                  "type": "string"
                                },
                                "reason": {
                                  "description": "Reason of the SKU capability.",
                                  "type": "string"
                                },
                                "value": {
                                  "description": "Value of the SKU capability.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "capacity": {
                            "description": "Current number of instances assigned to the resource.",
                            "format": "int32",
                            "type": "integer"
                          },
                          "family": {
                            "description": "Family code of the resource SKU.",
                            "type": "string"
                          },
                          "locations": {
                            "description": "Locations of the SKU.",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "name": {
                            "description": "Name of the resource SKU.",
                            "type": "string"
                          },
                          "size": {
                            "description": "Size specifier of the resource SKU.",
                            "type": "string"
                          },
                          "skuCapacity": {
                            "description": "Description of the App Service plan scale options.",
                            "properties": {
                              "default": {
                                "description": "Default number of workers for this App Service plan SKU.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "maximum": {
                                "description": "Maximum number of workers for this App Service plan SKU.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "minimum": {
                                "description": "Minimum number of workers for this App Service plan SKU.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "scaleType": {
                                "description": "Available scale configurations for an App Service plan.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "tier": {
                            "description": "Service tier of the resource SKU.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "value"
              ],
              "type": "object"
            }
          }
        },
        "summary": "Get all App Service plans in a resource group.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-examples": {
          "List App Service plans by resource group": {
            "parameters": {
              "api-version": "2016-09-01",
              "resourceGroupName": "testrg123",
              "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                      "kind": "app",
                      "location": "East US",
                      "name": "testsf6141",
                      "properties": {
                        "currentNumberOfWorkers": 1,
                        "currentWorkerSize": "Default",
                        "geoRegion": "East US",
                        "isSpot": false,
                        "kind": "app",
                        "maximumNumberOfWorkers": 20,
                        "mdmId": "waws-prod-blu-033_4740",
                        "name": "testsf6141",
                        "numberOfSites": 4,
                        "numberOfWorkers": 1,
                        "provisioningState": "Succeeded",
                        "reserved": false,
                        "status": "Ready",
                        "targetWorkerCount": 0,
                        "targetWorkerSizeId": 0,
                        "workerSize": "Default"
                      },
                      "sku": {
                        "capacity": 1,
                        "family": "P",
                        "name": "P1",
                        "size": "P1",
                        "tier": "Premium"
                      },
                      "type": "Microsoft.Web/serverfarms"
                    },
                    {
                      "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf7252",
                      "kind": "app",
                      "location": "East US",
                      "name": "testsf7252",
                      "properties": {
                        "currentNumberOfWorkers": 1,
                        "currentWorkerSize": "Default",
                        "geoRegion": "East US",
                        "isSpot": false,
                        "kind": "app",
                        "maximumNumberOfWorkers": 20,
                        "mdmId": "waws-prod-blu-033_5680",
                        "name": "testsf7252",
                        "numberOfSites": 4,
                        "numberOfWorkers": 1,
                        "provisioningState": "Succeeded",
                        "reserved": false,
                        "status": "Ready",
                        "targetWorkerCount": 0,
                        "targetWorkerSizeId": 0,
                        "workerSize": "Default"
                      },
                      "sku": {
                        "capacity": 1,
                        "family": "P",
                        "name": "P1",
                        "size": "P1",
                        "tier": "Premium"
                      },
                      "type": "Microsoft.Web/serverfarms"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}": {
      "delete": {
        "description": "Delete an App Service plan.",
        "operationId": "AppServicePlans_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK."
          },
          "204": {
            "description": "OK."
          }
        },
        "summary": "Delete an App Service plan.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-examples": {
          "Delete App Service plan": {
            "parameters": {
              "api-version": "2016-09-01",
              "name": "testsf6141",
              "resourceGroupName": "testrg123",
              "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
            },
            "responses": {
              "200": {},
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Get an App Service plan.",
        "operationId": "AppServicePlans_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "schema": {
              "allOf": [
                {
                  "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "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
                }
              ],
              "description": "App Service plan.",
              "properties": {
                "properties": {
                  "description": "AppServicePlan resource specific properties",
                  "properties": {
                    "adminSiteName": {
                      "description": "App Service plan administration site.",
                      "type": "string"
                    },
                    "geoRegion": {
                      "description": "Geographical location for the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "hostingEnvironmentProfile": {
                      "description": "Specification for an App Service Environment to use for this resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID of the App Service Environment.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Name of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "isSpot": {
                      "description": "If <code>true</code>, this App Service Plan owns spot instances.",
                      "type": "boolean"
                    },
                    "maximumNumberOfWorkers": {
                      "description": "Maximum number of instances that can be assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "name": {
                      "description": "Name for the App Service plan.",
                      "type": "string"
                    },
                    "numberOfSites": {
                      "description": "Number of apps assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "perSiteScaling": {
                      "default": false,
                      "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
                      "type": "boolean"
                    },
                    "provisioningState": {
                      "description": "Provisioning state of the App Service Environment.",
                      "enum": [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProvisioningState"
                      }
                    },
                    "reserved": {
                      "default": false,
                      "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
                      "type": "boolean",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "resourceGroup": {
                      "description": "Resource group of the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "spotExpirationTime": {
                      "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "status": {
                      "description": "App Service plan status.",
                      "enum": [
                        "Ready",
                        "Pending",
                        "Creating"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "StatusOptions"
                      }
                    },
                    "subscription": {
                      "description": "App Service plan subscription.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "targetWorkerCount": {
                      "description": "Scaling worker count.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "targetWorkerSizeId": {
                      "description": "Scaling worker size ID.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "workerTierName": {
                      "description": "Target worker tier assigned to the App Service plan.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "x-ms-client-flatten": true
                },
                "sku": {
                  "description": "Description of a SKU for a scalable resource.",
                  "properties": {
                    "capabilities": {
                      "description": "Capabilities of the SKU, e.g., is traffic manager enabled?",
                      "items": {
                        "description": "Describes the capabilities/features allowed for a specific SKU.",
                        "properties": {
                          "name": {
                            "description": "Name of the SKU capability.",
                            "type": "string"
                          },
                          "reason": {
                            "description": "Reason of the SKU capability.",
                            "type": "string"
                          },
                          "value": {
                            "description": "Value of the SKU capability.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "capacity": {
                      "description": "Current number of instances assigned to the resource.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "family": {
                      "description": "Family code of the resource SKU.",
                      "type": "string"
                    },
                    "locations": {
                      "description": "Locations of the SKU.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "name": {
                      "description": "Name of the resource SKU.",
                      "type": "string"
                    },
                    "size": {
                      "description": "Size specifier of the resource SKU.",
                      "type": "string"
                    },
                    "skuCapacity": {
                      "description": "Description of the App Service plan scale options.",
                      "properties": {
                        "default": {
                          "description": "Default number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "maximum": {
                          "description": "Maximum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "minimum": {
                          "description": "Minimum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "scaleType": {
                          "description": "Available scale configurations for an App Service plan.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "tier": {
                      "description": "Service tier of the resource SKU.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Not found."
          }
        },
        "summary": "Get an App Service plan.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-examples": {
          "Get App Service plan": {
            "parameters": {
              "api-version": "2016-09-01",
              "name": "testsf6141",
              "resourceGroupName": "testrg123",
              "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                  "kind": "app",
                  "location": "East US",
                  "name": "testsf6141",
                  "properties": {
                    "currentNumberOfWorkers": 1,
                    "currentWorkerSize": "Default",
                    "geoRegion": "East US",
                    "isSpot": false,
                    "kind": "app",
                    "maximumNumberOfWorkers": 20,
                    "mdmId": "waws-prod-blu-033_4740",
                    "name": "testsf6141",
                    "numberOfSites": 4,
                    "numberOfWorkers": 1,
                    "provisioningState": "Succeeded",
                    "reserved": false,
                    "status": "Ready",
                    "targetWorkerCount": 0,
                    "targetWorkerSizeId": 0,
                    "workerSize": "Default"
                  },
                  "sku": {
                    "capacity": 1,
                    "family": "P",
                    "name": "P1",
                    "size": "P1",
                    "tier": "Premium"
                  },
                  "type": "Microsoft.Web/serverfarms"
                },
                "headers": {}
              },
              "404": {}
            }
          }
        }
      },
      "patch": {
        "description": "Creates or updates an App Service Plan.",
        "operationId": "AppServicePlans_Update",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Details of the App Service plan.",
            "in": "body",
            "name": "appServicePlan",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AppServicePlanPatchResource"
            }
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "schema": {
              "allOf": [
                {
                  "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "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
                }
              ],
              "description": "App Service plan.",
              "properties": {
                "properties": {
                  "description": "AppServicePlan resource specific properties",
                  "properties": {
                    "adminSiteName": {
                      "description": "App Service plan administration site.",
                      "type": "string"
                    },
                    "geoRegion": {
                      "description": "Geographical location for the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "hostingEnvironmentProfile": {
                      "description": "Specification for an App Service Environment to use for this resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID of the App Service Environment.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Name of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "isSpot": {
                      "description": "If <code>true</code>, this App Service Plan owns spot instances.",
                      "type": "boolean"
                    },
                    "maximumNumberOfWorkers": {
                      "description": "Maximum number of instances that can be assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "name": {
                      "description": "Name for the App Service plan.",
                      "type": "string"
                    },
                    "numberOfSites": {
                      "description": "Number of apps assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "perSiteScaling": {
                      "default": false,
                      "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
                      "type": "boolean"
                    },
                    "provisioningState": {
                      "description": "Provisioning state of the App Service Environment.",
                      "enum": [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProvisioningState"
                      }
                    },
                    "reserved": {
                      "default": false,
                      "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
                      "type": "boolean",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "resourceGroup": {
                      "description": "Resource group of the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "spotExpirationTime": {
                      "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "status": {
                      "description": "App Service plan status.",
                      "enum": [
                        "Ready",
                        "Pending",
                        "Creating"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "StatusOptions"
                      }
                    },
                    "subscription": {
                      "description": "App Service plan subscription.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "targetWorkerCount": {
                      "description": "Scaling worker count.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "targetWorkerSizeId": {
                      "description": "Scaling worker size ID.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "workerTierName": {
                      "description": "Target worker tier assigned to the App Service plan.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "x-ms-client-flatten": true
                },
                "sku": {
                  "description": "Description of a SKU for a scalable resource.",
                  "properties": {
                    "capabilities": {
                      "description": "Capabilities of the SKU, e.g., is traffic manager enabled?",
                      "items": {
                        "description": "Describes the capabilities/features allowed for a specific SKU.",
                        "properties": {
                          "name": {
                            "description": "Name of the SKU capability.",
                            "type": "string"
                          },
                          "reason": {
                            "description": "Reason of the SKU capability.",
                            "type": "string"
                          },
                          "value": {
                            "description": "Value of the SKU capability.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "capacity": {
                      "description": "Current number of instances assigned to the resource.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "family": {
                      "description": "Family code of the resource SKU.",
                      "type": "string"
                    },
                    "locations": {
                      "description": "Locations of the SKU.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "name": {
                      "description": "Name of the resource SKU.",
                      "type": "string"
                    },
                    "size": {
                      "description": "Size specifier of the resource SKU.",
                      "type": "string"
                    },
                    "skuCapacity": {
                      "description": "Description of the App Service plan scale options.",
                      "properties": {
                        "default": {
                          "description": "Default number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "maximum": {
                          "description": "Maximum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "minimum": {
                          "description": "Minimum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "scaleType": {
                          "description": "Available scale configurations for an App Service plan.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "tier": {
                      "description": "Service tier of the resource SKU.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "202": {
            "description": "Operation is in progress.",
            "schema": {
              "allOf": [
                {
                  "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "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
                }
              ],
              "description": "App Service plan.",
              "properties": {
                "properties": {
                  "description": "AppServicePlan resource specific properties",
                  "properties": {
                    "adminSiteName": {
                      "description": "App Service plan administration site.",
                      "type": "string"
                    },
                    "geoRegion": {
                      "description": "Geographical location for the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "hostingEnvironmentProfile": {
                      "description": "Specification for an App Service Environment to use for this resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID of the App Service Environment.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Name of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "isSpot": {
                      "description": "If <code>true</code>, this App Service Plan owns spot instances.",
                      "type": "boolean"
                    },
                    "maximumNumberOfWorkers": {
                      "description": "Maximum number of instances that can be assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "name": {
                      "description": "Name for the App Service plan.",
                      "type": "string"
                    },
                    "numberOfSites": {
                      "description": "Number of apps assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "perSiteScaling": {
                      "default": false,
                      "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
                      "type": "boolean"
                    },
                    "provisioningState": {
                      "description": "Provisioning state of the App Service Environment.",
                      "enum": [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProvisioningState"
                      }
                    },
                    "reserved": {
                      "default": false,
                      "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
                      "type": "boolean",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "resourceGroup": {
                      "description": "Resource group of the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "spotExpirationTime": {
                      "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "status": {
                      "description": "App Service plan status.",
                      "enum": [
                        "Ready",
                        "Pending",
                        "Creating"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "StatusOptions"
                      }
                    },
                    "subscription": {
                      "description": "App Service plan subscription.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "targetWorkerCount": {
                      "description": "Scaling worker count.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "targetWorkerSizeId": {
                      "description": "Scaling worker size ID.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "workerTierName": {
                      "description": "Target worker tier assigned to the App Service plan.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "x-ms-client-flatten": true
                },
                "sku": {
                  "description": "Description of a SKU for a scalable resource.",
                  "properties": {
                    "capabilities": {
                      "description": "Capabilities of the SKU, e.g., is traffic manager enabled?",
                      "items": {
                        "description": "Describes the capabilities/features allowed for a specific SKU.",
                        "properties": {
                          "name": {
                            "description": "Name of the SKU capability.",
                            "type": "string"
                          },
                          "reason": {
                            "description": "Reason of the SKU capability.",
                            "type": "string"
                          },
                          "value": {
                            "description": "Value of the SKU capability.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "capacity": {
                      "description": "Current number of instances assigned to the resource.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "family": {
                      "description": "Family code of the resource SKU.",
                      "type": "string"
                    },
                    "locations": {
                      "description": "Locations of the SKU.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "name": {
                      "description": "Name of the resource SKU.",
                      "type": "string"
                    },
                    "size": {
                      "description": "Size specifier of the resource SKU.",
                      "type": "string"
                    },
                    "skuCapacity": {
                      "description": "Description of the App Service plan scale options.",
                      "properties": {
                        "default": {
                          "description": "Default number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "maximum": {
                          "description": "Maximum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "minimum": {
                          "description": "Minimum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "scaleType": {
                          "description": "Available scale configurations for an App Service plan.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "tier": {
                      "description": "Service tier of the resource SKU.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Creates or updates an App Service Plan.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-examples": {
          "Patch Service plan": {
            "parameters": {
              "api-version": "2016-09-01",
              "appServicePlan": {
                "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                "kind": "app",
                "name": "testsf6141",
                "properties": {
                  "name": "testsf6141"
                },
                "type": "Microsoft.Web/serverfarms"
              },
              "name": "testsf6141",
              "resourceGroupName": "testrg123",
              "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                  "kind": "app",
                  "location": "East US",
                  "name": "testsf6141",
                  "properties": {
                    "currentNumberOfWorkers": 1,
                    "currentWorkerSize": "Default",
                    "geoRegion": "East US",
                    "maximumNumberOfWorkers": 20,
                    "mdmId": "waws-prod-blu-033_4740",
                    "name": "testsf6141",
                    "numberOfSites": 4,
                    "numberOfWorkers": 1,
                    "provisioningState": "Succeeded",
                    "reserved": false,
                    "status": "Ready",
                    "targetWorkerCount": 0,
                    "targetWorkerSizeId": 0,
                    "workerSize": "Default"
                  },
                  "sku": {
                    "capacity": 1,
                    "family": "P",
                    "name": "P1",
                    "size": "P1",
                    "tier": "Premium"
                  },
                  "type": "Microsoft.Web/serverfarms"
                },
                "headers": {}
              },
              "202": {
                "body": {
                  "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                  "kind": "app",
                  "location": "East US",
                  "name": "testsf6141",
                  "properties": {
                    "currentNumberOfWorkers": 1,
                    "currentWorkerSize": "Default",
                    "geoRegion": "East US",
                    "isSpot": false,
                    "maximumNumberOfWorkers": 20,
                    "mdmId": "waws-prod-blu-033_4740",
                    "name": "testsf6141",
                    "numberOfSites": 4,
                    "numberOfWorkers": 1,
                    "provisioningState": "Succeeded",
                    "reserved": false,
                    "status": "Ready",
                    "targetWorkerCount": 0,
                    "targetWorkerSizeId": 0,
                    "workerSize": "Default"
                  },
                  "sku": {
                    "capacity": 1,
                    "family": "P",
                    "name": "P1",
                    "size": "P1",
                    "tier": "Premium"
                  },
                  "type": "Microsoft.Web/serverfarms"
                },
                "headers": {
                  "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141/operationresults/F0C6B8EC-0D53-432C-913B-1CD9E8CDE3A0",
                  "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141/operationresults/F0C6B8EC-0D53-432C-913B-1CD9E8CDE3A0"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates or updates an App Service Plan.",
        "operationId": "AppServicePlans_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Details of the App Service plan.",
            "in": "body",
            "name": "appServicePlan",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "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
                }
              ],
              "description": "App Service plan.",
              "properties": {
                "properties": {
                  "description": "AppServicePlan resource specific properties",
                  "properties": {
                    "adminSiteName": {
                      "description": "App Service plan administration site.",
                      "type": "string"
                    },
                    "geoRegion": {
                      "description": "Geographical location for the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "hostingEnvironmentProfile": {
                      "description": "Specification for an App Service Environment to use for this resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID of the App Service Environment.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Name of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "isSpot": {
                      "description": "If <code>true</code>, this App Service Plan owns spot instances.",
                      "type": "boolean"
                    },
                    "maximumNumberOfWorkers": {
                      "description": "Maximum number of instances that can be assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "name": {
                      "description": "Name for the App Service plan.",
                      "type": "string"
                    },
                    "numberOfSites": {
                      "description": "Number of apps assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "perSiteScaling": {
                      "default": false,
                      "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
                      "type": "boolean"
                    },
                    "provisioningState": {
                      "description": "Provisioning state of the App Service Environment.",
                      "enum": [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProvisioningState"
                      }
                    },
                    "reserved": {
                      "default": false,
                      "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
                      "type": "boolean",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "resourceGroup": {
                      "description": "Resource group of the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "spotExpirationTime": {
                      "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "status": {
                      "description": "App Service plan status.",
                      "enum": [
                        "Ready",
                        "Pending",
                        "Creating"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "StatusOptions"
                      }
                    },
                    "subscription": {
                      "description": "App Service plan subscription.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "targetWorkerCount": {
                      "description": "Scaling worker count.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "targetWorkerSizeId": {
                      "description": "Scaling worker size ID.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "workerTierName": {
                      "description": "Target worker tier assigned to the App Service plan.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "x-ms-client-flatten": true
                },
                "sku": {
                  "description": "Description of a SKU for a scalable resource.",
                  "properties": {
                    "capabilities": {
                      "description": "Capabilities of the SKU, e.g., is traffic manager enabled?",
                      "items": {
                        "description": "Describes the capabilities/features allowed for a specific SKU.",
                        "properties": {
                          "name": {
                            "description": "Name of the SKU capability.",
                            "type": "string"
                          },
                          "reason": {
                            "description": "Reason of the SKU capability.",
                            "type": "string"
                          },
                          "value": {
                            "description": "Value of the SKU capability.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "capacity": {
                      "description": "Current number of instances assigned to the resource.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "family": {
                      "description": "Family code of the resource SKU.",
                      "type": "string"
                    },
                    "locations": {
                      "description": "Locations of the SKU.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "name": {
                      "description": "Name of the resource SKU.",
                      "type": "string"
                    },
                    "size": {
                      "description": "Size specifier of the resource SKU.",
                      "type": "string"
                    },
                    "skuCapacity": {
                      "description": "Description of the App Service plan scale options.",
                      "properties": {
                        "default": {
                          "description": "Default number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "maximum": {
                          "description": "Maximum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "minimum": {
                          "description": "Minimum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "scaleType": {
                          "description": "Available scale configurations for an App Service plan.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "tier": {
                      "description": "Service tier of the resource SKU.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "schema": {
              "allOf": [
                {
                  "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "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
                }
              ],
              "description": "App Service plan.",
              "properties": {
                "properties": {
                  "description": "AppServicePlan resource specific properties",
                  "properties": {
                    "adminSiteName": {
                      "description": "App Service plan administration site.",
                      "type": "string"
                    },
                    "geoRegion": {
                      "description": "Geographical location for the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "hostingEnvironmentProfile": {
                      "description": "Specification for an App Service Environment to use for this resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID of the App Service Environment.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Name of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "isSpot": {
                      "description": "If <code>true</code>, this App Service Plan owns spot instances.",
                      "type": "boolean"
                    },
                    "maximumNumberOfWorkers": {
                      "description": "Maximum number of instances that can be assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "name": {
                      "description": "Name for the App Service plan.",
                      "type": "string"
                    },
                    "numberOfSites": {
                      "description": "Number of apps assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "perSiteScaling": {
                      "default": false,
                      "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
                      "type": "boolean"
                    },
                    "provisioningState": {
                      "description": "Provisioning state of the App Service Environment.",
                      "enum": [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProvisioningState"
                      }
                    },
                    "reserved": {
                      "default": false,
                      "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
                      "type": "boolean",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "resourceGroup": {
                      "description": "Resource group of the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "spotExpirationTime": {
                      "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "status": {
                      "description": "App Service plan status.",
                      "enum": [
                        "Ready",
                        "Pending",
                        "Creating"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "StatusOptions"
                      }
                    },
                    "subscription": {
                      "description": "App Service plan subscription.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "targetWorkerCount": {
                      "description": "Scaling worker count.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "targetWorkerSizeId": {
                      "description": "Scaling worker size ID.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "workerTierName": {
                      "description": "Target worker tier assigned to the App Service plan.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "x-ms-client-flatten": true
                },
                "sku": {
                  "description": "Description of a SKU for a scalable resource.",
                  "properties": {
                    "capabilities": {
                      "description": "Capabilities of the SKU, e.g., is traffic manager enabled?",
                      "items": {
                        "description": "Describes the capabilities/features allowed for a specific SKU.",
                        "properties": {
                          "name": {
                            "description": "Name of the SKU capability.",
                            "type": "string"
                          },
                          "reason": {
                            "description": "Reason of the SKU capability.",
                            "type": "string"
                          },
                          "value": {
                            "description": "Value of the SKU capability.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "capacity": {
                      "description": "Current number of instances assigned to the resource.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "family": {
                      "description": "Family code of the resource SKU.",
                      "type": "string"
                    },
                    "locations": {
                      "description": "Locations of the SKU.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "name": {
                      "description": "Name of the resource SKU.",
                      "type": "string"
                    },
                    "size": {
                      "description": "Size specifier of the resource SKU.",
                      "type": "string"
                    },
                    "skuCapacity": {
                      "description": "Description of the App Service plan scale options.",
                      "properties": {
                        "default": {
                          "description": "Default number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "maximum": {
                          "description": "Maximum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "minimum": {
                          "description": "Minimum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "scaleType": {
                          "description": "Available scale configurations for an App Service plan.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "tier": {
                      "description": "Service tier of the resource SKU.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "201": {
            "description": "Created.",
            "schema": {
              "allOf": [
                {
                  "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "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
                }
              ],
              "description": "App Service plan.",
              "properties": {
                "properties": {
                  "description": "AppServicePlan resource specific properties",
                  "properties": {
                    "adminSiteName": {
                      "description": "App Service plan administration site.",
                      "type": "string"
                    },
                    "geoRegion": {
                      "description": "Geographical location for the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "hostingEnvironmentProfile": {
                      "description": "Specification for an App Service Environment to use for this resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID of the App Service Environment.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Name of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "isSpot": {
                      "description": "If <code>true</code>, this App Service Plan owns spot instances.",
                      "type": "boolean"
                    },
                    "maximumNumberOfWorkers": {
                      "description": "Maximum number of instances that can be assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "name": {
                      "description": "Name for the App Service plan.",
                      "type": "string"
                    },
                    "numberOfSites": {
                      "description": "Number of apps assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "perSiteScaling": {
                      "default": false,
                      "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
                      "type": "boolean"
                    },
                    "provisioningState": {
                      "description": "Provisioning state of the App Service Environment.",
                      "enum": [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProvisioningState"
                      }
                    },
                    "reserved": {
                      "default": false,
                      "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
                      "type": "boolean",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "resourceGroup": {
                      "description": "Resource group of the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "spotExpirationTime": {
                      "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "status": {
                      "description": "App Service plan status.",
                      "enum": [
                        "Ready",
                        "Pending",
                        "Creating"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "StatusOptions"
                      }
                    },
                    "subscription": {
                      "description": "App Service plan subscription.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "targetWorkerCount": {
                      "description": "Scaling worker count.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "targetWorkerSizeId": {
                      "description": "Scaling worker size ID.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "workerTierName": {
                      "description": "Target worker tier assigned to the App Service plan.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "x-ms-client-flatten": true
                },
                "sku": {
                  "description": "Description of a SKU for a scalable resource.",
                  "properties": {
                    "capabilities": {
                      "description": "Capabilities of the SKU, e.g., is traffic manager enabled?",
                      "items": {
                        "description": "Describes the capabilities/features allowed for a specific SKU.",
                        "properties": {
                          "name": {
                            "description": "Name of the SKU capability.",
                            "type": "string"
                          },
                          "reason": {
                            "description": "Reason of the SKU capability.",
                            "type": "string"
                          },
                          "value": {
                            "description": "Value of the SKU capability.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "capacity": {
                      "description": "Current number of instances assigned to the resource.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "family": {
                      "description": "Family code of the resource SKU.",
                      "type": "string"
                    },
                    "locations": {
                      "description": "Locations of the SKU.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "name": {
                      "description": "Name of the resource SKU.",
                      "type": "string"
                    },
                    "size": {
                      "description": "Size specifier of the resource SKU.",
                      "type": "string"
                    },
                    "skuCapacity": {
                      "description": "Description of the App Service plan scale options.",
                      "properties": {
                        "default": {
                          "description": "Default number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "maximum": {
                          "description": "Maximum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "minimum": {
                          "description": "Minimum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "scaleType": {
                          "description": "Available scale configurations for an App Service plan.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "tier": {
                      "description": "Service tier of the resource SKU.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "202": {
            "description": "Operation is in progress.",
            "schema": {
              "allOf": [
                {
                  "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "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
                }
              ],
              "description": "App Service plan.",
              "properties": {
                "properties": {
                  "description": "AppServicePlan resource specific properties",
                  "properties": {
                    "adminSiteName": {
                      "description": "App Service plan administration site.",
                      "type": "string"
                    },
                    "geoRegion": {
                      "description": "Geographical location for the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "hostingEnvironmentProfile": {
                      "description": "Specification for an App Service Environment to use for this resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID of the App Service Environment.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Name of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type of the App Service Environment.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "isSpot": {
                      "description": "If <code>true</code>, this App Service Plan owns spot instances.",
                      "type": "boolean"
                    },
                    "maximumNumberOfWorkers": {
                      "description": "Maximum number of instances that can be assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "name": {
                      "description": "Name for the App Service plan.",
                      "type": "string"
                    },
                    "numberOfSites": {
                      "description": "Number of apps assigned to this App Service plan.",
                      "format": "int32",
                      "readOnly": true,
                      "type": "integer"
                    },
                    "perSiteScaling": {
                      "default": false,
                      "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
                      "type": "boolean"
                    },
                    "provisioningState": {
                      "description": "Provisioning state of the App Service Environment.",
                      "enum": [
                        "Succeeded",
                        "Failed",
                        "Canceled",
                        "InProgress",
                        "Deleting"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProvisioningState"
                      }
                    },
                    "reserved": {
                      "default": false,
                      "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
                      "type": "boolean",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "resourceGroup": {
                      "description": "Resource group of the App Service plan.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "spotExpirationTime": {
                      "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
                      "format": "date-time",
                      "type": "string"
                    },
                    "status": {
                      "description": "App Service plan status.",
                      "enum": [
                        "Ready",
                        "Pending",
                        "Creating"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "StatusOptions"
                      }
                    },
                    "subscription": {
                      "description": "App Service plan subscription.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "targetWorkerCount": {
                      "description": "Scaling worker count.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "targetWorkerSizeId": {
                      "description": "Scaling worker size ID.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "workerTierName": {
                      "description": "Target worker tier assigned to the App Service plan.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "x-ms-client-flatten": true
                },
                "sku": {
                  "description": "Description of a SKU for a scalable resource.",
                  "properties": {
                    "capabilities": {
                      "description": "Capabilities of the SKU, e.g., is traffic manager enabled?",
                      "items": {
                        "description": "Describes the capabilities/features allowed for a specific SKU.",
                        "properties": {
                          "name": {
                            "description": "Name of the SKU capability.",
                            "type": "string"
                          },
                          "reason": {
                            "description": "Reason of the SKU capability.",
                            "type": "string"
                          },
                          "value": {
                            "description": "Value of the SKU capability.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "capacity": {
                      "description": "Current number of instances assigned to the resource.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "family": {
                      "description": "Family code of the resource SKU.",
                      "type": "string"
                    },
                    "locations": {
                      "description": "Locations of the SKU.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "name": {
                      "description": "Name of the resource SKU.",
                      "type": "string"
                    },
                    "size": {
                      "description": "Size specifier of the resource SKU.",
                      "type": "string"
                    },
                    "skuCapacity": {
                      "description": "Description of the App Service plan scale options.",
                      "properties": {
                        "default": {
                          "description": "Default number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "maximum": {
                          "description": "Maximum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "minimum": {
                          "description": "Minimum number of workers for this App Service plan SKU.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "scaleType": {
                          "description": "Available scale configurations for an App Service plan.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "tier": {
                      "description": "Service tier of the resource SKU.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Creates or updates an App Service Plan.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-examples": {
          "Create or Update App Service plan": {
            "parameters": {
              "api-version": "2016-09-01",
              "appServicePlan": {
                "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                "kind": "app",
                "location": "East US",
                "name": "testsf6141",
                "properties": {
                  "name": "testsf6141"
                },
                "sku": {
                  "capacity": 1,
                  "family": "P",
                  "name": "P1",
                  "size": "P1",
                  "tier": "Premium"
                },
                "type": "Microsoft.Web/serverfarms"
              },
              "name": "testsf6141",
              "resourceGroupName": "testrg123",
              "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                  "kind": "app",
                  "location": "East US",
                  "name": "testsf6141",
                  "properties": {
                    "currentNumberOfWorkers": 1,
                    "currentWorkerSize": "Default",
                    "geoRegion": "East US",
                    "maximumNumberOfWorkers": 20,
                    "mdmId": "waws-prod-blu-033_4740",
                    "name": "testsf6141",
                    "numberOfSites": 4,
                    "numberOfWorkers": 1,
                    "provisioningState": "Succeeded",
                    "reserved": false,
                    "status": "Ready",
                    "targetWorkerCount": 0,
                    "targetWorkerSizeId": 0,
                    "workerSize": "Default"
                  },
                  "sku": {
                    "capacity": 1,
                    "family": "P",
                    "name": "P1",
                    "size": "P1",
                    "tier": "Premium"
                  },
                  "type": "Microsoft.Web/serverfarms"
                },
                "headers": {}
              },
              "201": {
                "body": {
                  "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                  "kind": "app",
                  "location": "East US",
                  "name": "testsf6141",
                  "properties": {
                    "currentNumberOfWorkers": 1,
                    "currentWorkerSize": "Default",
                    "geoRegion": "East US",
                    "maximumNumberOfWorkers": 20,
                    "mdmId": "waws-prod-blu-033_4740",
                    "name": "testsf6141",
                    "numberOfSites": 4,
                    "numberOfWorkers": 1,
                    "provisioningState": "Succeeded",
                    "reserved": false,
                    "status": "Ready",
                    "targetWorkerCount": 0,
                    "targetWorkerSizeId": 0,
                    "workerSize": "Default"
                  },
                  "sku": {
                    "capacity": 1,
                    "family": "P",
                    "name": "P1",
                    "size": "P1",
                    "tier": "Premium"
                  },
                  "type": "Microsoft.Web/serverfarms"
                },
                "headers": {}
              },
              "202": {
                "body": {
                  "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141",
                  "kind": "app",
                  "location": "East US",
                  "name": "testsf6141",
                  "properties": {
                    "currentNumberOfWorkers": 1,
                    "currentWorkerSize": "Default",
                    "geoRegion": "East US",
                    "isSpot": false,
                    "maximumNumberOfWorkers": 20,
                    "mdmId": "waws-prod-blu-033_4740",
                    "name": "testsf6141",
                    "numberOfSites": 4,
                    "numberOfWorkers": 1,
                    "provisioningState": "Succeeded",
                    "reserved": false,
                    "status": "Ready",
                    "targetWorkerCount": 0,
                    "targetWorkerSizeId": 0,
                    "workerSize": "Default"
                  },
                  "sku": {
                    "capacity": 1,
                    "family": "P",
                    "name": "P1",
                    "size": "P1",
                    "tier": "Premium"
                  },
                  "type": "Microsoft.Web/serverfarms"
                },
                "headers": {
                  "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141/operationresults/F0C6B8EC-0D53-432C-913B-1CD9E8CDE3A0",
                  "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141/operationresults/F0C6B8EC-0D53-432C-913B-1CD9E8CDE3A0"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities": {
      "get": {
        "description": "List all capabilities of an App Service plan.",
        "operationId": "AppServicePlans_ListCapabilities",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "description": "Describes the capabilities/features allowed for a specific SKU.",
                "properties": {
                  "name": {
                    "description": "Name of the SKU capability.",
                    "type": "string"
                  },
                  "reason": {
                    "description": "Reason of the SKU capability.",
                    "type": "string"
                  },
                  "value": {
                    "description": "Value of the SKU capability.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          }
        },
        "summary": "List all capabilities of an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}": {
      "delete": {
        "description": "Delete a Hybrid Connection in use in an App Service plan.",
        "operationId": "AppServicePlans_DeleteHybridConnection",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Service Bus namespace.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Service Bus relay.",
            "in": "path",
            "name": "relayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted hybrid connection"
          },
          "204": {
            "description": "Hybrid connection does not exist"
          }
        },
        "summary": "Delete a Hybrid Connection in use in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      },
      "get": {
        "description": "Retrieve a Hybrid Connection in use in an App Service plan.",
        "operationId": "AppServicePlans_GetHybridConnection",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Service Bus namespace.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Service Bus relay.",
            "in": "path",
            "name": "relayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Hybrid Connection contract. This is used to configure a Hybrid Connection.",
              "properties": {
                "properties": {
                  "description": "HybridConnection resource specific properties",
                  "properties": {
                    "hostname": {
                      "description": "The hostname of the endpoint.",
                      "type": "string"
                    },
                    "port": {
                      "description": "The port of the endpoint.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "relayArmUri": {
                      "description": "The ARM URI to the Service Bus relay.",
                      "type": "string"
                    },
                    "relayName": {
                      "description": "The name of the Service Bus relay.",
                      "type": "string",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "sendKeyName": {
                      "description": "The name of the Service Bus key which has Send permissions. This is used to authenticate to Service Bus.",
                      "type": "string"
                    },
                    "sendKeyValue": {
                      "description": "The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned\nnormally, use the POST /listKeys API instead.",
                      "type": "string"
                    },
                    "serviceBusNamespace": {
                      "description": "The name of the Service Bus namespace.",
                      "type": "string",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "serviceBusSuffix": {
                      "description": "The suffix for the service bus endpoint. By default this is .servicebus.windows.net",
                      "type": "string"
                    }
                  },
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Retrieve a Hybrid Connection in use in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys": {
      "post": {
        "description": "Get the send key name and value of a Hybrid Connection.",
        "operationId": "AppServicePlans_ListHybridConnectionKeys",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Service Bus namespace.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Service Bus relay.",
            "in": "path",
            "name": "relayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Hybrid Connection key contract. This has the send key name and value for a Hybrid Connection.",
              "properties": {
                "properties": {
                  "description": "HybridConnectionKey resource specific properties",
                  "properties": {
                    "sendKeyName": {
                      "description": "The name of the send key.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "sendKeyValue": {
                      "description": "The value of the send key.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get the send key name and value of a Hybrid Connection.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites": {
      "get": {
        "description": "Get all apps that use a Hybrid Connection in an App Service Plan.",
        "operationId": "AppServicePlans_ListWebAppsByHybridConnection",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Hybrid Connection namespace.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Hybrid Connection relay.",
            "in": "path",
            "name": "relayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResourceCollection"
            }
          }
        },
        "summary": "Get all apps that use a Hybrid Connection in an App Service Plan.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit": {
      "get": {
        "description": "Get the maximum number of Hybrid Connections allowed in an App Service plan.",
        "operationId": "AppServicePlans_GetHybridConnectionPlanLimit",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/HybridConnectionLimits"
            }
          }
        },
        "summary": "Get the maximum number of Hybrid Connections allowed in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays": {
      "get": {
        "description": "Retrieve all Hybrid Connections in use in an App Service plan.",
        "operationId": "AppServicePlans_ListHybridConnections",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/HybridConnectionCollection"
            }
          }
        },
        "summary": "Retrieve all Hybrid Connections in use in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions": {
      "get": {
        "description": "Get metrics that can be queried for an App Service plan, and their definitions.",
        "operationId": "AppServicePlans_ListMetricDefintions",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "description": "Collection of metric definitions.",
              "properties": {
                "nextLink": {
                  "description": "Link to next page of resources.",
                  "readOnly": true,
                  "type": "string"
                },
                "value": {
                  "description": "Collection of resources.",
                  "items": {
                    "allOf": [
                      {
                        "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                        "properties": {
                          "id": {
                            "description": "Resource Id.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "kind": {
                            "description": "Kind of resource.",
                            "type": "string"
                          },
                          "name": {
                            "description": "Resource Name.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "type": {
                            "description": "Resource type.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "x-ms-azure-resource": true
                      }
                    ],
                    "description": "Metadata for the metrics.",
                    "properties": {
                      "properties": {
                        "description": "ResourceMetricDefinition resource specific properties",
                        "properties": {
                          "id": {
                            "description": "Resource ID.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "metricAvailabilities": {
                            "description": "List of time grains supported for the metric together with retention period.",
                            "items": {
                              "description": "Metrics availability and retention.",
                              "properties": {
                                "retention": {
                                  "description": "Retention period for the current time grain.",
                                  "readOnly": true,
                                  "type": "string"
                                },
                                "timeGrain": {
                                  "description": "Time grain .",
                                  "readOnly": true,
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "readOnly": true,
                            "type": "array"
                          },
                          "name": {
                            "description": "Name of a metric for any resource .",
                            "properties": {
                              "localizedValue": {
                                "description": "Localized metric name value.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "value": {
                                "description": "metric name value.",
                                "readOnly": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "primaryAggregationType": {
                            "description": "Primary aggregation type.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "properties": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "description": "Resource metric definition properties.",
                            "readOnly": true,
                            "type": "object"
                          },
                          "resourceUri": {
                            "description": "Resource URI.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "unit": {
                            "description": "Unit of the metric.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "x-ms-client-flatten": true
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "value"
              ],
              "type": "object"
            }
          }
        },
        "summary": "Get metrics that can be queried for an App Service plan, and their definitions.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics": {
      "get": {
        "description": "Get metrics for an App Service plan.",
        "operationId": "AppServicePlans_ListMetrics",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Specify <code>true</code> to include instance details. The default is <code>false</code>.",
            "in": "query",
            "name": "details",
            "type": "boolean"
          },
          {
            "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'.",
            "in": "query",
            "name": "$filter",
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "description": "Collection of metric responses.",
              "properties": {
                "nextLink": {
                  "description": "Link to next page of resources.",
                  "readOnly": true,
                  "type": "string"
                },
                "value": {
                  "description": "Collection of resources.",
                  "items": {
                    "description": "Object representing a metric for any resource .",
                    "properties": {
                      "endTime": {
                        "description": "Metric end time.",
                        "format": "date-time",
                        "readOnly": true,
                        "type": "string"
                      },
                      "id": {
                        "description": "Resource Id.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "metricValues": {
                        "description": "Metric values.",
                        "items": {
                          "description": "Value of resource metric.",
                          "properties": {
                            "average": {
                              "description": "Value average.",
                              "format": "float",
                              "readOnly": true,
                              "type": "number"
                            },
                            "count": {
                              "description": "Value count.",
                              "format": "float",
                              "readOnly": true,
                              "type": "number"
                            },
                            "maximum": {
                              "description": "Value maximum.",
                              "format": "float",
                              "readOnly": true,
                              "type": "number"
                            },
                            "minimum": {
                              "description": "Value minimum.",
                              "format": "float",
                              "readOnly": true,
                              "type": "number"
                            },
                            "properties": {
                              "description": "Resource metric properties collection.",
                              "items": {
                                "description": "Resource metric property.",
                                "properties": {
                                  "key": {
                                    "description": "Key for resource metric property.",
                                    "type": "string"
                                  },
                                  "value": {
                                    "description": "Value of pair.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "readOnly": true,
                              "type": "array"
                            },
                            "timestamp": {
                              "description": "Value timestamp.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "total": {
                              "description": "Value total.",
                              "format": "float",
                              "readOnly": true,
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "readOnly": true,
                        "type": "array"
                      },
                      "name": {
                        "description": "Name of a metric for any resource .",
                        "properties": {
                          "localizedValue": {
                            "description": "Localized metric name value.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "value": {
                            "description": "metric name value.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "properties": {
                        "description": "Resource metric properties collection.",
                        "items": {
                          "description": "Resource metric property.",
                          "properties": {
                            "key": {
                              "description": "Key for resource metric property.",
                              "type": "string"
                            },
                            "value": {
                              "description": "Value of pair.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "readOnly": true,
                        "type": "array"
                      },
                      "resourceId": {
                        "description": "Metric resource Id.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "startTime": {
                        "description": "Metric start time.",
                        "format": "date-time",
                        "readOnly": true,
                        "type": "string"
                      },
                      "timeGrain": {
                        "description": "Metric granularity. E.g PT1H, PT5M, P1D",
                        "readOnly": true,
                        "type": "string"
                      },
                      "unit": {
                        "description": "Metric unit.",
                        "readOnly": true,
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "value"
              ],
              "type": "object"
            }
          }
        },
        "summary": "Get metrics for an App Service plan.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites": {
      "post": {
        "description": "Restart all apps in an App Service plan.",
        "operationId": "AppServicePlans_RestartWebApps",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Specify <code>true</code> to perform a soft restart, applies the configuration settings and restarts the apps if necessary. The default is <code>false</code>, which always restarts and reprovisions the apps",
            "in": "query",
            "name": "softRestart",
            "type": "boolean"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "summary": "Restart all apps in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites": {
      "get": {
        "description": "Get all apps associated with an App Service plan.",
        "operationId": "AppServicePlans_ListWebApps",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Skip to a web app in the list of webapps associated with app service plan. If specified, the resulting list will contain web apps starting from (including) the skipToken. Otherwise, the resulting list contains web apps from the start of the list",
            "in": "query",
            "name": "$skipToken",
            "type": "string"
          },
          {
            "description": "Supported filter: $filter=state eq running. Returns only web apps that are currently running",
            "in": "query",
            "name": "$filter",
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "List page size. If specified, results are paged.",
            "in": "query",
            "name": "$top",
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "description": "Collection of App Service apps.",
              "properties": {
                "nextLink": {
                  "description": "Link to next page of resources.",
                  "readOnly": true,
                  "type": "string"
                },
                "value": {
                  "description": "Collection of resources.",
                  "items": {
                    "allOf": [
                      {
                        "description": "Azure resource. This resource is tracked in Azure Resource Manager",
                        "properties": {
                          "id": {
                            "description": "Resource Id.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "kind": {
                            "description": "Kind of resource.",
                            "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
                      }
                    ],
                    "description": "A web app, a mobile app backend, or an API app.",
                    "properties": {
                      "identity": {
                        "description": "Managed service identity.",
                        "properties": {
                          "principalId": {
                            "description": "Principal Id of managed service identity.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "tenantId": {
                            "description": "Tenant of managed service identity.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "type": {
                            "description": "Type of managed service identity.",
                            "enum": [
                              "SystemAssigned"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": true,
                              "name": "ManagedServiceIdentityType"
                            }
                          }
                        },
                        "type": "object"
                      },
                      "properties": {
                        "description": "Site resource specific properties",
                        "properties": {
                          "availabilityState": {
                            "description": "Management information availability state for the app.",
                            "enum": [
                              "Normal",
                              "Limited",
                              "DisasterRecoveryMode"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "SiteAvailabilityState"
                            }
                          },
                          "clientAffinityEnabled": {
                            "description": "<code>true</code> to enable client affinity; <code>false</code> to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is <code>true</code>.",
                            "type": "boolean"
                          },
                          "clientCertEnabled": {
                            "description": "<code>true</code> to enable client certificate authentication (TLS mutual authentication); otherwise, <code>false</code>. Default is <code>false</code>.",
                            "type": "boolean"
                          },
                          "cloningInfo": {
                            "description": "Information needed for cloning operation.",
                            "properties": {
                              "appSettingsOverrides": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "description": "Application setting overrides for cloned app. If specified, these settings override the settings cloned \nfrom source app. Otherwise, application settings from source app are retained.",
                                "type": "object"
                              },
                              "cloneCustomHostNames": {
                                "description": "<code>true</code> to clone custom hostnames from source app; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "cloneSourceControl": {
                                "description": "<code>true</code> to clone source control from source app; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "configureLoadBalancing": {
                                "description": "<code>true</code> to configure load balancing for source and destination app.",
                                "type": "boolean"
                              },
                              "correlationId": {
                                "description": "Correlation ID of cloning operation. This ID ties multiple cloning operations\ntogether to use the same snapshot.",
                                "example": "00000000-0000-0000-0000-000000000000",
                                "format": "uuid",
                                "type": "string"
                              },
                              "hostingEnvironment": {
                                "description": "App Service Environment.",
                                "type": "string"
                              },
                              "ignoreQuotas": {
                                "description": "<code>true</code> if quotas should be ignored; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "overwrite": {
                                "description": "<code>true</code> to overwrite destination app; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "sourceWebAppId": {
                                "description": "ARM resource ID of the source app. App resource ID is of the form \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.",
                                "type": "string"
                              },
                              "trafficManagerProfileId": {
                                "description": "ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}.",
                                "type": "string"
                              },
                              "trafficManagerProfileName": {
                                "description": "Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "sourceWebAppId"
                            ],
                            "type": "object"
                          },
                          "containerSize": {
                            "description": "Size of the function container.",
                            "format": "int32",
                            "type": "integer"
                          },
                          "dailyMemoryTimeQuota": {
                            "description": "Maximum allowed daily memory-time quota (applicable on dynamic apps only).",
                            "format": "int32",
                            "type": "integer"
                          },
                          "defaultHostName": {
                            "description": "Default hostname of the app. Read-only.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "enabled": {
                            "description": "<code>true</code> if the app is enabled; otherwise, <code>false</code>. Setting this value to false disables the app (takes the app offline).",
                            "type": "boolean"
                          },
                          "enabledHostNames": {
                            "description": "Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise,\nthe app is not served on those hostnames.",
                            "items": {
                              "type": "string"
                            },
                            "readOnly": true,
                            "type": "array"
                          },
                          "hostNameSslStates": {
                            "description": "Hostname SSL states are used to manage the SSL bindings for app's hostnames.",
                            "items": {
                              "description": "SSL-enabled hostname.",
                              "properties": {
                                "hostType": {
                                  "description": "Indicates whether the hostname is a standard or repository hostname.",
                                  "enum": [
                                    "Standard",
                                    "Repository"
                                  ],
                                  "type": "string",
                                  "x-ms-enum": {
                                    "modelAsString": false,
                                    "name": "HostType"
                                  }
                                },
                                "name": {
                                  "description": "Hostname.",
                                  "type": "string"
                                },
                                "sslState": {
                                  "description": "SSL type.",
                                  "enum": [
                                    "Disabled",
                                    "SniEnabled",
                                    "IpBasedEnabled"
                                  ],
                                  "type": "string",
                                  "x-ms-enum": {
                                    "modelAsString": false,
                                    "name": "SslState"
                                  }
                                },
                                "thumbprint": {
                                  "description": "SSL certificate thumbprint.",
                                  "type": "string"
                                },
                                "toUpdate": {
                                  "description": "Set to <code>true</code> to update existing hostname.",
                                  "type": "boolean"
                                },
                                "virtualIP": {
                                  "description": "Virtual IP address assigned to the hostname if IP based SSL is enabled.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "hostNames": {
                            "description": "Hostnames associated with the app.",
                            "items": {
                              "type": "string"
                            },
                            "readOnly": true,
                            "type": "array"
                          },
                          "hostNamesDisabled": {
                            "description": "<code>true</code> to disable the public hostnames of the app; otherwise, <code>false</code>.\n If <code>true</code>, the app is only accessible via API management process.",
                            "type": "boolean"
                          },
                          "hostingEnvironmentProfile": {
                            "description": "Specification for an App Service Environment to use for this resource.",
                            "properties": {
                              "id": {
                                "description": "Resource ID of the App Service Environment.",
                                "type": "string"
                              },
                              "name": {
                                "description": "Name of the App Service Environment.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "type": {
                                "description": "Resource type of the App Service Environment.",
                                "readOnly": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "httpsOnly": {
                            "description": "HttpsOnly: configures a web site to accept only https requests. Issues redirect for\nhttp requests",
                            "type": "boolean"
                          },
                          "isDefaultContainer": {
                            "description": "<code>true</code> if the app is a default container; otherwise, <code>false</code>.",
                            "readOnly": true,
                            "type": "boolean"
                          },
                          "lastModifiedTimeUtc": {
                            "description": "Last time the app was modified, in UTC. Read-only.",
                            "format": "date-time",
                            "readOnly": true,
                            "type": "string"
                          },
                          "maxNumberOfWorkers": {
                            "description": "Maximum number of workers.\nThis only applies to Functions container.",
                            "format": "int32",
                            "readOnly": true,
                            "type": "integer"
                          },
                          "outboundIpAddresses": {
                            "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "possibleOutboundIpAddresses": {
                            "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants. Read-only.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "repositorySiteName": {
                            "description": "Name of the repository site.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "reserved": {
                            "default": false,
                            "description": "<code>true</code> if reserved; otherwise, <code>false</code>.",
                            "type": "boolean",
                            "x-ms-mutability": [
                              "create",
                              "read"
                            ]
                          },
                          "resourceGroup": {
                            "description": "Name of the resource group the app belongs to. Read-only.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "scmSiteAlsoStopped": {
                            "default": false,
                            "description": "<code>true</code> to stop SCM (KUDU) site when the app is stopped; otherwise, <code>false</code>. The default is <code>false</code>.",
                            "type": "boolean"
                          },
                          "serverFarmId": {
                            "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".",
                            "type": "string"
                          },
                          "siteConfig": {
                            "description": "Configuration of an App Service app.",
                            "properties": {
                              "alwaysOn": {
                                "description": "<code>true</code> if Always On is enabled; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "apiDefinition": {
                                "description": "Information about the formal API definition for the app.",
                                "properties": {
                                  "url": {
                                    "description": "The URL of the API definition.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "appCommandLine": {
                                "description": "App command line to launch.",
                                "type": "string"
                              },
                              "appSettings": {
                                "description": "Application settings.",
                                "items": {
                                  "description": "Name value pair.",
                                  "properties": {
                                    "name": {
                                      "description": "Pair name.",
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "Pair value.",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "autoHealEnabled": {
                                "description": "<code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "autoHealRules": {
                                "description": "Rules that can be defined for auto-heal.",
                                "properties": {
                                  "actions": {
                                    "description": "Actions which to take by the auto-heal module when a rule is triggered.",
                                    "properties": {
                                      "actionType": {
                                        "description": "Predefined action to be taken.",
                                        "enum": [
                                          "Recycle",
                                          "LogEvent",
                                          "CustomAction"
                                        ],
                                        "type": "string",
                                        "x-ms-enum": {
                                          "modelAsString": false,
                                          "name": "AutoHealActionType"
                                        }
                                      },
                                      "customAction": {
                                        "description": "Custom action to be executed\nwhen an auto heal rule is triggered.",
                                        "properties": {
                                          "exe": {
                                            "description": "Executable to be run.",
                                            "type": "string"
                                          },
                                          "parameters": {
                                            "description": "Parameters for the executable.",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "minProcessExecutionTime": {
                                        "description": "Minimum time the process must execute\nbefore taking the action",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "triggers": {
                                    "description": "Triggers for auto-heal.",
                                    "properties": {
                                      "privateBytesInKB": {
                                        "description": "A rule based on private bytes.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "requests": {
                                        "description": "Trigger based on total requests.",
                                        "properties": {
                                          "count": {
                                            "description": "Request Count.",
                                            "format": "int32",
                                            "type": "integer"
                                          },
                                          "timeInterval": {
                                            "description": "Time interval.",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "slowRequests": {
                                        "description": "Trigger based on request execution time.",
                                        "properties": {
                                          "count": {
                                            "description": "Request Count.",
                                            "format": "int32",
                                            "type": "integer"
                                          },
                                          "timeInterval": {
                                            "description": "Time interval.",
                                            "type": "string"
                                          },
                                          "timeTaken": {
                                            "description": "Time taken.",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "statusCodes": {
                                        "description": "A rule based on status codes.",
                                        "items": {
                                          "description": "Trigger based on status code.",
                                          "properties": {
                                            "count": {
                                              "description": "Request Count.",
                                              "format": "int32",
                                              "type": "integer"
                                            },
                                            "status": {
                                              "description": "HTTP status code.",
                                              "format": "int32",
                                              "type": "integer"
                                            },
                                            "subStatus": {
                                              "description": "Request Sub Status.",
                                              "format": "int32",
                                              "type": "integer"
                                            },
                                            "timeInterval": {
                                              "description": "Time interval.",
                                              "type": "string"
                                            },
                                            "win32Status": {
                                              "description": "Win32 error code.",
                                              "format": "int32",
                                              "type": "integer"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "autoSwapSlotName": {
                                "description": "Auto-swap slot name.",
                                "type": "string"
                              },
                              "connectionStrings": {
                                "description": "Connection strings.",
                                "items": {
                                  "description": "Database connection string information.",
                                  "properties": {
                                    "connectionString": {
                                      "description": "Connection string value.",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "Name of connection string.",
                                      "type": "string"
                                    },
                                    "type": {
                                      "description": "Type of database.",
                                      "enum": [
                                        "MySql",
                                        "SQLServer",
                                        "SQLAzure",
                                        "Custom",
                                        "NotificationHub",
                                        "ServiceBus",
                                        "EventHub",
                                        "ApiHub",
                                        "DocDb",
                                        "RedisCache",
                                        "PostgreSQL"
                                      ],
                                      "type": "string",
                                      "x-ms-enum": {
                                        "modelAsString": false,
                                        "name": "ConnectionStringType"
                                      }
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "cors": {
                                "description": "Cross-Origin Resource Sharing (CORS) settings for the app.",
                                "properties": {
                                  "allowedOrigins": {
                                    "description": "Gets or sets the list of origins that should be allowed to make cross-origin\ncalls (for example: http://example.com:12345). Use \"*\" to allow all.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  }
                                },
                                "type": "object"
                              },
                              "defaultDocuments": {
                                "description": "Default documents.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "detailedErrorLoggingEnabled": {
                                "description": "<code>true</code> if detailed error logging is enabled; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "documentRoot": {
                                "description": "Document root.",
                                "type": "string"
                              },
                              "experiments": {
                                "description": "Routing rules in production experiments.",
                                "properties": {
                                  "rampUpRules": {
                                    "description": "List of ramp-up rules.",
                                    "items": {
                                      "description": "Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change routing % based on performance.",
                                      "properties": {
                                        "actionHostName": {
                                          "description": "Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net.",
                                          "type": "string"
                                        },
                                        "changeDecisionCallbackUrl": {
                                          "description": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/",
                                          "type": "string"
                                        },
                                        "changeIntervalInMinutes": {
                                          "description": "Specifies interval in minutes to reevaluate ReroutePercentage.",
                                          "format": "int32",
                                          "type": "integer"
                                        },
                                        "changeStep": {
                                          "description": "In auto ramp up scenario this is the step to add/remove from <code>ReroutePercentage</code> until it reaches \n<code>MinReroutePercentage</code> or <code>MaxReroutePercentage</code>. Site metrics are checked every N minutes specified in <code>ChangeIntervalInMinutes</code>.\nCustom decision algorithm can be provided in TiPCallback site extension which URL can be specified in <code>ChangeDecisionCallbackUrl</code>.",
                                          "format": "double",
                                          "type": "number"
                                        },
                                        "maxReroutePercentage": {
                                          "description": "Specifies upper boundary below which ReroutePercentage will stay.",
                                          "format": "double",
                                          "type": "number"
                                        },
                                        "minReroutePercentage": {
                                          "description": "Specifies lower boundary above which ReroutePercentage will stay.",
                                          "format": "double",
                                          "type": "number"
                                        },
                                        "name": {
                                          "description": "Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment.",
                                          "type": "string"
                                        },
                                        "reroutePercentage": {
                                          "description": "Percentage of the traffic which will be redirected to <code>ActionHostName</code>.",
                                          "format": "double",
                                          "type": "number"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "type": "array"
                                  }
                                },
                                "type": "object"
                              },
                              "handlerMappings": {
                                "description": "Handler mappings.",
                                "items": {
                                  "description": "The IIS handler mappings used to define which handler processes HTTP requests with certain extension. \nFor example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension.",
                                  "properties": {
                                    "arguments": {
                                      "description": "Command-line arguments to be passed to the script processor.",
                                      "type": "string"
                                    },
                                    "extension": {
                                      "description": "Requests with this extension will be handled using the specified FastCGI application.",
                                      "type": "string"
                                    },
                                    "scriptProcessor": {
                                      "description": "The absolute path to the FastCGI application.",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "http20Enabled": {
                                "default": true,
                                "description": "Http20Enabled: configures a web site to allow clients to connect over http2.0",
                                "type": "boolean"
                              },
                              "httpLoggingEnabled": {
                                "description": "<code>true</code> if HTTP logging is enabled; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "ipSecurityRestrictions": {
                                "description": "IP security restrictions.",
                                "items": {
                                  "description": "IP security restriction on an app.",
                                  "properties": {
                                    "ipAddress": {
                                      "description": "IP address the security restriction is valid for.",
                                      "type": "string"
                                    },
                                    "subnetMask": {
                                      "description": "Subnet mask for the range of IP addresses the restriction is valid for.",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "ipAddress"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "javaContainer": {
                                "description": "Java container.",
                                "type": "string"
                              },
                              "javaContainerVersion": {
                                "description": "Java container version.",
                                "type": "string"
                              },
                              "javaVersion": {
                                "description": "Java version.",
                                "type": "string"
                              },
                              "limits": {
                                "description": "Metric limits set on an app.",
                                "properties": {
                                  "maxDiskSizeInMb": {
                                    "description": "Maximum allowed disk size usage in MB.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "maxMemoryInMb": {
                                    "description": "Maximum allowed memory usage in MB.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "maxPercentageCpu": {
                                    "description": "Maximum allowed CPU usage percentage.",
                                    "format": "double",
                                    "type": "number"
                                  }
                                },
                                "type": "object"
                              },
                              "linuxFxVersion": {
                                "description": "Linux App Framework and version",
                                "type": "string"
                              },
                              "loadBalancing": {
                                "description": "Site load balancing.",
                                "enum": [
                                  "WeightedRoundRobin",
                                  "LeastRequests",
                                  "LeastResponseTime",
                                  "WeightedTotalTraffic",
                                  "RequestHash"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": false,
                                  "name": "SiteLoadBalancing"
                                }
                              },
                              "localMySqlEnabled": {
                                "default": false,
                                "description": "<code>true</code> to enable local MySQL; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "logsDirectorySizeLimit": {
                                "description": "HTTP logs directory size limit.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "machineKey": {
                                "description": "MachineKey of an app.",
                                "properties": {
                                  "decryption": {
                                    "description": "Algorithm used for decryption.",
                                    "type": "string"
                                  },
                                  "decryptionKey": {
                                    "description": "Decryption key.",
                                    "type": "string"
                                  },
                                  "validation": {
                                    "description": "MachineKey validation.",
                                    "type": "string"
                                  },
                                  "validationKey": {
                                    "description": "Validation key.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "managedPipelineMode": {
                                "description": "Managed pipeline mode.",
                                "enum": [
                                  "Integrated",
                                  "Classic"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": false,
                                  "name": "ManagedPipelineMode"
                                }
                              },
                              "minTlsVersion": {
                                "description": "MinTlsVersion: configures the minimum version of TLS required for SSL requests",
                                "enum": [
                                  "1.0",
                                  "1.1",
                                  "1.2"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "SupportedTlsVersions"
                                }
                              },
                              "netFrameworkVersion": {
                                "default": "v4.6",
                                "description": ".NET Framework version.",
                                "type": "string"
                              },
                              "nodeVersion": {
                                "description": "Version of Node.js.",
                                "type": "string"
                              },
                              "numberOfWorkers": {
                                "description": "Number of workers.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "phpVersion": {
                                "description": "Version of PHP.",
                                "type": "string"
                              },
                              "publishingUsername": {
                                "description": "Publishing user name.",
                                "type": "string"
                              },
                              "push": {
                                "allOf": [
                                  {
                                    "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                                    "properties": {
                                      "id": {
                                        "description": "Resource Id.",
                                        "readOnly": true,
                                        "type": "string"
                                      },
                                      "kind": {
                                        "description": "Kind of resource.",
                                        "type": "string"
                                      },
                                      "name": {
                                        "description": "Resource Name.",
                                        "readOnly": true,
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "Resource type.",
                                        "readOnly": true,
                                        "type": "string"
                                      }
                                    },
                                    "x-ms-azure-resource": true
                                  }
                                ],
                                "description": "Push settings for the App.",
                                "properties": {
                                  "properties": {
                                    "description": "PushSettings resource specific properties",
                                    "properties": {
                                      "dynamicTagsJson": {
                                        "description": "Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint.",
                                        "type": "string"
                                      },
                                      "isPushEnabled": {
                                        "description": "Gets or sets a flag indicating whether the Push endpoint is enabled.",
                                        "type": "boolean"
                                      },
                                      "tagWhitelistJson": {
                                        "description": "Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint.",
                                        "type": "string"
                                      },
                                      "tagsRequiringAuth": {
                                        "description": "Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint.\nTags can consist of alphanumeric characters and the following:\n'_', '@', '#', '.', ':', '-'. \nValidation should be performed at the PushRequestHandler.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "isPushEnabled"
                                    ],
                                    "x-ms-client-flatten": true
                                  }
                                },
                                "type": "object"
                              },
                              "pythonVersion": {
                                "description": "Version of Python.",
                                "type": "string"
                              },
                              "remoteDebuggingEnabled": {
                                "description": "<code>true</code> if remote debugging is enabled; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "remoteDebuggingVersion": {
                                "description": "Remote debugging version.",
                                "type": "string"
                              },
                              "requestTracingEnabled": {
                                "description": "<code>true</code> if request tracing is enabled; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "requestTracingExpirationTime": {
                                "description": "Request tracing expiration time.",
                                "format": "date-time",
                                "type": "string"
                              },
                              "scmType": {
                                "description": "SCM type.",
                                "enum": [
                                  "None",
                                  "Dropbox",
                                  "Tfs",
                                  "LocalGit",
                                  "GitHub",
                                  "CodePlexGit",
                                  "CodePlexHg",
                                  "BitbucketGit",
                                  "BitbucketHg",
                                  "ExternalGit",
                                  "ExternalHg",
                                  "OneDrive",
                                  "VSO"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "ScmType"
                                }
                              },
                              "tracingOptions": {
                                "description": "Tracing options.",
                                "type": "string"
                              },
                              "use32BitWorkerProcess": {
                                "description": "<code>true</code> to use 32-bit worker process; otherwise, <code>false</code>.",
                                "type": "boolean"
                              },
                              "virtualApplications": {
                                "description": "Virtual applications.",
                                "items": {
                                  "description": "Virtual application in an app.",
                                  "properties": {
                                    "physicalPath": {
                                      "description": "Physical path.",
                                      "type": "string"
                                    },
                                    "preloadEnabled": {
                                      "description": "<code>true</code> if preloading is enabled; otherwise, <code>false</code>.",
                                      "type": "boolean"
                                    },
                                    "virtualDirectories": {
                                      "description": "Virtual directories for virtual application.",
                                      "items": {
                                        "description": "Directory for virtual application.",
                                        "properties": {
                                          "physicalPath": {
                                            "description": "Physical path.",
                                            "type": "string"
                                          },
                                          "virtualPath": {
                                            "description": "Path to virtual application.",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "type": "array"
                                    },
                                    "virtualPath": {
                                      "description": "Virtual path.",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "vnetName": {
                                "description": "Virtual Network name.",
                                "type": "string",
                                "x-ms-mutability": [
                                  "create",
                                  "read"
                                ]
                              },
                              "webSocketsEnabled": {
                                "description": "<code>true</code> if WebSocket is enabled; otherwise, <code>false</code>.",
                                "type": "boolean"
                              }
                            },
                            "type": "object"
                          },
                          "slotSwapStatus": {
                            "description": "The status of the last successful slot swap operation.",
                            "properties": {
                              "destinationSlotName": {
                                "description": "The destination slot of the last swap operation.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "sourceSlotName": {
                                "description": "The source slot of the last swap operation.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "timestampUtc": {
                                "description": "The time the last successful slot swap completed.",
                                "format": "date-time",
                                "readOnly": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "snapshotInfo": {
                            "allOf": [
                              {
                                "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                                "properties": {
                                  "id": {
                                    "description": "Resource Id.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "kind": {
                                    "description": "Kind of resource.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Resource Name.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "Resource type.",
                                    "readOnly": true,
                                    "type": "string"
                                  }
                                },
                                "x-ms-azure-resource": true
                              }
                            ],
                            "description": "Details about app recovery operation.",
                            "properties": {
                              "properties": {
                                "description": "SnapshotRecoveryRequest resource specific properties",
                                "properties": {
                                  "ignoreConflictingHostNames": {
                                    "description": "If true, custom hostname conflicts will be ignored when recovering to a target web app.\nThis setting is only necessary when RecoverConfiguration is enabled.",
                                    "type": "boolean"
                                  },
                                  "overwrite": {
                                    "description": "If <code>true</code> the recovery operation can overwrite source app; otherwise, <code>false</code>.",
                                    "type": "boolean"
                                  },
                                  "recoverConfiguration": {
                                    "description": "If true, site configuration, in addition to content, will be reverted.",
                                    "type": "boolean"
                                  },
                                  "recoveryTarget": {
                                    "description": "Specifies the web app that snapshot contents will be written to.",
                                    "properties": {
                                      "id": {
                                        "description": "ARM resource ID of the target app. \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.",
                                        "type": "string"
                                      },
                                      "location": {
                                        "description": "Geographical location of the target web app, e.g. SouthEastAsia, SouthCentralUS",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "snapshotTime": {
                                    "description": "Point in time in which the app recovery should be attempted, formatted as a DateTime string.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "overwrite"
                                ],
                                "x-ms-client-flatten": true
                              }
                            },
                            "type": "object"
                          },
                          "state": {
                            "description": "Current state of the app.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "suspendedTill": {
                            "description": "App suspended till in case memory-time quota is exceeded.",
                            "format": "date-time",
                            "readOnly": true,
                            "type": "string"
                          },
                          "targetSwapSlot": {
                            "description": "Specifies which deployment slot this app will swap into. Read-only.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "trafficManagerHostNames": {
                            "description": "Azure Traffic Manager hostnames associated with the app. Read-only.",
                            "items": {
                              "type": "string"
                            },
                            "readOnly": true,
                            "type": "array"
                          },
                          "usageState": {
                            "description": "State indicating whether the app has exceeded its quota usage. Read-only.",
                            "enum": [
                              "Normal",
                              "Exceeded"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "UsageState"
                            }
                          }
                        },
                        "x-ms-client-flatten": true
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "value"
              ],
              "type": "object"
            }
          }
        },
        "summary": "Get all apps associated with an App Service plan.",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus": {
      "get": {
        "description": "Gets all selectable SKUs for a given App Service Plan",
        "operationId": "AppServicePlans_GetServerFarmSkus",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of App Service Plan",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "summary": "Gets all selectable SKUs for a given App Service Plan",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages": {
      "get": {
        "description": "Gets server farm usage information",
        "operationId": "AppServicePlans_ListUsages",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of App Service Plan",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2').",
            "in": "query",
            "name": "$filter",
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "description": "Collection of CSM usage quotas.",
              "properties": {
                "nextLink": {
                  "description": "Link to next page of resources.",
                  "readOnly": true,
                  "type": "string"
                },
                "value": {
                  "description": "Collection of resources.",
                  "items": {
                    "description": "Usage of the quota resource.",
                    "properties": {
                      "currentValue": {
                        "description": "The current value of the resource counter.",
                        "format": "int64",
                        "type": "integer"
                      },
                      "limit": {
                        "description": "The resource limit.",
                        "format": "int64",
                        "type": "integer"
                      },
                      "name": {
                        "description": "Localizable string object containing the name and a localized value.",
                        "properties": {
                          "localizedValue": {
                            "description": "Localized name.",
                            "type": "string"
                          },
                          "value": {
                            "description": "Non-localized name.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "nextResetTime": {
                        "description": "Next reset time for the resource counter.",
                        "format": "date-time",
                        "type": "string"
                      },
                      "unit": {
                        "description": "Units of measurement for the quota resource.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "value"
              ],
              "type": "object"
            }
          }
        },
        "summary": "Gets server farm usage information",
        "tags": [
          "AppServicePlans"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections": {
      "get": {
        "description": "Get all Virtual Networks associated with an App Service plan.",
        "operationId": "AppServicePlans_ListVnets",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "allOf": [
                  {
                    "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                    "properties": {
                      "id": {
                        "description": "Resource Id.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "kind": {
                        "description": "Kind of resource.",
                        "type": "string"
                      },
                      "name": {
                        "description": "Resource Name.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "type": {
                        "description": "Resource type.",
                        "readOnly": true,
                        "type": "string"
                      }
                    },
                    "x-ms-azure-resource": true
                  }
                ],
                "description": "Virtual Network information contract.",
                "properties": {
                  "properties": {
                    "description": "VnetInfo resource specific properties",
                    "properties": {
                      "certBlob": {
                        "description": "A certificate file (.cer) blob containing the public key of the private key used to authenticate a \nPoint-To-Site VPN connection.",
                        "format": "byte",
                        "type": "string"
                      },
                      "certThumbprint": {
                        "description": "The client certificate thumbprint.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "dnsServers": {
                        "description": "DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses.",
                        "type": "string"
                      },
                      "resyncRequired": {
                        "description": "<code>true</code> if a resync is required; otherwise, <code>false</code>.",
                        "readOnly": true,
                        "type": "boolean"
                      },
                      "routes": {
                        "description": "The routes that this Virtual Network connection uses.",
                        "items": {
                          "allOf": [
                            {
                              "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                              "properties": {
                                "id": {
                                  "description": "Resource Id.",
                                  "readOnly": true,
                                  "type": "string"
                                },
                                "kind": {
                                  "description": "Kind of resource.",
                                  "type": "string"
                                },
                                "name": {
                                  "description": "Resource Name.",
                                  "readOnly": true,
                                  "type": "string"
                                },
                                "type": {
                                  "description": "Resource type.",
                                  "readOnly": true,
                                  "type": "string"
                                }
                              },
                              "x-ms-azure-resource": true
                            }
                          ],
                          "description": "Virtual Network route contract used to pass routing information for a Virtual Network.",
                          "properties": {
                            "properties": {
                              "description": "VnetRoute resource specific properties",
                              "properties": {
                                "endAddress": {
                                  "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.",
                                  "type": "string"
                                },
                                "name": {
                                  "description": "The name of this route. This is only returned by the server and does not need to be set by the client.",
                                  "type": "string",
                                  "x-ms-client-name": "vnetRouteName",
                                  "x-ms-mutability": [
                                    "create",
                                    "read"
                                  ]
                                },
                                "routeType": {
                                  "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.",
                                  "enum": [
                                    "DEFAULT",
                                    "INHERITED",
                                    "STATIC"
                                  ],
                                  "type": "string",
                                  "x-ms-enum": {
                                    "modelAsString": true,
                                    "name": "RouteType"
                                  }
                                },
                                "startAddress": {
                                  "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.",
                                  "type": "string"
                                }
                              },
                              "x-ms-client-flatten": true
                            }
                          },
                          "type": "object"
                        },
                        "readOnly": true,
                        "type": "array"
                      },
                      "vnetResourceId": {
                        "description": "The Virtual Network's resource ID.",
                        "type": "string"
                      }
                    },
                    "x-ms-client-flatten": true
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get all Virtual Networks associated with an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}": {
      "get": {
        "description": "Get a Virtual Network associated with an App Service plan.",
        "operationId": "AppServicePlans_GetVnetFromServerFarm",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network.",
            "in": "path",
            "name": "vnetName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Virtual Network information contract.",
              "properties": {
                "properties": {
                  "description": "VnetInfo resource specific properties",
                  "properties": {
                    "certBlob": {
                      "description": "A certificate file (.cer) blob containing the public key of the private key used to authenticate a \nPoint-To-Site VPN connection.",
                      "format": "byte",
                      "type": "string"
                    },
                    "certThumbprint": {
                      "description": "The client certificate thumbprint.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "dnsServers": {
                      "description": "DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses.",
                      "type": "string"
                    },
                    "resyncRequired": {
                      "description": "<code>true</code> if a resync is required; otherwise, <code>false</code>.",
                      "readOnly": true,
                      "type": "boolean"
                    },
                    "routes": {
                      "description": "The routes that this Virtual Network connection uses.",
                      "items": {
                        "allOf": [
                          {
                            "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                            "properties": {
                              "id": {
                                "description": "Resource Id.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "kind": {
                                "description": "Kind of resource.",
                                "type": "string"
                              },
                              "name": {
                                "description": "Resource Name.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "type": {
                                "description": "Resource type.",
                                "readOnly": true,
                                "type": "string"
                              }
                            },
                            "x-ms-azure-resource": true
                          }
                        ],
                        "description": "Virtual Network route contract used to pass routing information for a Virtual Network.",
                        "properties": {
                          "properties": {
                            "description": "VnetRoute resource specific properties",
                            "properties": {
                              "endAddress": {
                                "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.",
                                "type": "string"
                              },
                              "name": {
                                "description": "The name of this route. This is only returned by the server and does not need to be set by the client.",
                                "type": "string",
                                "x-ms-client-name": "vnetRouteName",
                                "x-ms-mutability": [
                                  "create",
                                  "read"
                                ]
                              },
                              "routeType": {
                                "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.",
                                "enum": [
                                  "DEFAULT",
                                  "INHERITED",
                                  "STATIC"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "RouteType"
                                }
                              },
                              "startAddress": {
                                "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.",
                                "type": "string"
                              }
                            },
                            "x-ms-client-flatten": true
                          }
                        },
                        "type": "object"
                      },
                      "readOnly": true,
                      "type": "array"
                    },
                    "vnetResourceId": {
                      "description": "The Virtual Network's resource ID.",
                      "type": "string"
                    }
                  },
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          },
          "404": {
            "description": "Virtual network could not be found."
          }
        },
        "summary": "Get a Virtual Network associated with an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}": {
      "get": {
        "description": "Get a Virtual Network gateway.",
        "operationId": "AppServicePlans_GetVnetGateway",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network.",
            "in": "path",
            "name": "vnetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the gateway. Only the 'primary' gateway is supported.",
            "in": "path",
            "name": "gatewayName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "The Virtual Network gateway contract. This is used to give the Virtual Network gateway access to the VPN package.",
              "properties": {
                "properties": {
                  "description": "VnetGateway resource specific properties",
                  "properties": {
                    "vnetName": {
                      "description": "The Virtual Network name.",
                      "type": "string",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "vpnPackageUri": {
                      "description": "The URI where the VPN package can be downloaded.",
                      "type": "string",
                      "x-ms-mutability": [
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "vpnPackageUri"
                  ],
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get a Virtual Network gateway.",
        "tags": [
          "AppServicePlans"
        ]
      },
      "put": {
        "description": "Update a Virtual Network gateway.",
        "operationId": "AppServicePlans_UpdateVnetGateway",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network.",
            "in": "path",
            "name": "vnetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the gateway. Only the 'primary' gateway is supported.",
            "in": "path",
            "name": "gatewayName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Definition of the gateway.",
            "in": "body",
            "name": "connectionEnvelope",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "The Virtual Network gateway contract. This is used to give the Virtual Network gateway access to the VPN package.",
              "properties": {
                "properties": {
                  "description": "VnetGateway resource specific properties",
                  "properties": {
                    "vnetName": {
                      "description": "The Virtual Network name.",
                      "type": "string",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "vpnPackageUri": {
                      "description": "The URI where the VPN package can be downloaded.",
                      "type": "string",
                      "x-ms-mutability": [
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "vpnPackageUri"
                  ],
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "The Virtual Network gateway contract. This is used to give the Virtual Network gateway access to the VPN package.",
              "properties": {
                "properties": {
                  "description": "VnetGateway resource specific properties",
                  "properties": {
                    "vnetName": {
                      "description": "The Virtual Network name.",
                      "type": "string",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "vpnPackageUri": {
                      "description": "The URI where the VPN package can be downloaded.",
                      "type": "string",
                      "x-ms-mutability": [
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "vpnPackageUri"
                  ],
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Update a Virtual Network gateway.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes": {
      "get": {
        "description": "Get all routes that are associated with a Virtual Network in an App Service plan.",
        "operationId": "AppServicePlans_ListRoutesForVnet",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network.",
            "in": "path",
            "name": "vnetName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "allOf": [
                  {
                    "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                    "properties": {
                      "id": {
                        "description": "Resource Id.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "kind": {
                        "description": "Kind of resource.",
                        "type": "string"
                      },
                      "name": {
                        "description": "Resource Name.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "type": {
                        "description": "Resource type.",
                        "readOnly": true,
                        "type": "string"
                      }
                    },
                    "x-ms-azure-resource": true
                  }
                ],
                "description": "Virtual Network route contract used to pass routing information for a Virtual Network.",
                "properties": {
                  "properties": {
                    "description": "VnetRoute resource specific properties",
                    "properties": {
                      "endAddress": {
                        "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.",
                        "type": "string"
                      },
                      "name": {
                        "description": "The name of this route. This is only returned by the server and does not need to be set by the client.",
                        "type": "string",
                        "x-ms-client-name": "vnetRouteName",
                        "x-ms-mutability": [
                          "create",
                          "read"
                        ]
                      },
                      "routeType": {
                        "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.",
                        "enum": [
                          "DEFAULT",
                          "INHERITED",
                          "STATIC"
                        ],
                        "type": "string",
                        "x-ms-enum": {
                          "modelAsString": true,
                          "name": "RouteType"
                        }
                      },
                      "startAddress": {
                        "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.",
                        "type": "string"
                      }
                    },
                    "x-ms-client-flatten": true
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get all routes that are associated with a Virtual Network in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}": {
      "delete": {
        "description": "Delete a Virtual Network route in an App Service plan.",
        "operationId": "AppServicePlans_DeleteVnetRoute",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network.",
            "in": "path",
            "name": "vnetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted Virtual Network route."
          },
          "404": {
            "description": "Specified Virtual Network route does not exist."
          }
        },
        "summary": "Delete a Virtual Network route in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      },
      "get": {
        "description": "Get a Virtual Network route in an App Service plan.",
        "operationId": "AppServicePlans_GetRouteForVnet",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network.",
            "in": "path",
            "name": "vnetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "schema": {
              "items": {
                "allOf": [
                  {
                    "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                    "properties": {
                      "id": {
                        "description": "Resource Id.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "kind": {
                        "description": "Kind of resource.",
                        "type": "string"
                      },
                      "name": {
                        "description": "Resource Name.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "type": {
                        "description": "Resource type.",
                        "readOnly": true,
                        "type": "string"
                      }
                    },
                    "x-ms-azure-resource": true
                  }
                ],
                "description": "Virtual Network route contract used to pass routing information for a Virtual Network.",
                "properties": {
                  "properties": {
                    "description": "VnetRoute resource specific properties",
                    "properties": {
                      "endAddress": {
                        "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.",
                        "type": "string"
                      },
                      "name": {
                        "description": "The name of this route. This is only returned by the server and does not need to be set by the client.",
                        "type": "string",
                        "x-ms-client-name": "vnetRouteName",
                        "x-ms-mutability": [
                          "create",
                          "read"
                        ]
                      },
                      "routeType": {
                        "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.",
                        "enum": [
                          "DEFAULT",
                          "INHERITED",
                          "STATIC"
                        ],
                        "type": "string",
                        "x-ms-enum": {
                          "modelAsString": true,
                          "name": "RouteType"
                        }
                      },
                      "startAddress": {
                        "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.",
                        "type": "string"
                      }
                    },
                    "x-ms-client-flatten": true
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "404": {
            "description": "Specified route does not exist."
          }
        },
        "summary": "Get a Virtual Network route in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      },
      "patch": {
        "description": "Create or update a Virtual Network route in an App Service plan.",
        "operationId": "AppServicePlans_UpdateVnetRoute",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network.",
            "in": "path",
            "name": "vnetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Definition of the Virtual Network route.",
            "in": "body",
            "name": "route",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Virtual Network route contract used to pass routing information for a Virtual Network.",
              "properties": {
                "properties": {
                  "description": "VnetRoute resource specific properties",
                  "properties": {
                    "endAddress": {
                      "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.",
                      "type": "string"
                    },
                    "name": {
                      "description": "The name of this route. This is only returned by the server and does not need to be set by the client.",
                      "type": "string",
                      "x-ms-client-name": "vnetRouteName",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "routeType": {
                      "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.",
                      "enum": [
                        "DEFAULT",
                        "INHERITED",
                        "STATIC"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": true,
                        "name": "RouteType"
                      }
                    },
                    "startAddress": {
                      "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.",
                      "type": "string"
                    }
                  },
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Virtual Network route contract used to pass routing information for a Virtual Network.",
              "properties": {
                "properties": {
                  "description": "VnetRoute resource specific properties",
                  "properties": {
                    "endAddress": {
                      "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.",
                      "type": "string"
                    },
                    "name": {
                      "description": "The name of this route. This is only returned by the server and does not need to be set by the client.",
                      "type": "string",
                      "x-ms-client-name": "vnetRouteName",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "routeType": {
                      "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.",
                      "enum": [
                        "DEFAULT",
                        "INHERITED",
                        "STATIC"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": true,
                        "name": "RouteType"
                      }
                    },
                    "startAddress": {
                      "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.",
                      "type": "string"
                    }
                  },
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          },
          "400": {
            "description": "Invalid request. Ensure that required parameters are given, and that addresses and address spaces are valid."
          },
          "404": {
            "description": "Route not found."
          }
        },
        "summary": "Create or update a Virtual Network route in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      },
      "put": {
        "description": "Create or update a Virtual Network route in an App Service plan.",
        "operationId": "AppServicePlans_CreateOrUpdateVnetRoute",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network.",
            "in": "path",
            "name": "vnetName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Virtual Network route.",
            "in": "path",
            "name": "routeName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Definition of the Virtual Network route.",
            "in": "body",
            "name": "route",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Virtual Network route contract used to pass routing information for a Virtual Network.",
              "properties": {
                "properties": {
                  "description": "VnetRoute resource specific properties",
                  "properties": {
                    "endAddress": {
                      "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.",
                      "type": "string"
                    },
                    "name": {
                      "description": "The name of this route. This is only returned by the server and does not need to be set by the client.",
                      "type": "string",
                      "x-ms-client-name": "vnetRouteName",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "routeType": {
                      "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.",
                      "enum": [
                        "DEFAULT",
                        "INHERITED",
                        "STATIC"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": true,
                        "name": "RouteType"
                      }
                    },
                    "startAddress": {
                      "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.",
                      "type": "string"
                    }
                  },
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "schema": {
              "allOf": [
                {
                  "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                  "properties": {
                    "id": {
                      "description": "Resource Id.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "kind": {
                      "description": "Kind of resource.",
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource Name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Virtual Network route contract used to pass routing information for a Virtual Network.",
              "properties": {
                "properties": {
                  "description": "VnetRoute resource specific properties",
                  "properties": {
                    "endAddress": {
                      "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.",
                      "type": "string"
                    },
                    "name": {
                      "description": "The name of this route. This is only returned by the server and does not need to be set by the client.",
                      "type": "string",
                      "x-ms-client-name": "vnetRouteName",
                      "x-ms-mutability": [
                        "create",
                        "read"
                      ]
                    },
                    "routeType": {
                      "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.",
                      "enum": [
                        "DEFAULT",
                        "INHERITED",
                        "STATIC"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": true,
                        "name": "RouteType"
                      }
                    },
                    "startAddress": {
                      "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.",
                      "type": "string"
                    }
                  },
                  "x-ms-client-flatten": true
                }
              },
              "type": "object"
            }
          },
          "400": {
            "description": "Invalid request. Ensure that required parameters are given, and that addresses and address spaces are valid."
          },
          "404": {
            "description": "Route not found."
          }
        },
        "summary": "Create or update a Virtual Network route in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot": {
      "post": {
        "description": "Reboot a worker machine in an App Service plan.",
        "operationId": "AppServicePlans_RebootWorker",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Name of the App Service plan.",
            "in": "path",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of worker machine, which typically starts with RD.",
            "in": "path",
            "name": "workerName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "summary": "Reboot a worker machine in an App Service plan.",
        "tags": [
          "AppServicePlans"
        ]
      }
    }
  },
  "definitions": {
    "AppServicePlanPatchResource": {
      "allOf": [
        {
          "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
          "properties": {
            "id": {
              "description": "Resource Id.",
              "readOnly": true,
              "type": "string"
            },
            "kind": {
              "description": "Kind of resource.",
              "type": "string"
            },
            "name": {
              "description": "Resource Name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "ARM resource for a app service plan.",
      "properties": {
        "properties": {
          "description": "AppServicePlanPatchResource resource specific properties",
          "properties": {
            "adminSiteName": {
              "description": "App Service plan administration site.",
              "type": "string"
            },
            "geoRegion": {
              "description": "Geographical location for the App Service plan.",
              "readOnly": true,
              "type": "string"
            },
            "hostingEnvironmentProfile": {
              "description": "Specification for an App Service Environment to use for this resource.",
              "properties": {
                "id": {
                  "description": "Resource ID of the App Service Environment.",
                  "type": "string"
                },
                "name": {
                  "description": "Name of the App Service Environment.",
                  "readOnly": true,
                  "type": "string"
                },
                "type": {
                  "description": "Resource type of the App Service Environment.",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "type": "object"
            },
            "isSpot": {
              "description": "If <code>true</code>, this App Service Plan owns spot instances.",
              "type": "boolean"
            },
            "maximumNumberOfWorkers": {
              "description": "Maximum number of instances that can be assigned to this App Service plan.",
              "format": "int32",
              "readOnly": true,
              "type": "integer"
            },
            "name": {
              "description": "Name for the App Service plan.",
              "type": "string"
            },
            "numberOfSites": {
              "description": "Number of apps assigned to this App Service plan.",
              "format": "int32",
              "readOnly": true,
              "type": "integer"
            },
            "perSiteScaling": {
              "default": false,
              "description": "If <code>true</code>, apps assigned to this App Service plan can be scaled independently.\nIf <code>false</code>, apps assigned to this App Service plan will scale to all instances of the plan.",
              "type": "boolean"
            },
            "provisioningState": {
              "description": "Provisioning state of the App Service Environment.",
              "enum": [
                "Succeeded",
                "Failed",
                "Canceled",
                "InProgress",
                "Deleting"
              ],
              "readOnly": true,
              "type": "string",
              "x-ms-enum": {
                "modelAsString": false,
                "name": "ProvisioningState"
              }
            },
            "reserved": {
              "default": false,
              "description": "If Linux app service plan <code>true</code>, <code>false</code> otherwise.",
              "type": "boolean",
              "x-ms-mutability": [
                "create",
                "read"
              ]
            },
            "resourceGroup": {
              "description": "Resource group of the App Service plan.",
              "readOnly": true,
              "type": "string"
            },
            "spotExpirationTime": {
              "description": "The time when the server farm expires. Valid only if it is a spot server farm.",
              "format": "date-time",
              "type": "string"
            },
            "status": {
              "description": "App Service plan status.",
              "enum": [
                "Ready",
                "Pending",
                "Creating"
              ],
              "readOnly": true,
              "type": "string",
              "x-ms-enum": {
                "modelAsString": false,
                "name": "StatusOptions"
              }
            },
            "subscription": {
              "description": "App Service plan subscription.",
              "readOnly": true,
              "type": "string"
            },
            "targetWorkerCount": {
              "description": "Scaling worker count.",
              "format": "int32",
              "type": "integer"
            },
            "targetWorkerSizeId": {
              "description": "Scaling worker size ID.",
              "format": "int32",
              "type": "integer"
            },
            "workerTierName": {
              "description": "Target worker tier assigned to the App Service plan.",
              "type": "string"
            }
          },
          "required": [
            "name"
          ],
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "HybridConnectionCollection": {
      "description": "Collection of hostname bindings.",
      "properties": {
        "nextLink": {
          "description": "Link to next page of resources.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "Collection of resources.",
          "items": {
            "allOf": [
              {
                "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
                "properties": {
                  "id": {
                    "description": "Resource Id.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "kind": {
                    "description": "Kind of resource.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Resource Name.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "type": {
                    "description": "Resource type.",
                    "readOnly": true,
                    "type": "string"
                  }
                },
                "x-ms-azure-resource": true
              }
            ],
            "description": "Hybrid Connection contract. This is used to configure a Hybrid Connection.",
            "properties": {
              "properties": {
                "description": "HybridConnection resource specific properties",
                "properties": {
                  "hostname": {
                    "description": "The hostname of the endpoint.",
                    "type": "string"
                  },
                  "port": {
                    "description": "The port of the endpoint.",
                    "format": "int32",
                    "type": "integer"
                  },
                  "relayArmUri": {
                    "description": "The ARM URI to the Service Bus relay.",
                    "type": "string"
                  },
                  "relayName": {
                    "description": "The name of the Service Bus relay.",
                    "type": "string",
                    "x-ms-mutability": [
                      "create",
                      "read"
                    ]
                  },
                  "sendKeyName": {
                    "description": "The name of the Service Bus key which has Send permissions. This is used to authenticate to Service Bus.",
                    "type": "string"
                  },
                  "sendKeyValue": {
                    "description": "The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned\nnormally, use the POST /listKeys API instead.",
                    "type": "string"
                  },
                  "serviceBusNamespace": {
                    "description": "The name of the Service Bus namespace.",
                    "type": "string",
                    "x-ms-mutability": [
                      "create",
                      "read"
                    ]
                  },
                  "serviceBusSuffix": {
                    "description": "The suffix for the service bus endpoint. By default this is .servicebus.windows.net",
                    "type": "string"
                  }
                },
                "x-ms-client-flatten": true
              }
            },
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "value"
      ],
      "type": "object"
    },
    "HybridConnectionLimits": {
      "allOf": [
        {
          "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.",
          "properties": {
            "id": {
              "description": "Resource Id.",
              "readOnly": true,
              "type": "string"
            },
            "kind": {
              "description": "Kind of resource.",
              "type": "string"
            },
            "name": {
              "description": "Resource Name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Hybrid Connection limits contract. This is used to return the plan limits of Hybrid Connections.",
      "properties": {
        "properties": {
          "description": "HybridConnectionLimits resource specific properties",
          "properties": {
            "current": {
              "description": "The current number of Hybrid Connections.",
              "format": "int32",
              "readOnly": true,
              "type": "integer"
            },
            "maximum": {
              "description": "The maximum number of Hybrid Connections allowed.",
              "format": "int32",
              "readOnly": true,
              "type": "integer"
            }
          },
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "ResourceCollection": {
      "description": "Collection of resources.",
      "properties": {
        "nextLink": {
          "description": "Link to next page of resources.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "Collection of resources.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "value"
      ],
      "type": "object"
    }
  }
}