{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "title": "BatchManagement",
    "version": "2015-12-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-ms-code-generation-settings": {
      "name": "BatchManagementClient"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/batch/resource-manager/Microsoft.Batch/stable/2015-12-01/BatchManagement.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "batch-BatchManagement",
    "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": "The API version to be used with the HTTP request.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "SubscriptionIdParameter": {
      "description": "A unique identifier of a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts": {
      "get": {
        "description": "Gets information about the Batch accounts associated with the subscription.",
        "operationId": "BatchAccount_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains a list of Batch account entities associated with the subscription.",
            "schema": {
              "$ref": "#/definitions/BatchAccountListResult"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "BatchAccount"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas": {
      "get": {
        "description": "Gets the Batch service quotas for the specified subscription at the given location.",
        "operationId": "Location_GetQuotas",
        "parameters": [
          {
            "description": "The desired region for the quotas.",
            "in": "path",
            "name": "locationName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains the Batch service quotas of the subscription.",
            "schema": {
              "$ref": "#/definitions/BatchLocationQuota"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "Location"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts": {
      "get": {
        "description": "Gets information about the Batch accounts associated within the specified resource group.",
        "operationId": "BatchAccount_ListByResourceGroup",
        "parameters": [
          {
            "description": "The name of the resource group whose Batch accounts to list.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains a list of Batch account entities associated with the resource group.",
            "schema": {
              "$ref": "#/definitions/BatchAccountListResult"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "BatchAccount"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}": {
      "delete": {
        "description": "Deletes the specified Batch account.",
        "operationId": "BatchAccount_Delete",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account to be deleted.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the account to be deleted.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful."
          },
          "202": {
            "description": "The operation will be completed asynchronously.",
            "headers": {
              "Location": {
                "description": "The URL of the resource used to check the status of the asynchronous operation.",
                "type": "string"
              },
              "Retry-After": {
                "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
                "format": "int32",
                "type": "integer"
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "BatchAccount"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets information about the specified Batch account.",
        "operationId": "BatchAccount_Get",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains the Batch account entity.",
            "schema": {
              "$ref": "#/definitions/BatchAccount"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "BatchAccount"
        ]
      },
      "patch": {
        "description": "Updates the properties of an existing Batch account.",
        "operationId": "BatchAccount_Update",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "Additional parameters for account update.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchAccountUpdateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains the Batch account entity.",
            "schema": {
              "$ref": "#/definitions/BatchAccount"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "BatchAccount"
        ]
      },
      "put": {
        "description": "Creates a new Batch account with the specified parameters. Existing accounts cannot be updated with this API and should instead be updated with the Update Batch Account API.",
        "operationId": "BatchAccount_Create",
        "parameters": [
          {
            "description": "The name of the resource group that contains the new Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "A name for the Batch account which must be unique within the region. Batch account names must be between 3 and 24 characters in length and must use only numbers and lowercase letters. This name is used as part of the DNS name that is used to access the Batch service in the region in which the account is created. For example: http://accountname.region.batch.azure.com/.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "Additional parameters for account creation.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchAccountCreateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains the Batch account entity.",
            "schema": {
              "$ref": "#/definitions/BatchAccount"
            }
          },
          "202": {
            "description": "The operation will be completed asynchronously.",
            "headers": {
              "Location": {
                "description": "The URL of the resource used to check the status of the asynchronous operation.",
                "type": "string"
              },
              "Retry-After": {
                "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
                "format": "int32",
                "type": "integer"
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "BatchAccount"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications": {
      "get": {
        "description": "Lists all of the applications in the specified account.",
        "operationId": "Application_List",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The maximum number of items to return in the response.",
            "format": "int32",
            "in": "query",
            "name": "maxresults",
            "required": false,
            "type": "integer"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains a list of the application entities associated with the specified account.",
            "schema": {
              "$ref": "#/definitions/ListApplicationsResult"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "Application"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}": {
      "delete": {
        "description": "Deletes an application.",
        "operationId": "Application_Delete",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the application.",
            "in": "path",
            "name": "applicationId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation was successful."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "Application"
        ]
      },
      "get": {
        "description": "Gets information about the specified application.",
        "operationId": "Application_Get",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the application.",
            "in": "path",
            "name": "applicationId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains the application entity.",
            "schema": {
              "$ref": "#/definitions/Application"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "Application"
        ]
      },
      "patch": {
        "description": "Updates settings for the specified application.",
        "operationId": "Application_Update",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the application.",
            "in": "path",
            "name": "applicationId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The parameters for the request.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateApplicationParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation was successful."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "Application"
        ]
      },
      "put": {
        "description": "Adds an application to the specified Batch account.",
        "operationId": "Application_Create",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the application.",
            "in": "path",
            "name": "applicationId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The parameters for the request.",
            "in": "body",
            "name": "parameters",
            "required": false,
            "schema": {
              "$ref": "#/definitions/AddApplicationParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "201": {
            "description": "The operation was successful. The response contains the application entity.",
            "schema": {
              "$ref": "#/definitions/Application"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "Application"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}": {
      "delete": {
        "description": "Deletes an application package record and its associated binary file.",
        "operationId": "ApplicationPackage_Delete",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the application.",
            "in": "path",
            "name": "applicationId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The version of the application to delete.",
            "in": "path",
            "name": "version",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation was successful."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "ApplicationPackage"
        ]
      },
      "get": {
        "description": "Gets information about the specified application package.",
        "operationId": "ApplicationPackage_Get",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the application.",
            "in": "path",
            "name": "applicationId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The version of the application.",
            "in": "path",
            "name": "version",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains the application package entity.",
            "schema": {
              "$ref": "#/definitions/ApplicationPackage"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "ApplicationPackage"
        ]
      },
      "put": {
        "description": "Creates an application package record.",
        "operationId": "ApplicationPackage_Create",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the application.",
            "in": "path",
            "name": "applicationId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The version of the application.",
            "in": "path",
            "name": "version",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "201": {
            "description": "The operation was successful. The response contains the application package entity.",
            "schema": {
              "$ref": "#/definitions/ApplicationPackage"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "ApplicationPackage"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}/activate": {
      "post": {
        "description": "Activates the specified application package.",
        "operationId": "ApplicationPackage_Activate",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the application.",
            "in": "path",
            "name": "applicationId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The version of the application to activate.",
            "in": "path",
            "name": "version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The parameters for the request.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ActivateApplicationPackageParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation was successful."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "ApplicationPackage"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys": {
      "post": {
        "description": "Gets the account keys for the specified Batch account.",
        "operationId": "BatchAccount_GetKeys",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains the keys of the Batch account.",
            "schema": {
              "$ref": "#/definitions/BatchAccountKeys"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "BatchAccount"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys": {
      "post": {
        "description": "Regenerates the specified account key for the Batch account.",
        "operationId": "BatchAccount_RegenerateKey",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The type of key to regenerate.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchAccountRegenerateKeyParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation was successful. The response contains the keys of the Batch account.",
            "schema": {
              "$ref": "#/definitions/BatchAccountKeys"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "BatchAccount"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys": {
      "post": {
        "description": "Synchronizes access keys for the auto storage account configured for the specified Batch account.",
        "operationId": "BatchAccount_SynchronizeAutoStorageKeys",
        "parameters": [
          {
            "description": "The name of the resource group that contains the Batch account.",
            "in": "path",
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the Batch account.",
            "in": "path",
            "maxLength": 24,
            "minLength": 3,
            "name": "accountName",
            "pattern": "^[-\\w\\._]+$",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation was successful."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/CloudError"
            }
          }
        },
        "tags": [
          "BatchAccount"
        ]
      }
    }
  },
  "definitions": {
    "ActivateApplicationPackageParameters": {
      "description": "Parameters for an ApplicationOperations.ActivateApplicationPackage request.",
      "properties": {
        "format": {
          "description": "The format of the application package binary file.",
          "type": "string"
        }
      },
      "required": [
        "format"
      ]
    },
    "AddApplicationParameters": {
      "description": "Parameters for an ApplicationOperations.AddApplication request.",
      "properties": {
        "allowUpdates": {
          "description": "A value indicating whether packages within the application may be overwritten using the same version string.",
          "type": "boolean"
        },
        "displayName": {
          "description": "The display name for the application.",
          "type": "string"
        }
      }
    },
    "Application": {
      "description": "Contains information about an application in a Batch account.",
      "properties": {
        "allowUpdates": {
          "description": "A value indicating whether packages within the application may be overwritten using the same version string.",
          "type": "boolean"
        },
        "defaultVersion": {
          "description": "The package to use if a client requests the application but does not specify a version.",
          "type": "string"
        },
        "displayName": {
          "description": "The display name for the application.",
          "type": "string"
        },
        "id": {
          "description": "A string that uniquely identifies the application within the account.",
          "type": "string"
        },
        "packages": {
          "description": "The list of packages under this application.",
          "items": {
            "$ref": "#/definitions/ApplicationPackage"
          },
          "type": "array"
        }
      }
    },
    "ApplicationPackage": {
      "description": "An application package which represents a particular version of an application.",
      "properties": {
        "format": {
          "description": "The format of the application package, if the package is active.",
          "type": "string"
        },
        "id": {
          "description": "The ID of the application.",
          "type": "string"
        },
        "lastActivationTime": {
          "description": "The time at which the package was last activated, if the package is active.",
          "format": "date-time",
          "type": "string"
        },
        "state": {
          "description": "The current state of the application package.",
          "enum": [
            "pending",
            "active",
            "unmapped"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "PackageState"
          }
        },
        "storageUrl": {
          "description": "The storage URL at which the application package is stored.",
          "type": "string"
        },
        "storageUrlExpiry": {
          "description": "The UTC time at which the storage URL will expire.",
          "format": "date-time",
          "type": "string"
        },
        "version": {
          "description": "The version of the application package. ",
          "type": "string"
        }
      }
    },
    "AutoStorageBaseProperties": {
      "description": "The properties related to auto storage account.",
      "properties": {
        "storageAccountId": {
          "description": "The resource ID of the storage account to be used for auto storage account.",
          "type": "string"
        }
      },
      "required": [
        "storageAccountId"
      ]
    },
    "AutoStorageProperties": {
      "description": "Contains information about the auto storage account associated with a Batch account.",
      "properties": {
        "lastKeySync": {
          "description": "The UTC time at which storage keys were last synchronized with the Batch account.",
          "format": "date-time",
          "type": "string"
        },
        "storageAccountId": {
          "description": "The resource ID of the storage account to be used for auto storage account.",
          "type": "string"
        }
      },
      "required": [
        "storageAccountId",
        "lastKeySync"
      ]
    },
    "BatchAccount": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Contains information about an Azure Batch account.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/BatchAccountProperties",
          "description": "The properties associated with the account.",
          "x-ms-client-flatten": true
        }
      }
    },
    "BatchAccountBaseProperties": {
      "description": "The properties of a Batch account.",
      "properties": {
        "autoStorage": {
          "$ref": "#/definitions/AutoStorageBaseProperties",
          "description": "The properties related to auto storage account."
        }
      }
    },
    "BatchAccountCreateParameters": {
      "description": "Parameters supplied to the Create operation.",
      "properties": {
        "location": {
          "description": "The region in which to create the account.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/BatchAccountBaseProperties",
          "description": "The properties of the account.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The user specified tags associated with the account.",
          "type": "object"
        }
      },
      "required": [
        "location"
      ]
    },
    "BatchAccountKeys": {
      "description": "A set of Azure Batch account keys.",
      "properties": {
        "primary": {
          "description": "The primary key associated with the account.",
          "type": "string"
        },
        "secondary": {
          "description": "The secondary key associated with the account.",
          "type": "string"
        }
      }
    },
    "BatchAccountListResult": {
      "description": "Values returned by the List operation.",
      "properties": {
        "nextLink": {
          "description": "The continuation token.",
          "type": "string"
        },
        "value": {
          "description": "The collection of returned Batch accounts.",
          "items": {
            "$ref": "#/definitions/BatchAccount"
          },
          "type": "array"
        }
      }
    },
    "BatchAccountProperties": {
      "description": "Account specific properties.",
      "properties": {
        "accountEndpoint": {
          "description": "The endpoint used by this account to interact with the Batch services.",
          "readOnly": true,
          "type": "string"
        },
        "activeJobAndJobScheduleQuota": {
          "description": "The active job and job schedule quota for this Batch account.",
          "format": "int32",
          "type": "integer"
        },
        "autoStorage": {
          "$ref": "#/definitions/AutoStorageProperties",
          "description": "The properties and status of any auto storage account associated with the account."
        },
        "coreQuota": {
          "description": "The core quota for this Batch account.",
          "format": "int32",
          "type": "integer"
        },
        "poolQuota": {
          "description": "The pool quota for this Batch account.",
          "format": "int32",
          "type": "integer"
        },
        "provisioningState": {
          "description": "The provisioned state of the resource",
          "enum": [
            "Invalid",
            "Creating",
            "Deleting",
            "Succeeded",
            "Failed",
            "Cancelled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "ProvisioningState"
          }
        }
      },
      "required": [
        "coreQuota",
        "poolQuota",
        "activeJobAndJobScheduleQuota"
      ]
    },
    "BatchAccountRegenerateKeyParameters": {
      "description": "Parameters supplied to the RegenerateKey operation.",
      "properties": {
        "keyName": {
          "description": "The type of account key to regenerate.",
          "enum": [
            "Primary",
            "Secondary"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "AccountKeyType"
          }
        }
      },
      "required": [
        "keyName"
      ]
    },
    "BatchAccountUpdateParameters": {
      "description": "Parameters supplied to the Update operation.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/BatchAccountBaseProperties",
          "description": "The properties of the account.",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The user specified tags associated with the account.",
          "type": "object"
        }
      }
    },
    "BatchLocationQuota": {
      "description": "Quotas associated with a Batch region for a particular subscription.",
      "properties": {
        "accountQuota": {
          "description": "The number of Batch accounts that may be created under the subscription in the specified region.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "CloudError": {
      "description": "An error response from the Batch service.",
      "properties": {
        "code": {
          "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.",
          "type": "string"
        },
        "details": {
          "description": "A list of additional details about the error.",
          "items": {
            "$ref": "#/definitions/CloudError"
          },
          "type": "array"
        },
        "message": {
          "description": "A message describing the error, intended to be suitable for display in a user interface.",
          "type": "string"
        },
        "target": {
          "description": "The target of the particular error. For example, the name of the property in error.",
          "type": "string"
        }
      },
      "x-ms-external": true
    },
    "ListApplicationsResult": {
      "description": "Response to an ApplicationOperations.ListApplications request.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The list of applications.",
          "items": {
            "$ref": "#/definitions/Application"
          },
          "type": "array"
        }
      }
    },
    "Resource": {
      "description": "A definition of an Azure resource.",
      "properties": {
        "id": {
          "description": "The ID of the resource",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "The location of the resource",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource",
          "readOnly": true,
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags of the resource",
          "type": "object"
        },
        "type": {
          "description": "The type of the resource",
          "readOnly": true,
          "type": "string"
        }
      },
      "x-ms-azure-resource": true
    },
    "UpdateApplicationParameters": {
      "description": "Parameters for an ApplicationOperations.UpdateApplication request.",
      "properties": {
        "allowUpdates": {
          "description": "A value indicating whether packages within the application may be overwritten using the same version string.",
          "type": "boolean"
        },
        "defaultVersion": {
          "description": "The package to use if a client requests the application but does not specify a version.",
          "type": "string"
        },
        "displayName": {
          "description": "The display name for the application.",
          "type": "string"
        }
      }
    }
  }
}