swagger: "2.0"
schemes:
  - https
host: batch.core.windows.net
info:
  description: A client for issuing REST requests to the Azure Batch service.
  title: BatchService
  version: 2018-08-01.7.0
  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: BatchServiceClient
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/batch/data-plane/Microsoft.Batch/stable/2018-08-01.7.0/BatchService.json
      version: "2.0"
  x-preferred: true
  x-providerName: windows.net
  x-serviceName: batch-BatchService
consumes:
  - application/json; odata=minimalmetadata
produces:
  - application/json
parameters:
  ApiVersionParameter:
    description: Client API Version.
    in: query
    name: api-version
    required: true
    type: string
paths:
  /applications:
    get:
      description: This operation returns only applications and versions that are available for use on compute nodes; that is, that can be used in an application package reference. For administrator information about applications and versions that are not yet available to compute nodes, use the Azure portal or the Azure Resource Manager API.
      operationId: Application_List
      parameters:
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 applications can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of applications.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/ApplicationListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists all of the applications available in the specified account.
      tags:
        - Applications
      x-ms-examples:
        List applications:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - displayName: my_display_name
                    id: my_application_id
                    versions:
                      - v1.0
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
  "/applications/{applicationId}":
    get:
      description: This operation returns only applications and versions that are available for use on compute nodes; that is, that can be used in an application package reference. For administrator information about applications and versions that are not yet available to compute nodes, use the Azure portal or the Azure Resource Manager API.
      operationId: Application_Get
      parameters:
        - description: The ID of the application.
          in: path
          name: applicationId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the application.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/ApplicationSummary"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets information about the specified application.
      tags:
        - Applications
      x-ms-examples:
        Get applications:
          parameters:
            api-version: 2018-08-01.7.0
            applicationId: my_application_id
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                displayName: my_display_name
                id: my_application_id
                versions:
                  - v1.0
      x-ms-request-id: request-id
  /certificates:
    get:
      operationId: Certificate_List
      parameters:
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-certificates.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 certificates can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of certificates.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CertificateListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists all of the certificates that have been added to the specified account.
      tags:
        - Certificates
      x-ms-examples:
        Certificate list:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - deleteCertificateError:
                      code: PoolsReferencingCertificate
                      message: The specified certificate is being used by the below mentioned pool(s)
                      values:
                        - name: Pools
                          value: mypool1
                    previousState: deleting
                    previousStateTransitionTime: 2014-07-31T21:11:58.236Z
                    publicData: "#####..."
                    state: deletefailed
                    stateTransitionTime: 2014-07-31T21:12:58.236Z
                    thumbprint: 0123456789abcdef0123456789abcdef01234567
                    thumbprintAlgorithm: sha1
                    url: https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
    post:
      operationId: Certificate_Add
      parameters:
        - description: The certificate to be added.
          in: body
          name: certificate
          required: true
          schema:
            $ref: "#/definitions/CertificateAddParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Adds a certificate to the specified account.
      tags:
        - Certificates
      x-ms-examples:
        Certificate add:
          parameters:
            api-version: 2018-08-01.7.0
            certificate:
              certificateFormat: pfx
              data: "#####..."
              password: certpassword
              thumbprint: 0123456789abcdef0123456789abcdef01234567
              thumbprintAlgorithm: sha1
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "201": {}
      x-ms-request-id: request-id
  "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})":
    delete:
      description: You cannot delete a certificate if a resource (pool or compute node) is using it. Before you can delete a certificate, you must therefore make sure that the certificate is not associated with any existing pools, the certificate is not installed on any compute nodes (even if you remove a certificate from a pool, it is not removed from existing compute nodes in that pool until they restart), and no running tasks depend on the certificate. If you try to delete a certificate that is in use, the deletion fails. The certificate status changes to deleteFailed. You can use Cancel Delete Certificate to set the status back to active if you decide that you want to continue using the certificate.
      operationId: Certificate_Delete
      parameters:
        - description: The algorithm used to derive the thumbprint parameter. This must be sha1.
          in: path
          name: thumbprintAlgorithm
          required: true
          type: string
        - description: The thumbprint of the certificate to be deleted.
          in: path
          name: thumbprint
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Deletes a certificate from the specified account.
      tags:
        - Certificates
      x-ms-examples:
        Certificate delete:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            thumbprint: 0123456789abcdef0123456789abcdef01234567
            thumbprintAlgorithm: sha1
          responses:
            "202": {}
      x-ms-request-id: request-id
    get:
      description: Gets information about the specified certificate.
      operationId: Certificate_Get
      parameters:
        - description: The algorithm used to derive the thumbprint parameter. This must be sha1.
          in: path
          name: thumbprintAlgorithm
          required: true
          type: string
        - description: The thumbprint of the certificate to get.
          in: path
          name: thumbprint
          required: true
          type: string
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the certificate.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/Certificate"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - Certificates
      x-ms-examples:
        Certificate get:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            thumbprint: 0123456789abcdef0123456789abcdef01234567
            thumbprintAlgorithm: sha1
          responses:
            "200":
              body:
                deleteCertificateError:
                  code: PoolsReferencingCertificate
                  message: The specified certificate is being used by the below mentioned pool(s)
                  values:
                    - name: Pools
                      value: mypool1
                previousState: deleting
                previousStateTransitionTime: 2014-07-31T21:11:58.236Z
                publicData: "#####..."
                state: deletefailed
                stateTransitionTime: 2014-07-31T21:12:58.236Z
                thumbprint: 0123456789abcdef0123456789abcdef01234567
                thumbprintAlgorithm: sha1
                url: https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)
      x-ms-request-id: request-id
  "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete":
    post:
      description: If you try to delete a certificate that is being used by a pool or compute node, the status of the certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not need to run this operation after the deletion failed. You must make sure that the certificate is not being used by any resources, and then you can try again to delete the certificate.
      operationId: Certificate_CancelDeletion
      parameters:
        - description: The algorithm used to derive the thumbprint parameter. This must be sha1.
          in: path
          name: thumbprintAlgorithm
          required: true
          type: string
        - description: The thumbprint of the certificate being deleted.
          in: path
          name: thumbprint
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Cancels a failed deletion of a certificate from the specified account.
      tags:
        - Certificates
      x-ms-examples:
        Certificate cancel delete:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            thumbprint: 0123456789abcdef0123456789abcdef01234567
            thumbprintAlgorithm: sha1
          responses:
            "204": {}
      x-ms-request-id: request-id
  /jobs:
    get:
      operationId: Job_List
      parameters:
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $expand clause.
          in: query
          name: $expand
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 jobs can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of jobs.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudJobListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists all of the jobs in the specified account.
      tags:
        - Jobs
      x-ms-examples:
        Job list:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - constraints:
                      maxTaskRetryCount: 0
                      maxWallClockTime: P10675199DT2H48M5.4775807S
                    creationTime: 2016-11-19T00:05:25.311915Z
                    eTag: "0x8D4100FC46D5BF4"
                    executionInfo:
                      poolId: poolId
                      startTime: 2016-11-19T00:05:25.3309105Z
                    id: jobId
                    lastModified: 2016-11-19T00:05:27.2137716Z
                    onAllTasksComplete: noaction
                    onTaskFailure: noaction
                    poolInfo:
                      poolId: poolId
                    previousState: disabled
                    previousStateTransitionTime: 2016-11-19T00:05:26.88777Z
                    priority: 0
                    state: active
                    stateTransitionTime: 2016-11-19T00:05:27.2137716Z
                    url: https://account.region.batch.azure.com/jobs/jobId
                    usesTaskDependencies: false
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
    post:
      description: "The Batch service supports two ways to control the work done as part of a job. In the first approach, the user specifies a Job Manager task. The Batch service launches this task when it is ready to start the job. The Job Manager task controls all other tasks that run under this job, by using the Task APIs. In the second approach, the user directly controls the execution of tasks under an active job, by using the Task APIs. Also note: when naming jobs, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers."
      operationId: Job_Add
      parameters:
        - description: The job to be added.
          in: body
          name: job
          required: true
          schema:
            $ref: "#/definitions/JobAddParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Adds a job to the specified account.
      tags:
        - Jobs
      x-ms-examples:
        Add a basic job:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            job:
              id: jobId
              poolInfo:
                poolId: poolId
              priority: 0
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "201": {}
        Add a complex job:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            job:
              constraints:
                maxTaskRetryCount: -1
                maxWallClockTime: PT1H
              id: jobId
              jobManagerTask:
                commandLine: myprogram.exe
                constraints:
                  maxTaskRetryCount: 0
                  maxWallClockTime: PT1H
                  retentionTime: PT1H
                environmentSettings:
                  - name: myvariable
                    value: myvalue
                id: taskId
                killJobOnCompletion: false
                resourceFiles:
                  - blobSource: http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?st=2013-08-09T08%3a49%3a37.0000000Z&se=2013-08-10T08%3a49%3a37.0000000Z&sr=c&sp=d&si=YWJjZGTVMZw%3d%3d&sig=%2bSzBm0wi8xECuGkKw97wnkSZ%2f62sxU%2b6Hq6a7qojIVE%3d
                    filePath: myprogram.exe
                  - blobSource: http://mystorage1.blob.core.windows.net/scripts/test.txt?st=2013-08-09T08%3a49%3a37.0000000Z&se=2013-08-10T08%3a49%3a37.0000000Z&sr=c&sp=d&si=YWJjZGTVMZw%3d%3d&sig=%2bSzBm0wi8xECuGkKw97wnkSZ%2f62sxU%2b6Hq6a7qojIVE%3d
                    filePath: test.txt
                runExclusive: true
                userIdentity:
                  autoUser:
                    elevationLevel: admin
                    scope: task
              metadata:
                - name: myproperty
                  value: myvalue
              poolInfo:
                autoPoolSpecification:
                  autoPoolIdPrefix: mypool
                  pool:
                    certificateReferences:
                      - storeLocation: localmachine
                        storeName: Root
                        thumbprint: 0123456789abcdef0123456789abcdef01234567
                        thumbprintAlgorithm: sha1
                        visibility:
                          - task
                    cloudServiceConfiguration:
                      osFamily: "4"
                      targetOSVersion: "*"
                    enableAutoScale: false
                    enableInterNodeCommunication: true
                    maxTasksPerNode: 2
                    metadata:
                      - name: myproperty
                        value: myvalue
                    resizeTimeout: PT15M
                    startTask:
                      commandLine: myprogram2.exe
                      environmentSettings:
                        - name: myvariable
                          value: myvalue
                      maxTaskRetryCount: 2
                      resourceFiles:
                        - blobSource: http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?st=2013-08-09T08%3a49%3a37.0000000Z&se=2013-08-10T08%3a49%3a37.0000000Z&sr=c&sp=d&si=YWJjZGTVMZw%3d%3d&sig= %2bSzBm0wi8xECuGkKw97wnkSZ%2f62sxU%2b6Hq6a7qojIVE%3d
                          filePath: myprogram2.exe
                      userIdentity:
                        autoUser:
                          elevationLevel: admin
                          scope: task
                      waitForSuccess: true
                    targetDedicatedNodes: 3
                    targetLowPriorityNodes: 0
                    taskSchedulingPolicy:
                      nodeFillType: spread
                    vmSize: small
                  poolLifetimeOption: job
              priority: 100
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "201": {}
      x-ms-request-id: request-id
  "/jobs/{jobId}":
    delete:
      description: Deleting a job also deletes all tasks that are part of that job, and all job statistics. This also overrides the retention period for task data; that is, if the job contains tasks which are still retained on compute nodes, the Batch services deletes those tasks' working directories and all their contents.  When a Delete Job request is received, the Batch service sets the job to the deleting state. All update operations on a job that is in deleting state will fail with status code 409 (Conflict), with additional information indicating that the job is being deleted.
      operationId: Job_Delete
      parameters:
        - description: The ID of the job to delete.
          in: path
          name: jobId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Deletes a job.
      tags:
        - Jobs
      x-ms-examples:
        Delete Job:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "202": {}
      x-ms-request-id: request-id
    get:
      operationId: Job_Get
      parameters:
        - description: The ID of the job.
          in: path
          name: jobId
          required: true
          type: string
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $expand clause.
          in: query
          name: $expand
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the job.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudJob"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets information about the specified job.
      tags:
        - Jobs
      x-ms-examples:
        Job get:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                constraints:
                  maxTaskRetryCount: 0
                  maxWallClockTime: P10675199DT2H48M5.4775807S
                creationTime: 2016-11-19T00:05:25.311915Z
                eTag: "0x8D4100FC49F0278"
                executionInfo:
                  endTime: 2016-11-19T00:05:27.578581Z
                  poolId: poolId
                  startTime: 2016-11-19T00:05:25.3309105Z
                  terminateReason: UserTerminate
                id: jobId
                lastModified: 2016-11-19T00:05:27.5391608Z
                onAllTasksComplete: noaction
                onTaskFailure: noaction
                poolInfo:
                  poolId: poolId
                previousState: active
                previousStateTransitionTime: 2016-11-19T00:05:27.2137716Z
                priority: 0
                state: completed
                stateTransitionTime: 2016-11-19T00:05:27.578581Z
                url: https://account.region.batch.azure.com/jobs/jobId
                usesTaskDependencies: false
      x-ms-request-id: request-id
    patch:
      description: This replaces only the job properties specified in the request. For example, if the job has constraints, and a request does not specify the constraints element, then the job keeps the existing constraints.
      operationId: Job_Patch
      parameters:
        - description: The ID of the job whose properties you want to update.
          in: path
          name: jobId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: jobPatchParameter
          required: true
          schema:
            $ref: "#/definitions/JobPatchParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Updates the properties of the specified job.
      tags:
        - Jobs
      x-ms-examples:
        Job patch:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            jobPatchParameter:
              constraints:
                maxTaskRetryCount: -1
                maxWallClockTime: PT1H
              poolInfo:
                poolId: poolId
              priority: 100
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200": {}
      x-ms-request-id: request-id
    put:
      description: This fully replaces all the updatable properties of the job. For example, if the job has constraints associated with it and if constraints is not specified with this request, then the Batch service will remove the existing constraints.
      operationId: Job_Update
      parameters:
        - description: The ID of the job whose properties you want to update.
          in: path
          name: jobId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: jobUpdateParameter
          required: true
          schema:
            $ref: "#/definitions/JobUpdateParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Updates the properties of the specified job.
      tags:
        - Jobs
      x-ms-examples:
        Job update:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            jobUpdateParameter:
              constraints:
                maxTaskRetryCount: -1
                maxWallClockTime: PT1H
              poolInfo:
                poolId: poolId
              priority: 100
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200": {}
      x-ms-request-id: request-id
  "/jobs/{jobId}/addtaskcollection":
    post:
      description: Note that each task must have a unique ID. The Batch service may not return the results for each task in the same order the tasks were submitted in this request. If the server times out or the connection is closed during the request, the request may have been partially or fully processed, or not at all. In such cases, the user should re-issue the request. Note that it is up to the user to correctly handle failures when re-issuing a request. For example, you should use the same task IDs during a retry so that if the prior operation succeeded, the retry will not create extra tasks unexpectedly. If the response contains any tasks which failed to add, a client can retry the request. In a retry, it is most efficient to resubmit only tasks that failed to add, and to omit tasks that were successfully added on the first attempt. The maximum lifetime of a task from addition to completion is 7 days. If a task has not completed within 7 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.
      operationId: Task_AddCollection
      parameters:
        - description: The ID of the job to which the task collection is to be added.
          in: path
          name: jobId
          required: true
          type: string
        - description: The tasks to be added.
          in: body
          name: taskCollection
          required: true
          schema:
            $ref: "#/definitions/TaskAddCollectionParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the results of the add task collection operation.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              type: string
          schema:
            $ref: "#/definitions/TaskAddCollectionResult"
        default:
          description: Unexpected error
          schema:
            $ref: "#/definitions/BatchError"
      summary: Adds a collection of tasks to the specified job.
      tags:
        - Tasks
      x-ms-examples:
        Add a basic collection of tasks:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskCollection:
              value:
                - commandLine: cmd /c dir /s
                  id: simple1
                - commandLine: cmd /c dir /s
                  id: simple2
          responses:
            "200":
              body:
                value:
                  - eTag: "0x8D3D623CD661246"
                    lastModified: 2016-09-06T07:02:44.7589958Z
                    location: https://account.region.batch.azure.com/jobs/jobId/tasks/simple1
                    status: success
                    taskId: simple1
                  - eTag: "0x8D3D623CD7072CC"
                    lastModified: 2016-09-06T07:02:44.8270028Z
                    location: https://account.region.batch.azure.com/jobs/jobId/tasks/simple2
                    status: success
                    taskId: simple2
        Add a complex collection of tasks:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskCollection:
              value:
                - affinityInfo:
                    affinityId: affinityId
                  commandLine: cmd /c dir /s
                  constraints:
                    maxTaskRetryCount: 5
                    maxWallClockTime: P1D
                    retentionTime: P2D
                  environmentSettings:
                    - name: env1
                      value: value1
                    - name: env2
                      value: value2
                  id: complex1
                  multiInstanceSettings:
                    commonResourceFiles:
                      - blobSource: https://common.blob.core.windows.net/
                        filePath: common.exe
                    coordinationCommandLine: cmd /c echo coordinating
                    numberOfInstances: 3
                  resourceFiles:
                    - blobSource: https://account.blob.core.windows.net/
                      filePath: file1
                - commandLine: cmd /c dir /s
                  id: simple3
          responses:
            "200":
              body:
                value:
                  - eTag: "0x8D3D623CE295629"
                    lastModified: 2016-09-06T07:02:46.0386857Z
                    location: https://account.region.batch.azure.com/jobs/jobId/tasks/simple3
                    status: success
                    taskId: simple3
                  - eTag: "0x8D3D623CE29A412"
                    lastModified: 2016-09-06T07:02:46.0406802Z
                    location: https://account.region.batch.azure.com/jobs/jobId/tasks/complex1
                    status: success
                    taskId: complex1
      x-ms-request-id: request-id
  "/jobs/{jobId}/disable":
    post:
      description: The Batch Service immediately moves the job to the disabling state. Batch then uses the disableTasks parameter to determine what to do with the currently running tasks of the job. The job remains in the disabling state until the disable operation is completed and all tasks have been dealt with according to the disableTasks option; the job then moves to the disabled state. No new tasks are started under the job until it moves back to active state. If you try to disable a job that is in any state other than active, disabling, or disabled, the request fails with status code 409.
      operationId: Job_Disable
      parameters:
        - description: The ID of the job to disable.
          in: path
          name: jobId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: jobDisableParameter
          required: true
          schema:
            $ref: "#/definitions/JobDisableParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Disables the specified job, preventing new tasks from running.
      tags:
        - Jobs
      x-ms-examples:
        Job disable:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobDisableParameter:
              disableTasks: terminate
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "202": {}
      x-ms-request-id: request-id
  "/jobs/{jobId}/enable":
    post:
      description: When you call this API, the Batch service sets a disabled job to the enabling state. After the this operation is completed, the job moves to the active state, and scheduling of new tasks under the job resumes. The Batch service does not allow a task to remain in the active state for more than 7 days. Therefore, if you enable a job containing active tasks which were added more than 7 days ago, those tasks will not run.
      operationId: Job_Enable
      parameters:
        - description: The ID of the job to enable.
          in: path
          name: jobId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Enables the specified job, allowing new tasks to run.
      tags:
        - Jobs
      x-ms-examples:
        Job enable:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "202": {}
      x-ms-request-id: request-id
  "/jobs/{jobId}/jobpreparationandreleasetaskstatus":
    get:
      description: This API returns the Job Preparation and Job Release task status on all compute nodes that have run the Job Preparation or Job Release task. This includes nodes which have since been removed from the pool. If this API is invoked on a job which has no Job Preparation or Job Release task, the Batch service returns HTTP status code 409 (Conflict) with an error code of JobPreparationTaskNotSpecified.
      operationId: Job_ListPreparationAndReleaseTaskStatus
      parameters:
        - description: The ID of the job.
          in: path
          name: jobId
          required: true
          type: string
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 tasks can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing a list of Job Preparation and Job Release task statuses.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudJobListPreparationAndReleaseTaskStatusResult"
        default:
          description: The error from the Batch service. If this API is invoked on a job which has no Job Preparation or Job Release task, the Batch service returns HTTP status code 409.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists the execution status of the Job Preparation and Job Release task for the specified job across the compute nodes where the job has run.
      tags:
        - Jobs
      x-ms-examples:
        Job list preparation and release task status:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                odata.nextLink: https://account.region.batch.azure.com/jobs/myjob/jobpreparationandreleasestatus?$skipToken=tvm-2167304207_1-20140905t174658z&api-version=2018-08-01.7.0
                value:
                  - jobPreparationTaskExecutionInfo:
                      endTime: 2015-05-02T20:12:42Z
                      exitCode: 0
                      retryCount: 0
                      startTime: 2015-05-01T10:20:31Z
                      state: completed
                      taskRootDirectory: tasks/myjob/job-1/myjobpreptask
                      taskRootDirectoryUrl: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobpreptask
                    jobReleaseTaskExecutionInfo:
                      endTime: 2015-05-02T20:12:42Z
                      exitCode: 0
                      startTime: 2015-05-01T10:20:31Z
                      state: completed
                      taskRootDirectory: tasks/myjob/job-1/myjobreleasetask
                      taskRootDirectoryUrl: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobreleasetask
                    nodeId: tvm-2167304207_1-20140905t174658z
                    nodeUrl: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z
                    poolId: poolId
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
  "/jobs/{jobId}/taskcounts":
    get:
      description: Task counts provide a count of the tasks by active, running or completed task state, and a count of tasks which succeeded or failed. Tasks in the preparing state are counted as running.
      operationId: Job_GetTaskCounts
      parameters:
        - description: The ID of the job.
          in: path
          name: jobId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the task counts for the specified job.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/TaskCounts"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets the task counts for the specified job.
      tags:
        - Jobs
      x-ms-examples:
        Job get task counts:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                active: 5
                completed: 4
                failed: 2
                running: 7
                succeeded: 2
      x-ms-request-id: request-id
  "/jobs/{jobId}/tasks":
    get:
      description: For multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. Use the list subtasks API to retrieve information about subtasks.
      operationId: Task_List
      parameters:
        - description: The ID of the job.
          in: path
          name: jobId
          required: true
          type: string
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $expand clause.
          in: query
          name: $expand
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 tasks can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of tasks.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudTaskListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists all of the tasks that are associated with the specified job.
      tags:
        - Tasks
      x-ms-examples:
        Task list:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - commandLine: cmd /c echo task1
                    constraints:
                      maxTaskRetryCount: 0
                      maxWallClockTime: P10675199DT2H48M5.4775807S
                      retentionTime: P10675199DT2H48M5.4775807S
                    creationTime: 2016-11-21T22:43:31.4733476Z
                    eTag: "0x8D4125FD1A825A4"
                    executionInfo:
                      requeueCount: 0
                      retryCount: 0
                    id: task1
                    lastModified: 2016-11-21T22:43:31.4733476Z
                    state: active
                    stateTransitionTime: 2016-11-21T22:43:31.4733476Z
                    url: https://account.region.batch.azure.com/jobs/jobId/tasks/task1
                    userIdentity:
                      autoUser:
                        elevationLevel: nonadmin
                        scope: task
                  - commandLine: cmd /c echo task2
                    constraints:
                      maxTaskRetryCount: 3
                      maxWallClockTime: P10675199DT2H48M5.4775807S
                      retentionTime: P10675199DT2H48M5.4775807S
                    creationTime: 2016-11-21T22:43:31.6736345Z
                    eTag: "0x8D4125FD2153345"
                    executionInfo:
                      requeueCount: 0
                      retryCount: 0
                    id: task2
                    lastModified: 2016-11-21T22:43:32.1880389Z
                    state: active
                    stateTransitionTime: 2016-11-21T22:43:31.6736345Z
                    url: https://account.region.batch.azure.com/jobs/jobId/tasks/task2
                    userIdentity:
                      autoUser:
                        elevationLevel: nonadmin
                        scope: task
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
    post:
      description: The maximum lifetime of a task from addition to completion is 7 days. If a task has not completed within 7 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.
      operationId: Task_Add
      parameters:
        - description: The ID of the job to which the task is to be added.
          in: path
          name: jobId
          required: true
          type: string
        - description: The task to be added.
          in: body
          name: task
          required: true
          schema:
            $ref: "#/definitions/TaskAddParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Adds a task to the specified job.
      tags:
        - Tasks
      x-ms-examples:
        Add a basic task:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            task:
              commandLine: cmd /c echo task1
              id: task1
          responses:
            "201": {}
        Add a task with container settings:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            task:
              commandLine: bash -c 'echo hello'
              containerSettings:
                containerRunOptions: --rm
                imageName: ubuntu
              id: taskId
              userIdentity:
                autoUser:
                  elevationLevel: nonadmin
                  scope: task
          responses:
            "201": {}
        Add a task with exit conditions:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            task:
              commandLine: cmd /c exit 3
              exitConditions:
                exitCodeRanges:
                  - end: 4
                    exitOptions:
                      jobAction: terminate
                    start: 2
              id: taskId
              userIdentity:
                autoUser:
                  elevationLevel: nonadmin
                  scope: task
          responses:
            "201": {}
      x-ms-request-id: request-id
  "/jobs/{jobId}/tasks/{taskId}":
    delete:
      description: When a task is deleted, all of the files in its directory on the compute node where it ran are also deleted (regardless of the retention time). For multi-instance tasks, the delete task operation applies synchronously to the primary task; subtasks and their files are then deleted asynchronously in the background.
      operationId: Task_Delete
      parameters:
        - description: The ID of the job from which to delete the task.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task to delete.
          in: path
          name: taskId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Deletes a task from the specified job.
      tags:
        - Tasks
      x-ms-examples:
        Task delete:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskId: taskId
          responses:
            "200": {}
      x-ms-request-id: request-id
    get:
      description: For multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. Use the list subtasks API to retrieve information about subtasks.
      operationId: Task_Get
      parameters:
        - description: The ID of the job that contains the task.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task to get information about.
          in: path
          name: taskId
          required: true
          type: string
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $expand clause.
          in: query
          name: $expand
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the task.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudTask"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets information about the specified task.
      tags:
        - Tasks
      x-ms-examples:
        Task get:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskId: taskId
          responses:
            "200":
              body:
                commandLine: cmd /c hostname
                constraints:
                  maxTaskRetryCount: 0
                  maxWallClockTime: P10675199DT2H48M5.4775807S
                  retentionTime: P10675199DT2H48M5.4775807S
                creationTime: 2016-09-06T06:59:15.1161429Z
                eTag: "0x8D3D62350711C55"
                executionInfo:
                  requeueCount: 0
                  retryCount: 0
                id: testTask
                lastModified: 2016-09-06T06:59:15.1161429Z
                multiInstanceSettings:
                  coordinationCommandLine: cmd /c echo coordinating
                  numberOfInstances: 3
                state: active
                stateTransitionTime: 2016-09-06T06:59:15.1161429Z
                url: https://account.region.batch.azure.com/jobs/jobId/tasks/taskId
                userIdentity:
                  autoUser:
                    elevationLevel: nonadmin
                    scope: task
      x-ms-request-id: request-id
    put:
      description: Updates the properties of the specified task.
      operationId: Task_Update
      parameters:
        - description: The ID of the job containing the task.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task to update.
          in: path
          name: taskId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: taskUpdateParameter
          required: true
          schema:
            $ref: "#/definitions/TaskUpdateParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - Tasks
      x-ms-examples:
        Task update:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskId: taskId
            taskUpdateParameter:
              constraints:
                maxTaskRetryCount: 3
                maxWallClockTime: PT1H
                retentionTime: PT1H
          responses:
            "200": {}
      x-ms-request-id: request-id
  "/jobs/{jobId}/tasks/{taskId}/files":
    get:
      operationId: File_ListFromTask
      parameters:
        - description: The ID of the job that contains the task.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task whose files you want to list.
          in: path
          name: taskId
          required: true
          type: string
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: Whether to list children of the task directory. This parameter can be used in combination with the filter parameter to list specific type of files.
          in: query
          name: recursive
          required: false
          type: boolean
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 files can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of files.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/NodeFileListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists the files in a task's directory on its compute node.
      tags:
        - Files
      x-ms-examples:
        File list from task:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            recursive: false
            taskId: taskId
          responses:
            "200":
              body:
                value:
                  - isDirectory: false
                    name: startup\ProcessEnv.cmd
                    properties:
                      contentLength: 1813
                      contentType: application/octet-stream
                      creationTime: 2014-09-19T21:56:17.679195Z
                      lastModified: 2014-09-19T21:56:17.679195Z
                    url: https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\ProcessEnv.cmd
                  - isDirectory: false
                    name: startup\stderr.txt
                    properties:
                      contentLength: 0
                      contentType: application/octet-stream
                      creationTime: 2014-09-19T21:56:17.5590855Z
                      lastModified: 2014-09-19T21:56:17.5590855Z
                    url: https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\stderr.txt
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
  "/jobs/{jobId}/tasks/{taskId}/files/{filePath}":
    delete:
      operationId: File_DeleteFromTask
      parameters:
        - description: The ID of the job that contains the task.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task whose file you want to delete.
          in: path
          name: taskId
          required: true
          type: string
        - description: The path to the task file or directory that you want to delete.
          in: path
          name: filePath
          required: true
          type: string
        - description: Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail.
          in: query
          name: recursive
          required: false
          type: boolean
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Deletes the specified task file from the compute node where the task ran.
      tags:
        - Files
      x-ms-examples:
        File delete from task:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            filePath: wd\testFile.txt
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            recursive: false
            taskId: task1
          responses:
            "200": {}
      x-ms-request-id: request-id
    get:
      description: Returns the content of the specified task file.
      operationId: File_GetFromTask
      parameters:
        - description: The ID of the job that contains the task.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task whose file you want to retrieve.
          in: path
          name: taskId
          required: true
          type: string
        - description: The path to the task file that you want to get the content of.
          in: path
          name: filePath
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.
          in: header
          name: ocp-range
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      produces:
        - application/json
        - application/octet-stream
      responses:
        "200":
          description: A response containing the file content.
          headers:
            Content-Length:
              description: The length of the file.
              format: int64
              type: integer
            Content-Type:
              description: The content type of the file.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            ocp-batch-file-isdirectory:
              description: Whether the object represents a directory.
              type: boolean
            ocp-batch-file-mode:
              description: The file mode attribute in octal format.
              type: string
            ocp-batch-file-url:
              description: The URL of the file.
              type: string
            ocp-creation-time:
              description: The file creation time.
              format: date-time-rfc1123
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            format: file
            type: object
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - Files
      x-ms-examples:
        Get File From Task:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            filePath: wd\testFile.txt
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskId: task1
          responses:
            "200":
              Content-Length: "17"
              Content-Type: application/octet-stream
              Last-Modified: Fri, 17 Feb 2017 00:00:00 GMT
              body: This is actually a byte stream. This request/response is being presented as a string for readability in the example
              ocp-batch-file-isdirectory: "false"
              ocp-creation-time: Fri, 17 Feb 2017 00:00:00 GMT
      x-ms-request-id: request-id
    head:
      description: Gets the properties of the specified task file.
      operationId: File_GetPropertiesFromTask
      parameters:
        - description: The ID of the job that contains the task.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task whose file you want to get the properties of.
          in: path
          name: taskId
          required: true
          type: string
        - description: The path to the task file that you want to get the properties of.
          in: path
          name: filePath
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the file properties.
          headers:
            Content-Length:
              description: The length of the file.
              format: int64
              type: integer
            Content-Type:
              description: The content type of the file.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            ocp-batch-file-isdirectory:
              description: Whether the object represents a directory.
              type: boolean
            ocp-batch-file-mode:
              description: The file mode attribute in octal format.
              type: string
            ocp-batch-file-url:
              description: The URL of the file.
              type: string
            ocp-creation-time:
              description: The file creation time.
              format: date-time-rfc1123
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - Files
      x-ms-examples:
        File get properties from task:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            filePath: wd\testFile.txt
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskId: taskId
          responses:
            "200":
              headers:
                Content-Length: "17"
                Content-Type: application/octet-stream
                Last-Modified: Fri, 17 Feb 2017 00:00:00 GMT
                ocp-batch-file-isdirectory: "false"
                ocp-creation-time: Fri, 17 Feb 2017 00:00:00 GMT
      x-ms-request-id: request-id
  "/jobs/{jobId}/tasks/{taskId}/reactivate":
    post:
      description: Reactivation makes a task eligible to be retried again up to its maximum retry count. The task's state is changed to active. As the task is no longer in the completed state, any previous exit code or failure information is no longer available after reactivation. Each time a task is reactivated, its retry count is reset to 0. Reactivation will fail for tasks that are not completed or that previously completed successfully (with an exit code of 0). Additionally, it will fail if the job has completed (or is terminating or deleting).
      operationId: Task_Reactivate
      parameters:
        - description: The ID of the job containing the task.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task to reactivate.
          in: path
          name: taskId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Reactivates a task, allowing it to run again even if its retry count has been exhausted.
      tags:
        - Tasks
      x-ms-examples:
        Task reactivate:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskId: taskId
          responses:
            "204": {}
      x-ms-request-id: request-id
  "/jobs/{jobId}/tasks/{taskId}/subtasksinfo":
    get:
      description: If the task is not a multi-instance task then this returns an empty collection.
      operationId: Task_ListSubtasks
      parameters:
        - description: The ID of the job.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task.
          in: path
          name: taskId
          required: true
          type: string
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of subtasks.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudTaskListSubtasksResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists all of the subtasks that are associated with the specified multi-instance task.
      tags:
        - Tasks
      x-ms-examples:
        Task list subtasks:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskId: taskId
          responses:
            "200":
              body:
                value:
                  - endTime: 2016-09-06T06:59:20.0242024Z
                    exitCode: 0
                    id: 1
                    nodeInfo:
                      affinityId: TVM:tvm-2544493925_3-20160905t051718z
                      nodeId: tvm-2544493925_3-20160905t051718z
                      nodeUrl: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z
                      poolId: mpiPool
                      taskRootDirectory: \workitems\jobId\job-1\taskId\1
                      taskRootDirectoryUrl: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z/files//workitems/jobId/job-1/taskId/1
                    previousState: running
                    previousStateTransitionTime: 2016-09-06T06:59:16.3139271Z
                    startTime: 2016-09-06T06:59:16.3139271Z
                    state: completed
                    stateTransitionTime: 2016-09-06T06:59:20.0242024Z
                  - id: 2
                    nodeInfo:
                      affinityId: TVM:tvm-2544493925_2-20160905t051718z
                      nodeId: tvm-2544493925_2-20160905t051718z
                      nodeUrl: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z
                      poolId: mpiPool
                      taskRootDirectory: \workitems\jobId\job-1\taskId\2
                      taskRootDirectoryUrl: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z/files//workitems/jobId/job-1/taskId/2
                    startTime: 2016-09-06T06:59:16.9702844Z
                    state: running
                    stateTransitionTime: 2016-09-06T06:59:16.9702844Z
      x-ms-request-id: request-id
  "/jobs/{jobId}/tasks/{taskId}/terminate":
    post:
      description: When the task has been terminated, it moves to the completed state. For multi-instance tasks, the terminate task operation applies synchronously to the primary task; subtasks are then terminated asynchronously in the background.
      operationId: Task_Terminate
      parameters:
        - description: The ID of the job containing the task.
          in: path
          name: jobId
          required: true
          type: string
        - description: The ID of the task to terminate.
          in: path
          name: taskId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Terminates the specified task.
      tags:
        - Tasks
      x-ms-examples:
        Task terminate:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            taskId: taskId
          responses:
            "204": {}
      x-ms-request-id: request-id
  "/jobs/{jobId}/terminate":
    post:
      description: When a Terminate Job request is received, the Batch service sets the job to the terminating state. The Batch service then terminates any running tasks associated with the job and runs any required job release tasks. Then the job moves into the completed state. If there are any tasks in the job in the active state, they will remain in the active state. Once a job is terminated, new tasks cannot be added and any remaining active tasks will not be scheduled.
      operationId: Job_Terminate
      parameters:
        - description: The ID of the job to terminate.
          in: path
          name: jobId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: jobTerminateParameter
          required: false
          schema:
            $ref: "#/definitions/JobTerminateParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Terminates the specified job, marking it as completed.
      tags:
        - Jobs
      x-ms-examples:
        Job terminate:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobId: jobId
            jobTerminateParameter:
              terminateReason: User supplied termination reason
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "202": {}
      x-ms-request-id: request-id
  /jobschedules:
    get:
      operationId: JobSchedule_List
      parameters:
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $expand clause.
          in: query
          name: $expand
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 job schedules can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of job schedules.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudJobScheduleListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists all of the job schedules in the specified account.
      tags:
        - JobSchedules
      x-ms-examples:
        JobSchedule list:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - creationTime: 2016-11-18T21:52:22.5431125Z
                    eTag: "0x8D40FFD2E10996A"
                    executionInfo:
                      recentJob:
                        id: jobSchedule1:job-1
                        url: https://account.region.batch.azure.com/jobs/jobSchedule1:job-1
                    id: jobSchedule1
                    jobSpecification:
                      constraints:
                        maxTaskRetryCount: 0
                        maxWallClockTime: P10675199DT2H48M5.4775807S
                      onAllTasksComplete: noaction
                      onTaskFailure: noaction
                      poolInfo:
                        poolId: poolId
                      priority: 0
                      usesTaskDependencies: false
                    lastModified: 2016-11-18T21:52:24.0064874Z
                    previousState: disabled
                    previousStateTransitionTime: 2016-11-18T21:52:23.6471782Z
                    state: active
                    stateTransitionTime: 2016-11-18T21:52:24.0064874Z
                    url: https://account.region.batch.azure.com/jobschedules/jobSchedule1
                  - creationTime: 2016-11-18T21:51:05.8184017Z
                    eTag: "0x8D40FFCFF760B51"
                    executionInfo:
                      nextRunTime: 2020-01-01T12:30:00Z
                    id: jobSchedule2
                    jobSpecification:
                      constraints:
                        maxTaskRetryCount: 0
                        maxWallClockTime: P10675199DT2H48M5.4775807S
                      onAllTasksComplete: noaction
                      onTaskFailure: noaction
                      poolInfo:
                        poolId: testPool2
                      priority: 0
                      usesTaskDependencies: false
                    lastModified: 2016-11-18T21:51:05.8184017Z
                    schedule:
                      doNotRunUntil: 2020-01-01T12:30:00Z
                    state: active
                    stateTransitionTime: 2016-11-18T21:51:05.8184017Z
                    url: https://account.region.batch.azure.com/jobschedules/jobSchedule2
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
    post:
      operationId: JobSchedule_Add
      parameters:
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The job schedule to be added.
          in: body
          name: cloudJobSchedule
          required: true
          schema:
            $ref: "#/definitions/JobScheduleAddParameter"
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Adds a job schedule to the specified account.
      tags:
        - JobSchedules
      x-ms-examples:
        Add a basic JobSchedule:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            cloudJobSchedule:
              id: jobScheduleId
              jobSpecification:
                poolInfo:
                  poolId: poolId
              schedule:
                recurrenceInterval: PT5M
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "201": {}
        Add a complex JobScheduleAdd:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            cloudJobSchedule:
              id: jobScheduleId
              jobSpecification:
                constraints:
                  maxTaskRetryCount: -1
                  maxWallClockTime: PT1H
                jobManagerTask:
                  commandLine: myprogram.exe
                  constraints:
                    maxTaskRetryCount: 0
                    maxWallClockTime: PT1H
                    retentionTime: PT1H
                  environmentSettings:
                    - name: myvariable
                      value: myvalue
                  id: mytask1
                  killJobOnCompletion: true
                  resourceFiles:
                    - blobSource: http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?st=2013-08-09T08%3a49%3a37.0000000Z&se=2013-08-10T08%3a49%3a37.0000000Z&sr=c&sp=d&si=YWJjZGTVMZw%3d%3d&sig=%2bSzBm0wi8xECuGkKw97wnkSZ%2f62sxU%2b6Hq6a7qojIVE%3d
                      filePath: myprogram.exe
                    - blobSource: http://mystorage1.blob.core.windows.net/scripts/test.txt?st=2013-08-09T08%3a49%3a37.0000000Z&se=2013-08-10T08%3a49%3a37.0000000Z&sr=c&sp=d&si=YWJjZGTVMZw%3d%3d&sig=%2bSzBm0wi8xECuGkKw97wnkSZ%2f62sxU%2b6Hq6a7qojIVE%3d
                      filePath: test.txt
                  runExclusive: true
                  userIdentity:
                    autoUser:
                      elevationLevel: nonadmin
                      scope: task
                poolInfo:
                  autoPoolSpecification:
                    autoPoolIdPrefix: mypool
                    pool:
                      certificateReferences:
                        - storeLocation: localmachine
                          storeName: Root
                          thumbprint: 0123456789abcdef0123456789abcdef01234567
                          thumbprintAlgorithm: sha1
                          visibility:
                            - task
                      cloudServiceConfiguration:
                        osFamily: "4"
                        targetOSVersion: "*"
                      enableAutoScale: false
                      enableInterNodeCommunication: true
                      maxTasksPerNode: 2
                      metadata:
                        - name: myproperty
                          value: myvalue
                      resizeTimeout: PT15M
                      startTask:
                        commandLine: myprogram2.exe
                        environmentSettings:
                          - name: myvariable
                            value: myvalue
                        maxTaskRetryCount: 2
                        resourceFiles:
                          - blobSource: http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?st=2013-08-09T08%3a49%3a37.0000000Z&se=2013-08-10T08%3a49%3a37.0000000Z&sr=c&sp=d&si=YWJjZGTVMZw%3d%3d&sig= %2bSzBm0wi8xECuGkKw97wnkSZ%2f62sxU%2b6Hq6a7qojIVE%3d
                            filePath: myprogram2.exe
                        userIdentity:
                          autoUser:
                            elevationLevel: admin
                            scope: task
                        waitForSuccess: true
                      targetDedicatedNodes: 3
                      targetLowPriorityNodes: 0
                      taskSchedulingPolicy:
                        nodeFillType: spread
                      vmSize: small
                    poolLifetimeOption: jobschedule
                priority: 100
              metadata:
                - name: myproperty
                  value: myvalue
              schedule:
                doNotRunAfter: 2014-09-10T06:30:00.000Z
                doNotRunUntil: 2014-09-10T02:30:00.000Z
                recurrenceInterval: PT5M
                startWindow: PT1M
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "201": {}
      x-ms-request-id: request-id
  "/jobschedules/{jobScheduleId}":
    delete:
      description: When you delete a job schedule, this also deletes all jobs and tasks under that schedule. When tasks are deleted, all the files in their working directories on the compute nodes are also deleted (the retention period is ignored). The job schedule statistics are no longer accessible once the job schedule is deleted, though they are still counted towards account lifetime statistics.
      operationId: JobSchedule_Delete
      parameters:
        - description: The ID of the job schedule to delete.
          in: path
          name: jobScheduleId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Deletes a job schedule from the specified account.
      tags:
        - JobSchedules
      x-ms-examples:
        JobSchedule delete:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobScheduleId: jobScheduleId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "202": {}
      x-ms-request-id: request-id
    get:
      description: Gets information about the specified job schedule.
      operationId: JobSchedule_Get
      parameters:
        - description: The ID of the job schedule to get.
          in: path
          name: jobScheduleId
          required: true
          type: string
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $expand clause.
          in: query
          name: $expand
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the job schedule.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudJobSchedule"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - JobSchedules
      x-ms-examples:
        JobSchedule get:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobScheduleId: jobScheduleId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                creationTime: 2016-11-18T21:52:22.5431125Z
                eTag: "0x8D40FFD2E848323"
                executionInfo:
                  endTime: 2016-11-18T21:52:24.8371778Z
                  recentJob:
                    id: jobScheduleId:job-1
                    url: https://account.region.batch.azure.com/jobschedules/jobScheduleId:job-1
                id: jobScheduleId
                jobSpecification:
                  constraints:
                    maxTaskRetryCount: 0
                    maxWallClockTime: P10675199DT2H48M5.4775807S
                  onAllTasksComplete: noaction
                  onTaskFailure: noaction
                  poolInfo:
                    poolId: testPool
                  priority: 0
                  usesTaskDependencies: false
                lastModified: 2016-11-18T21:52:24.7661347Z
                previousState: active
                previousStateTransitionTime: 2016-11-18T21:52:24.0064874Z
                state: completed
                stateTransitionTime: 2016-11-18T21:52:24.8371778Z
                url: https://account.region.batch.azure.com/jobschedules/jobScheduleId
      x-ms-request-id: request-id
    head:
      operationId: JobSchedule_Exists
      parameters:
        - description: The ID of the job schedule which you want to check.
          in: path
          name: jobScheduleId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing headers related to the job schedule, if it exists.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        "404":
          description: The job schedule does not exist.
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Checks the specified job schedule exists.
      tags:
        - JobSchedules
      x-ms-examples:
        Check Job Schedule Exists:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobScheduleId: jobScheduleId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200": {}
            "404": {}
      x-ms-request-id: request-id
    patch:
      description: This replaces only the job schedule properties specified in the request. For example, if the schedule property is not specified with this request, then the Batch service will keep the existing schedule. Changes to a job schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are unaffected.
      operationId: JobSchedule_Patch
      parameters:
        - description: The ID of the job schedule to update.
          in: path
          name: jobScheduleId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: jobSchedulePatchParameter
          required: true
          schema:
            $ref: "#/definitions/JobSchedulePatchParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Updates the properties of the specified job schedule.
      tags:
        - JobSchedules
      x-ms-examples:
        JobSchedule patch:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobScheduleId: jobScheduleId
            jobSchedulePatchParameter:
              jobSpecification:
                constraints:
                  maxTaskRetryCount: 0
                  maxWallClockTime: P10675199DT2H48M5.4775807S
                poolInfo:
                  poolId: poolId
                priority: 0
                usesTaskDependencies: false
              schedule:
                doNotRunUntil: 2025-01-01T12:30:00Z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200": {}
      x-ms-request-id: request-id
    put:
      description: This fully replaces all the updatable properties of the job schedule. For example, if the schedule property is not specified with this request, then the Batch service will remove the existing schedule. Changes to a job schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are unaffected.
      operationId: JobSchedule_Update
      parameters:
        - description: The ID of the job schedule to update.
          in: path
          name: jobScheduleId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: jobScheduleUpdateParameter
          required: true
          schema:
            $ref: "#/definitions/JobScheduleUpdateParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Updates the properties of the specified job schedule.
      tags:
        - JobSchedules
      x-ms-examples:
        JobSchedule update:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobScheduleId: jobScheduleId
            jobScheduleUpdateParameter:
              jobSpecification:
                constraints:
                  maxTaskRetryCount: 0
                  maxWallClockTime: P10675199DT2H48M5.4775807S
                poolInfo:
                  poolId: poolId
                priority: 0
                usesTaskDependencies: false
              schedule:
                doNotRunUntil: 2025-01-01T12:30:00Z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200": {}
      x-ms-request-id: request-id
  "/jobschedules/{jobScheduleId}/disable":
    post:
      description: No new jobs will be created until the job schedule is enabled again.
      operationId: JobSchedule_Disable
      parameters:
        - description: The ID of the job schedule to disable.
          in: path
          name: jobScheduleId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Disables a job schedule.
      tags:
        - JobSchedules
      x-ms-examples:
        JobSchedule disable:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobScheduleId: jobScheduleId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "204": {}
      x-ms-request-id: request-id
  "/jobschedules/{jobScheduleId}/enable":
    post:
      operationId: JobSchedule_Enable
      parameters:
        - description: The ID of the job schedule to enable.
          in: path
          name: jobScheduleId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Enables a job schedule.
      tags:
        - JobSchedules
      x-ms-examples:
        JobSchedule enable:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobScheduleId: jobScheduleId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "204": {}
      x-ms-request-id: request-id
  "/jobschedules/{jobScheduleId}/jobs":
    get:
      operationId: Job_ListFromJobSchedule
      parameters:
        - description: The ID of the job schedule from which you want to get a list of jobs.
          in: path
          name: jobScheduleId
          required: true
          type: string
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $expand clause.
          in: query
          name: $expand
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 jobs can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of jobs.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudJobListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists the jobs that have been created under the specified job schedule.
      tags:
        - Jobs
      x-ms-examples:
        List Job Under Job Schedule:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobScheduleId: jobScheduleId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - constraints:
                      maxTaskRetryCount: 0
                      maxWallClockTime: P10675199DT2H48M5.4775807S
                    creationTime: 2016-11-19T00:05:25.311915Z
                    eTag: "0x8D4100FC46D5BF4"
                    executionInfo:
                      poolId: poolId
                      startTime: 2016-11-19T00:05:25.3309105Z
                    id: jobId
                    lastModified: 2016-11-19T00:05:27.2137716Z
                    onAllTasksComplete: noaction
                    onTaskFailure: noaction
                    poolInfo:
                      poolId: poolId
                    previousState: disabled
                    previousStateTransitionTime: 2016-11-19T00:05:26.88777Z
                    priority: 0
                    state: active
                    stateTransitionTime: 2016-11-19T00:05:27.2137716Z
                    url: https://account.region.batch.azure.com/jobs/jobId
                    usesTaskDependencies: false
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
  "/jobschedules/{jobScheduleId}/terminate":
    post:
      operationId: JobSchedule_Terminate
      parameters:
        - description: The ID of the job schedule to terminates.
          in: path
          name: jobScheduleId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Terminates a job schedule.
      tags:
        - JobSchedules
      x-ms-examples:
        JobSchedule terminate:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            jobScheduleId: jobScheduleId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "202": {}
      x-ms-request-id: request-id
  /lifetimejobstats:
    get:
      description: Statistics are aggregated across all jobs that have ever existed in the account, from account creation to the last update time of the statistics. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.
      operationId: Job_GetAllLifetimeStatistics
      parameters:
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the job statistics for the lifetime of the Batch account.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/JobStatistics"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets lifetime summary statistics for all of the jobs in the specified account.
      tags:
        - Jobs
      x-ms-examples:
        Job get lifetime statistics:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                kernelCPUTime: PT0S
                lastUpdateTime: 2014-08-04T18:30:00.4345729Z
                numFailedTasks: 0
                numSucceededTasks: 0
                numTaskRetries: 0
                readIOGiB: 10
                readIOps: 0
                startTime: 2014-08-01T18:30:00.4345729Z
                url: https://account.region.batch.core.windows.net/lifetimejobstats
                userCPUTime: PT0S
                waitTime: PT0S
                wallClockTime: PT0S
                writeIOGiB: 5
                writeIOps: 0
      x-ms-request-id: request-id
  /lifetimepoolstats:
    get:
      description: Statistics are aggregated across all pools that have ever existed in the account, from account creation to the last update time of the statistics. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.
      operationId: Pool_GetAllLifetimeStatistics
      parameters:
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the pool statistics for the lifetime of the Batch account.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/PoolStatistics"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets lifetime summary statistics for all of the pools in the specified account.
      tags:
        - Pools
      x-ms-examples:
        Pool get lifetime statistics:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                lastUpdateTime: 2014-08-04T18:30:00.4345729Z
                resourceStats:
                  avgCPUPercentage: 40
                  avgDiskGiB: 125
                  avgMemoryGiB: 2
                  diskReadGiB: 10
                  diskReadIOps: 0
                  diskWriteGiB: 1
                  diskWriteIOps: 0
                  lastUpdateTime: 2014-08-04T18:30:00.4345729Z
                  networkReadGiB: 20
                  networkWriteGiB: 25
                  peakDiskGiB: 240
                  peakMemoryGiB: 4
                  startTime: 2014-08-01T18:30:00.4345729Z
                startTime: 2014-08-01T18:30:00.4345729Z
                url: https://account.region.batch.core.windows.net/lifetimepoolstats
                usageStats:
                  dedicatedCoreTime: PT0S
                  lastUpdateTime: 2014-08-04T18:30:00.4345729Z
                  startTime: 2014-08-01T18:30:00.4345729Z
      x-ms-request-id: request-id
  /nodeagentskus:
    get:
      operationId: Account_ListNodeAgentSkus
      parameters:
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-node-agent-skus.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 results will be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of node agent SKUs.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/AccountListNodeAgentSkusResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists all node agent SKUs supported by the Azure Batch service.
      tags:
        - Accounts
      x-ms-examples:
        Account list node agent skus:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - id: batch.node.centos 7
                    osType: linux
                    verifiedImageReferences:
                      - offer: CentOS
                        publisher: OpenLogic
                        sku: "7.2"
                        version: latest
                      - offer: CentOS
                        publisher: OpenLogic
                        sku: "7.1"
                        version: latest
                  - id: batch.node.debian 8
                    osType: linux
                    verifiedImageReferences:
                      - offer: Debian
                        publisher: Credativ
                        sku: "8"
                        version: latest
                  - id: batch.node.windows amd64
                    osType: windows
                    verifiedImageReferences:
                      - offer: WindowsServer
                        publisher: MicrosoftWindowsServer
                        sku: 2012-R2-Datacenter
                        version: latest
                      - offer: WindowsServer
                        publisher: MicrosoftWindowsServer
                        sku: 2012-Datacenter
                        version: latest
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
  /nodecounts:
    get:
      description: Gets the number of nodes in each state, grouped by pool.
      operationId: Account_ListPoolNodeCounts
      parameters:
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 10
          description: The maximum number of items to return in the response.
          format: int32
          in: query
          maximum: 10
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The response contains the number of nodes in each node state, grouped by pool.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/PoolNodeCountsListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - Accounts
      x-ms-examples:
        NodeCountsPayload:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - dedicated:
                      creating: 0
                      idle: 0
                      leavingPool: 0
                      offline: 0
                      preempted: 0
                      rebooting: 0
                      reimaging: 0
                      running: 0
                      startTaskFailed: 0
                      starting: 0
                      total: 0
                      unknown: 0
                      unusable: 0
                      waitingForStartTask: 0
                    lowPriority:
                      creating: 0
                      idle: 0
                      leavingPool: 0
                      offline: 0
                      preempted: 0
                      rebooting: 0
                      reimaging: 0
                      running: 2
                      startTaskFailed: 0
                      starting: 1
                      total: 3
                      unknown: 0
                      unusable: 0
                      waitingForStartTask: 0
                    poolId: pool1
                  - dedicated:
                      creating: 0
                      idle: 1
                      leavingPool: 0
                      offline: 3
                      preempted: 0
                      rebooting: 0
                      reimaging: 0
                      running: 0
                      startTaskFailed: 0
                      starting: 0
                      total: 4
                      unknown: 0
                      unusable: 0
                      waitingForStartTask: 0
                    lowPriority:
                      creating: 0
                      idle: 0
                      leavingPool: 0
                      offline: 0
                      preempted: 0
                      rebooting: 0
                      reimaging: 0
                      running: 0
                      startTaskFailed: 0
                      starting: 0
                      total: 0
                      unknown: 0
                      unusable: 0
                      waitingForStartTask: 0
                    poolId: pool2
                  - dedicated:
                      creating: 0
                      idle: 5
                      leavingPool: 0
                      offline: 0
                      preempted: 0
                      rebooting: 0
                      reimaging: 4
                      running: 0
                      startTaskFailed: 0
                      starting: 0
                      total: 9
                      unknown: 0
                      unusable: 0
                      waitingForStartTask: 0
                    lowPriority:
                      creating: 7
                      idle: 0
                      leavingPool: 0
                      offline: 0
                      preempted: 0
                      rebooting: 0
                      reimaging: 0
                      running: 4
                      startTaskFailed: 0
                      starting: 0
                      total: 11
                      unknown: 0
                      unusable: 0
                      waitingForStartTask: 0
                    poolId: pool3
      x-ms-pageable:
        nextLinkName: odata.nextLink
  /pools:
    get:
      operationId: Pool_List
      parameters:
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $expand clause.
          in: query
          name: $expand
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 pools can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of pools.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudPoolListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists all of the pools in the specified account.
      tags:
        - Pools
      x-ms-examples:
        Pool list:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - allocationState: steady
                    allocationStateTransitionTime: 2016-11-21T18:27:40.287803Z
                    cloudServiceConfiguration:
                      currentOSVersion: "*"
                      osFamily: "4"
                      targetOSVersion: "*"
                    creationTime: 2016-11-21T18:26:39.7108787Z
                    currentDedicatedNodes: 3
                    currentLowPriorityNodes: 0
                    eTag: "0x8D4123BEF87D233"
                    enableAutoScale: false
                    enableInterNodeCommunication: false
                    id: testPool
                    lastModified: 2016-11-21T18:26:39.7108787Z
                    maxTasksPerNode: 1
                    resizeTimeout: PT15M
                    startTask:
                      commandLine: cmd /c echo hello
                      maxTaskRetryCount: 0
                      userIdentity:
                        autoUser:
                          elevationLevel: nonadmin
                          scope: task
                      waitForSuccess: false
                    state: active
                    stateTransitionTime: 2016-11-21T18:26:39.7108787Z
                    targetDedicatedNodes: 3
                    targetLowPriorityNodes: 0
                    taskSchedulingPolicy:
                      nodeFillType: spread
                    url: https://accountname.region.batch.azure.com/pools/testPool
                    vmSize: small
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
    post:
      description: When naming pools, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.
      operationId: Pool_Add
      parameters:
        - description: The pool to be added.
          in: body
          name: pool
          required: true
          schema:
            $ref: "#/definitions/PoolAddParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Adds a pool to the specified account.
      tags:
        - Pools
      x-ms-examples:
        Add a CloudServiceConfiguration pool:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            pool:
              cloudServiceConfiguration:
                osFamily: "4"
              enableAutoScale: false
              enableInterNodeCommunication: true
              id: poolId
              maxTasksPerNode: 3
              metadata:
                - name: myproperty
                  value: myvalue
              resizeTimeout: PT15M
              targetDedicatedNodes: 5
              targetLowPriorityNodes: 0
              taskSchedulingPolicy:
                nodeFillType: spread
              vmSize: small
          responses:
            "201":
              ETag: "0x8D45765A6A2DC04"
              Last-Modified: Fri, 17 Feb 2017 00:00:00 GMT
              request-id: 00000000-0000-0000-0000-000000000000
        Add a VirtualMachineConfiguration pool:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            pool:
              enableAutoScale: false
              enableInterNodeCommunication: true
              id: pool2
              maxTasksPerNode: 3
              metadata:
                - name: myproperty
                  value: myvalue
              resizeTimeout: PT15M
              targetDedicatedNodes: 5
              targetLowPriorityNodes: 0
              taskSchedulingPolicy:
                nodeFillType: spread
              virtualMachineConfiguration:
                imageReference:
                  offer: UbuntuServer
                  publisher: Canonical
                  sku: 16.04.0-LTS
                nodeAgentSKUId: batch.node.ubuntu 16.04
              vmSize: standard_a1
          responses:
            "201":
              ETag: "0x8D45765A6A2DC04"
              Last-Modified: Fri, 17 Feb 2017 00:00:00 GMT
              request-id: 00000000-0000-0000-0000-000000000000
        Add a VirtualMachineConfiguration pool with containers:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            pool:
              enableAutoScale: false
              id: pool2
              maxTasksPerNode: 3
              resizeTimeout: PT15M
              targetDedicatedNodes: 5
              targetLowPriorityNodes: 0
              taskSchedulingPolicy:
                nodeFillType: spread
              virtualMachineConfiguration:
                containerConfiguration:
                  containerImageNames:
                    - busybox
                  type: dockerCompatible
                imageReference:
                  offer: UbuntuServer
                  publisher: Canonical
                  sku: 16.04.0-LTS
                nodeAgentSKUId: batch.node.ubuntu 16.04
              vmSize: standard_a1
          responses:
            "201":
              ETag: "0x8D45765A6A2DC04"
              Last-Modified: Fri, 17 Feb 2017 00:00:00 GMT
              request-id: 00000000-0000-0000-0000-000000000000
      x-ms-request-id: request-id
  "/pools/{poolId}":
    delete:
      description: "When you request that a pool be deleted, the following actions occur: the pool state is set to deleting; any ongoing resize operation on the pool are stopped; the Batch service starts resizing the pool to zero nodes; any tasks running on existing nodes are terminated and requeued (as if a resize pool operation had been requested with the default requeue option); finally, the pool is removed from the system. Because running tasks are requeued, the user can rerun these tasks by updating their job to target a different pool. The tasks can then run on the new pool. If you want to override the requeue behavior, then you should call resize pool explicitly to shrink the pool to zero size before deleting the pool. If you call an Update, Patch or Delete API on a pool in the deleting state, it will fail with HTTP status code 409 with error code PoolBeingDeleted."
      operationId: Pool_Delete
      parameters:
        - description: The ID of the pool to delete.
          in: path
          name: poolId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Deletes a pool from the specified account.
      tags:
        - Pools
      x-ms-examples:
        Pool delete:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "202": {}
      x-ms-request-id: request-id
    get:
      description: Gets information about the specified pool.
      operationId: Pool_Get
      parameters:
        - description: The ID of the pool to get.
          in: path
          name: poolId
          required: true
          type: string
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $expand clause.
          in: query
          name: $expand
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the pool.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/CloudPool"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - Pools
      x-ms-examples:
        Pool get:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: pool
          responses:
            "200":
              body:
                allocationState: steady
                allocationStateTransitionTime: 2016-11-22T18:55:24.8154041Z
                creationTime: 2016-11-22T18:55:24.2632496Z
                currentDedicatedNodes: 0
                currentLowPriorityNodes: 0
                eTag: "0x8D413091E739A56"
                enableAutoScale: false
                enableInterNodeCommunication: false
                id: pool
                lastModified: 2016-11-22T18:55:25.2608598Z
                maxTasksPerNode: 1
                resizeTimeout: PT15M
                startTask:
                  commandLine: /bin/bash -c 'echo start task'
                  maxTaskRetryCount: 0
                  userIdentity:
                    autoUser:
                      elevationLevel: nonadmin
                      scope: task
                  waitForSuccess: false
                state: active
                stateTransitionTime: 2016-11-22T18:55:24.2632496Z
                targetDedicatedNodes: 0
                targetLowPriorityNodes: 0
                taskSchedulingPolicy:
                  nodeFillType: spread
                url: https://account.region.batch.azure.com/pools/pool
                virtualMachineConfiguration:
                  imageReference:
                    offer: UbuntuServer
                    publisher: Canonical
                    sku: 16.04.0-LTS
                    version: latest
                  nodeAgentSKUId: batch.node.ubuntu 16.04
                vmSize: standard_a1
      x-ms-request-id: request-id
    head:
      description: Gets basic properties of a pool.
      operationId: Pool_Exists
      parameters:
        - description: The ID of the pool to get.
          in: path
          name: poolId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing headers related to the pool, if it exists.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        "404":
          description: The pool does not exist.
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - Pools
      x-ms-examples:
        Check Pool Exists:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200": {}
            "404": {}
      x-ms-request-id: request-id
    patch:
      description: This only replaces the pool properties specified in the request. For example, if the pool has a start task associated with it, and a request does not specify a start task element, then the pool keeps the existing start task.
      operationId: Pool_Patch
      parameters:
        - description: The ID of the pool to update.
          in: path
          name: poolId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: poolPatchParameter
          required: true
          schema:
            $ref: "#/definitions/PoolPatchParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Updates the properties of the specified pool.
      tags:
        - Pools
      x-ms-examples:
        Patch the Pool:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
            poolPatchParameter:
              startTask:
                commandLine: /bin/bash -c 'echo start task'
          responses:
            "200": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/disableautoscale":
    post:
      operationId: Pool_DisableAutoScale
      parameters:
        - description: The ID of the pool on which to disable automatic scaling.
          in: path
          name: poolId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Disables automatic scaling for a pool.
      tags:
        - Pools
      x-ms-examples:
        Disable pool autoscale:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/enableautoscale":
    post:
      description: You cannot enable automatic scaling on a pool if a resize operation is in progress on the pool. If automatic scaling of the pool is currently disabled, you must specify a valid autoscale formula as part of the request. If automatic scaling of the pool is already enabled, you may specify a new autoscale formula and/or a new evaluation interval. You cannot call this API for the same pool more than once every 30 seconds.
      operationId: Pool_EnableAutoScale
      parameters:
        - description: The ID of the pool on which to enable automatic scaling.
          in: path
          name: poolId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: poolEnableAutoScaleParameter
          required: true
          schema:
            $ref: "#/definitions/PoolEnableAutoScaleParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Enables automatic scaling for a pool.
      tags:
        - Pools
      x-ms-examples:
        Pool enable autoscale:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolEnableAutoScaleParameter:
              autoScaleEvaluationInterval: PT8M
              autoScaleFormula: $TargetDedicated=0
            poolId: poolId
          responses:
            "200": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/evaluateautoscale":
    post:
      description: This API is primarily for validating an autoscale formula, as it simply returns the result without applying the formula to the pool. The pool must have auto scaling enabled in order to evaluate a formula.
      operationId: Pool_EvaluateAutoScale
      parameters:
        - description: The ID of the pool on which to evaluate the automatic scaling formula.
          in: path
          name: poolId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: poolEvaluateAutoScaleParameter
          required: true
          schema:
            $ref: "#/definitions/PoolEvaluateAutoScaleParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the results of the autoscale evaluation.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/AutoScaleRun"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets the result of evaluating an automatic scaling formula on the pool.
      tags:
        - Pools
      x-ms-examples:
        Pool evaluate autoscale:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolEvaluateAutoScaleParameter:
              autoScaleFormula: $TargetDedicated=1
            poolId: poolId
          responses:
            "200":
              body:
                results: $TargetDedicated=1;$NodeDeallocationOption=requeue
                timestamp: 2016-11-22T19:39:28.5246331Z
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes":
    get:
      operationId: ComputeNode_List
      parameters:
        - description: The ID of the pool from which you want to list nodes.
          in: path
          name: poolId
          required: true
          type: string
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 nodes can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of nodes.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/ComputeNodeListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists the compute nodes in the specified pool.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node list:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200":
              body:
                value:
                  - affinityId: TVM:tvm-1695681911_1-20161122t193202z
                    allocationTime: 2016-11-22T19:32:02.8155319Z
                    id: tvm-1695681911_1-20161122t193202z
                    ipAddress: 1.1.1.1
                    isDedicated: true
                    lastBootTime: 2016-11-22T22:22:24.4634125Z
                    nodeAgentInfo:
                      lastUpdateTime: 2016-11-22T22:22:24.4634125Z
                      version: 1.2.0.0
                    runningTasksCount: 0
                    schedulingState: enabled
                    startTask:
                      commandLine: cmd /c echo hello
                      maxTaskRetryCount: 0
                      userIdentity:
                        autoUser:
                          elevationLevel: nonadmin
                          scope: task
                      waitForSuccess: false
                    startTaskInfo:
                      endTime: 2016-11-22T22:22:27.567189Z
                      exitCode: 0
                      retryCount: 0
                      startTime: 2016-11-22T22:22:27.2236818Z
                      state: completed
                    state: idle
                    stateTransitionTime: 2016-11-22T22:22:27.2236818Z
                    totalTasksRun: 0
                    totalTasksSucceeded: 0
                    url: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_1-20161122t193202z
                    vmSize: small
                  - affinityId: TVM:tvm-1695681911_2-20161122t193202z
                    allocationTime: 2016-11-22T19:32:02.8155319Z
                    id: tvm-1695681911_2-20161122t193202z
                    ipAddress: 1.1.1.1
                    isDedicated: true
                    lastBootTime: 2016-11-22T19:37:28.623369Z
                    nodeAgentInfo:
                      lastUpdateTime: 2016-11-22T22:22:24.4634125Z
                      version: 1.2.0.0
                    runningTasksCount: 0
                    schedulingState: enabled
                    startTask:
                      commandLine: cmd /c echo hello
                      maxTaskRetryCount: 0
                      userIdentity:
                        autoUser:
                          elevationLevel: nonadmin
                          scope: task
                      waitForSuccess: false
                    startTaskInfo:
                      endTime: 2016-11-22T19:37:31.838028Z
                      exitCode: 0
                      retryCount: 0
                      startTime: 2016-11-22T19:37:31.4285526Z
                      state: completed
                    state: idle
                    stateTransitionTime: 2016-11-22T19:37:31.4285526Z
                    totalTasksRun: 0
                    totalTasksSucceeded: 0
                    url: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z
                    vmSize: small
                  - affinityId: TVM:tvm-1695681911_3-20161122t193202z
                    allocationTime: 2016-11-22T19:32:02.8155319Z
                    id: tvm-1695681911_3-20161122t193202z
                    ipAddress: 1.1.1.1
                    isDedicated: true
                    lastBootTime: 2016-11-22T19:36:48.21721Z
                    nodeAgentInfo:
                      lastUpdateTime: 2016-11-22T22:22:24.4634125Z
                      version: 1.2.0.0
                    runningTasksCount: 0
                    schedulingState: enabled
                    startTask:
                      commandLine: cmd /c echo hello
                      maxTaskRetryCount: 0
                      userIdentity:
                        autoUser:
                          elevationLevel: nonadmin
                          scope: task
                      waitForSuccess: false
                    startTaskInfo:
                      endTime: 2016-11-22T19:36:51.2363447Z
                      exitCode: 0
                      retryCount: 0
                      startTime: 2016-11-22T19:36:51.0013378Z
                      state: completed
                    state: idle
                    stateTransitionTime: 2016-11-22T19:36:51.0013378Z
                    totalTasksRun: 0
                    totalTasksSucceeded: 0
                    url: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_3-20161122t193202z
                    vmSize: small
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}":
    get:
      operationId: ComputeNode_Get
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node that you want to get information about.
          in: path
          name: nodeId
          required: true
          type: string
        - description: An OData $select clause.
          in: query
          name: $select
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the compute node.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/ComputeNode"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets information about the specified compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node get:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_2-20161122t193202z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200":
              body:
                affinityId: TVM:tvm-1695681911_2-20161122t193202z
                allocationTime: 2016-11-22T19:32:02.8155319Z
                id: tvm-1695681911_2-20161122t193202z
                ipAddress: 1.1.1.1
                isDedicated: true
                lastBootTime: 2016-11-22T19:37:28.623369Z
                nodeAgentInfo:
                  lastUpdateTime: 2016-11-22T19:37:28.623369Z
                  version: 1.2.0.0
                runningTasksCount: 0
                schedulingState: enabled
                startTask:
                  commandLine: cmd /c echo hello
                  maxTaskRetryCount: 0
                  userIdentity:
                    autoUser:
                      elevationLevel: nonadmin
                      scope: task
                  waitForSuccess: false
                startTaskInfo:
                  endTime: 2016-11-22T19:37:31.838028Z
                  exitCode: 0
                  retryCount: 0
                  startTime: 2016-11-22T19:37:31.4285526Z
                  state: completed
                state: idle
                stateTransitionTime: 2016-11-22T19:37:31.4285526Z
                totalTasksRun: 0
                totalTasksSucceeded: 0
                url: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z
                vmSize: small
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/disablescheduling":
    post:
      description: You can disable task scheduling on a node only if its current scheduling state is enabled.
      operationId: ComputeNode_DisableScheduling
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node on which you want to disable task scheduling.
          in: path
          name: nodeId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: nodeDisableSchedulingParameter
          required: false
          schema:
            $ref: "#/definitions/NodeDisableSchedulingParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Disables task scheduling on the specified compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node disable scheduling:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeDisableSchedulingParameter:
              nodeDisableSchedulingOption: terminate
            nodeId: tvm-1695681911_1-20161122t193202z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/enablescheduling":
    post:
      description: You can enable task scheduling on a node only if its current scheduling state is disabled
      operationId: ComputeNode_EnableScheduling
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node on which you want to enable task scheduling.
          in: path
          name: nodeId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Enables task scheduling on the specified compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node enable scheduling:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161122t193202z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/files":
    get:
      operationId: File_ListFromComputeNode
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node whose files you want to list.
          in: path
          name: nodeId
          required: true
          type: string
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: Whether to list children of a directory.
          in: query
          name: recursive
          required: false
          type: boolean
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 files can be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of files.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/NodeFileListResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists all of the files in task directories on the specified compute node.
      tags:
        - Files
      x-ms-examples:
        File list from node:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161122t193202z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
            recursive: false
          responses:
            "200":
              body:
                value:
                  - isDirectory: true
                    name: shared
                    url: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/shared
                  - isDirectory: false
                    name: startup\ProcessEnv.cmd
                    properties:
                      contentLength: 1813
                      contentType: application/octet-stream
                      creationTime: 2014-09-19T21:56:17.679195Z
                      lastModified: 2014-09-19T21:56:17.679195Z
                    url: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\ProcessEnv.cmd
                  - isDirectory: false
                    name: startup\stderr.txt
                    properties:
                      contentLength: 0
                      contentType: application/octet-stream
                      creationTime: 2014-09-19T21:56:17.5590855Z
                      lastModified: 2014-09-19T21:56:17.5590855Z
                    url: https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\stderr.txt
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/files/{filePath}":
    delete:
      operationId: File_DeleteFromComputeNode
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node from which you want to delete the file.
          in: path
          name: nodeId
          required: true
          type: string
        - description: The path to the file or directory that you want to delete.
          in: path
          name: filePath
          required: true
          type: string
        - description: Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail.
          in: query
          name: recursive
          required: false
          type: boolean
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Deletes the specified file from the compute node.
      tags:
        - Files
      x-ms-examples:
        File delete from node:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            filePath: workitems\jobId\job-1\task1\wd\testFile.txt
            nodeId: tvm-1695681911_1-20161122t193202z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
            recursive: false
          responses:
            "200": {}
      x-ms-request-id: request-id
    get:
      description: Returns the content of the specified compute node file.
      operationId: File_GetFromComputeNode
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node that contains the file.
          in: path
          name: nodeId
          required: true
          type: string
        - description: The path to the compute node file that you want to get the content of.
          in: path
          name: filePath
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.
          in: header
          name: ocp-range
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      produces:
        - application/json
        - application/octet-stream
      responses:
        "200":
          description: The file content.
          headers:
            Content-Length:
              description: The length of the file.
              format: int64
              type: integer
            Content-Type:
              description: The content type of the file.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            ocp-batch-file-isdirectory:
              description: Whether the object represents a directory.
              type: boolean
            ocp-batch-file-mode:
              description: The file mode attribute in octal format.
              type: string
            ocp-batch-file-url:
              description: The URL of the file.
              type: string
            ocp-creation-time:
              description: The file creation time.
              format: date-time-rfc1123
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            format: file
            type: object
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - Files
      x-ms-examples:
        Get File From Compute Node:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            filePath: workitems\jobId\job-1\task1\wd\testFile.txt
            nodeId: nodeId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200":
              Content-Length: "17"
              Content-Type: application/octet-stream
              Last-Modified: Fri, 17 Feb 2017 00:00:00 GMT
              body: This is actually a byte stream. This request/response is being presented as a string for readability in the example
              ocp-batch-file-isdirectory: "false"
              ocp-creation-time: Fri, 17 Feb 2017 00:00:00 GMT
      x-ms-request-id: request-id
    head:
      description: Gets the properties of the specified compute node file.
      operationId: File_GetPropertiesFromComputeNode
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node that contains the file.
          in: path
          name: nodeId
          required: true
          type: string
        - description: The path to the compute node file that you want to get the properties of.
          in: path
          name: filePath
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the file properties.
          headers:
            Content-Length:
              description: The length of the file.
              format: int64
              type: integer
            Content-Type:
              description: The content type of the file.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            ocp-batch-file-isdirectory:
              description: Whether the object represents a directory.
              type: boolean
            ocp-batch-file-mode:
              description: The file mode attribute in octal format.
              type: string
            ocp-batch-file-url:
              description: The URL of the file.
              type: string
            ocp-creation-time:
              description: The file creation time.
              format: date-time-rfc1123
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      tags:
        - Files
      x-ms-examples:
        File get properties from node:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            filePath: workitems\jobId\job-1\task1\wd\testFile.txt
            nodeId: nodeId
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200":
              headers:
                Content-Length: "17"
                Content-Type: application/octet-stream
                Last-Modified: Fri, 17 Feb 2017 00:00:00 GMT
                ocp-batch-file-isdirectory: "false"
                ocp-creation-time: Fri, 17 Feb 2017 00:00:00 GMT
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/rdp":
    get:
      description: Before you can access a node by using the RDP file, you must create a user account on the node. This API can only be invoked on pools created with a cloud service configuration. For pools created with a virtual machine configuration, see the GetRemoteLoginSettings API.
      operationId: ComputeNode_GetRemoteDesktop
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node for which you want to get the Remote Desktop Protocol file.
          in: path
          name: nodeId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      produces:
        - application/json
        - application/octet-stream
      responses:
        "200":
          description: A response containing the RDP information.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            format: file
            type: object
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets the Remote Desktop Protocol file for the specified compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Get RDP file of the compute node:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161121t182739z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200":
              body: This is actually a byte stream. This request/response is being presented as a string for readability in the example
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/reboot":
    post:
      description: You can restart a node only if it is in an idle or running state.
      operationId: ComputeNode_Reboot
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node that you want to restart.
          in: path
          name: nodeId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: nodeRebootParameter
          required: false
          schema:
            $ref: "#/definitions/NodeRebootParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Restarts the specified compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node reboot:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161122t193202z
            nodeRebootParameter:
              nodeRebootOption: terminate
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "202": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/reimage":
    post:
      description: You can reinstall the operating system on a node only if it is in an idle or running state. This API can be invoked only on pools created with the cloud service configuration property.
      operationId: ComputeNode_Reimage
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node that you want to restart.
          in: path
          name: nodeId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: nodeReimageParameter
          required: false
          schema:
            $ref: "#/definitions/NodeReimageParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Reinstalls the operating system on the specified compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node reimage:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161122t193202z
            nodeReimageParameter:
              nodeReimageOption: terminate
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "202": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/remoteloginsettings":
    get:
      description: Before you can remotely login to a node using the remote login settings, you must create a user account on the node. This API can be invoked only on pools created with the virtual machine configuration property. For pools created with a cloud service configuration, see the GetRemoteDesktop API.
      operationId: ComputeNode_GetRemoteLoginSettings
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node for which to obtain the remote login settings.
          in: path
          name: nodeId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the login settings.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/ComputeNodeGetRemoteLoginSettingsResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Gets the settings required for remote login to a compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node get remote login settings:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161121t182739z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "200":
              body:
                remoteLoginIPAddress: 1.1.1.1
                remoteLoginPort: 50000
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs":
    post:
      description: This is for gathering Azure Batch service log files in an automated fashion from nodes if you are experiencing an error and wish to escalate to Azure support. The Azure Batch service log files should be shared with Azure support to aid in debugging issues with the Batch service.
      operationId: ComputeNode_UploadBatchServiceLogs
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the compute node from which you want to upload the Azure Batch service log files.
          in: path
          name: nodeId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: The Azure Batch service log files upload configuration.
          in: body
          name: uploadBatchServiceLogsConfiguration
          required: true
          schema:
            $ref: "#/definitions/UploadBatchServiceLogsConfiguration"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/UploadBatchServiceLogsResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Upload Azure Batch service log files from the specified compute node to Azure Blob Storage.
      tags:
        - ComputeNodes
      x-ms-examples:
        Upload BatchService Logs:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161121t182739z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
            uploadBatchServiceLogsConfiguration:
              containerUrl: https://somestorageacct.blob.core.windows.net/batch-compute-node-logs?se=2017-12-09T18%3A51%3A00Z&sp=w&sv=2016-05-31&sr=c&sig
              startTime: 2017-11-27T00:00:00Z
          responses:
            "200":
              body:
                numberOfFilesUploaded: 8
                virtualDirectoryName: poolId/tvm-1695681911-1-20161121t182739z/0795539d-82fe-48e3-bbff-2964905b6de0
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/users":
    post:
      description: You can add a user account to a node only when it is in the idle or running state.
      operationId: ComputeNode_AddUser
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the machine on which you want to create a user account.
          in: path
          name: nodeId
          required: true
          type: string
        - description: The user account to be created.
          in: body
          name: user
          required: true
          schema:
            $ref: "#/definitions/ComputeNodeUser"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "201":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Adds a user account to the specified compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node add user:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161121t182739z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
            user:
              expiryTime: 2017-08-01T00:00:00Z
              isAdmin: false
              name: userName
              password: Password
          responses:
            "201": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/nodes/{nodeId}/users/{userName}":
    delete:
      description: You can delete a user account to a node only when it is in the idle or running state.
      operationId: ComputeNode_DeleteUser
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the machine on which you want to delete a user account.
          in: path
          name: nodeId
          required: true
          type: string
        - description: The name of the user account to delete.
          in: path
          name: userName
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Deletes a user account from the specified compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node delete user:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161121t182739z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
            userName: userName
          responses:
            "200": {}
      x-ms-request-id: request-id
    put:
      description: This operation replaces of all the updatable properties of the account. For example, if the expiryTime element is not specified, the current value is replaced with the default value, not left unmodified. You can update a user account on a node only when it is in the idle or running state.
      operationId: ComputeNode_UpdateUser
      parameters:
        - description: The ID of the pool that contains the compute node.
          in: path
          name: poolId
          required: true
          type: string
        - description: The ID of the machine on which you want to update a user account.
          in: path
          name: nodeId
          required: true
          type: string
        - description: The name of the user account to update.
          in: path
          name: userName
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: nodeUpdateUserParameter
          required: true
          schema:
            $ref: "#/definitions/NodeUpdateUserParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Updates the password and expiration time of a user account on the specified compute node.
      tags:
        - ComputeNodes
      x-ms-examples:
        Node update user:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeId: tvm-1695681911_1-20161121t182739z
            nodeUpdateUserParameter:
              expiryTime: 2016-11-27T00:45:48.7320857Z
              password: "12345"
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
            userName: userName
          responses:
            "200": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/removenodes":
    post:
      description: This operation can only run when the allocation state of the pool is steady. When this operation runs, the allocation state changes from steady to resizing.
      operationId: Pool_RemoveNodes
      parameters:
        - description: The ID of the pool from which you want to remove nodes.
          in: path
          name: poolId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: nodeRemoveParameter
          required: true
          schema:
            $ref: "#/definitions/NodeRemoveParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Removes compute nodes from the specified pool.
      tags:
        - ComputeNodes
      x-ms-examples:
        Pool remove nodes:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            nodeRemoveParameter:
              nodeList:
                - tvm-1695681911_1-20161122t224741z
                - tvm-1695681911_2-20161122t224741z
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "202": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/resize":
    post:
      description: You can only resize a pool when its allocation state is steady. If the pool is already resizing, the request fails with status code 409. When you resize a pool, the pool's allocation state changes from steady to resizing. You cannot resize pools which are configured for automatic scaling. If you try to do this, the Batch service returns an error 409. If you resize a pool downwards, the Batch service chooses which nodes to remove. To remove specific nodes, use the pool remove nodes API instead.
      operationId: Pool_Resize
      parameters:
        - description: The ID of the pool to resize.
          in: path
          name: poolId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: poolResizeParameter
          required: true
          schema:
            $ref: "#/definitions/PoolResizeParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Changes the number of compute nodes that are assigned to a pool.
      tags:
        - Pools
      x-ms-examples:
        Pool resize:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: resizePool
            poolResizeParameter:
              targetDedicatedNodes: 1
              targetLowPriorityNodes: 0
          responses:
            "202": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/stopresize":
    post:
      description: "This does not restore the pool to its previous state before the resize operation: it only stops any further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this API can also be used to halt the initial sizing of the pool when it is created."
      operationId: Pool_StopResize
      parameters:
        - description: The ID of the pool whose resizing you want to stop.
          in: path
          name: poolId
          required: true
          type: string
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service. If you call this API on a pool which is not in the resizing state, the request fails with HTTP status code 409.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Stops an ongoing resize operation on the pool.
      tags:
        - Pools
      x-ms-examples:
        Pool stop resize:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
          responses:
            "202": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/updateproperties":
    post:
      description: This fully replaces all the updatable properties of the pool. For example, if the pool has a start task associated with it and if start task is not specified with this request, then the Batch service will remove the existing start task.
      operationId: Pool_UpdateProperties
      parameters:
        - description: The ID of the pool to update.
          in: path
          name: poolId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: poolUpdatePropertiesParameter
          required: true
          schema:
            $ref: "#/definitions/PoolUpdatePropertiesParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "204":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Updates the properties of the specified pool.
      tags:
        - Pools
      x-ms-examples:
        Pool update:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: poolId
            poolUpdatePropertiesParameter:
              applicationPackageReferences: []
              certificateReferences: []
              metadata: []
              startTask:
                commandLine: /bin/bash -c 'echo start task'
          responses:
            "204": {}
      x-ms-request-id: request-id
  "/pools/{poolId}/upgradeos":
    post:
      description: During an upgrade, the Batch service upgrades each compute node in the pool. When a compute node is chosen for upgrade, any tasks running on that node are removed from the node and returned to the queue to be rerun later (or on a different compute node). The node will be unavailable until the upgrade is complete. This operation results in temporarily reduced pool capacity as nodes are taken out of service to be upgraded. Although the Batch service tries to avoid upgrading all compute nodes at the same time, it does not guarantee to do this (particularly on small pools); therefore, the pool may be temporarily unavailable to run tasks. When this operation runs, the pool state changes to upgrading. When all compute nodes have finished upgrading, the pool state returns to active. While the upgrade is in progress, the pool's currentOSVersion reflects the OS version that nodes are upgrading from, and targetOSVersion reflects the OS version that nodes are upgrading to. Once the upgrade is complete, currentOSVersion is updated to reflect the OS version now running on all nodes. This operation can only be invoked on pools created with the cloudServiceConfiguration property.
      operationId: Pool_UpgradeOS
      parameters:
        - description: The ID of the pool to upgrade.
          in: path
          name: poolId
          required: true
          type: string
        - description: The parameters for the request.
          in: body
          name: poolUpgradeOSParameter
          required: true
          schema:
            $ref: "#/definitions/PoolUpgradeOSParameter"
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Modified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - description: A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.
          format: date-time-rfc1123
          in: header
          name: If-Unmodified-Since
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: The request to the Batch service was successful.
          headers:
            DataServiceId:
              description: The OData ID of the resource to which the request applied.
              type: string
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Upgrades the operating system of the specified pool.
      tags:
        - Pools
      x-ms-examples:
        Upgrade OS of the pool:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
            poolId: resizePool
            poolUpgradeOSParameter:
              targetOSVersion: "5"
          responses:
            "202": {}
      x-ms-request-id: request-id
  /poolusagemetrics:
    get:
      description: If you do not specify a $filter clause including a poolId, the response includes all pools that existed in the account in the time range of the returned aggregation intervals. If you do not specify a $filter clause including a startTime or endTime these filters default to the start and end times of the last aggregation interval currently available; that is, only the last aggregation interval is returned.
      operationId: Pool_ListUsageMetrics
      parameters:
        - description: The earliest time from which to include metrics. This must be at least two and a half hours before the current time. If not specified this defaults to the start time of the last aggregation interval currently available.
          format: date-time
          in: query
          name: starttime
          required: false
          type: string
          x-ms-client-name: startTime
          x-ms-parameter-grouping:
            postfix: Options
        - description: The latest time from which to include metrics. This must be at least two hours before the current time. If not specified this defaults to the end time of the last aggregation interval currently available.
          format: date-time
          in: query
          name: endtime
          required: false
          type: string
          x-ms-client-name: endTime
          x-ms-parameter-grouping:
            postfix: Options
        - description: An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics.
          in: query
          name: $filter
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - default: 1000
          description: The maximum number of items to return in the response. A maximum of 1000 results will be returned.
          format: int32
          in: query
          maximum: 1000
          minimum: 1
          name: maxresults
          required: false
          type: integer
          x-ms-client-name: maxResults
          x-ms-parameter-grouping:
            postfix: Options
        - default: 30
          description: The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.
          format: int32
          in: query
          name: timeout
          required: false
          type: integer
          x-ms-parameter-grouping:
            postfix: Options
        - description: The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.
          format: uuid
          in: header
          name: client-request-id
          required: false
          type: string
          x-ms-client-request-id: true
          x-ms-parameter-grouping:
            postfix: Options
        - default: false
          description: Whether the server should return the client-request-id in the response.
          in: header
          name: return-client-request-id
          required: false
          type: boolean
          x-ms-parameter-grouping:
            postfix: Options
        - description: The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.
          format: date-time-rfc1123
          in: header
          name: ocp-date
          required: false
          type: string
          x-ms-parameter-grouping:
            postfix: Options
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: A response containing the list of pool usage details.
          headers:
            ETag:
              description: The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.
              type: string
            Last-Modified:
              description: The time at which the resource was last modified.
              format: date-time-rfc1123
              type: string
            client-request-id:
              description: The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.
              format: uuid
              type: string
            request-id:
              description: A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch account against which the request was made, and the region that account resides in.
              format: uuid
              type: string
          schema:
            $ref: "#/definitions/PoolListUsageMetricsResult"
        default:
          description: The error from the Batch service.
          schema:
            $ref: "#/definitions/BatchError"
      summary: Lists the usage metrics, aggregated by pool across individual time intervals, for the specified account.
      tags:
        - Pools
      x-ms-examples:
        Pool list usage metrics:
          parameters:
            api-version: 2018-08-01.7.0
            client-request-id: 00000000-0000-0000-0000-000000000000
            ocp-data: Fri, 17 Feb 2017 00:00:00 GMT
          responses:
            "200":
              body:
                value:
                  - dataEgressGiB: 0.00622838735580444
                    dataIngressGiB: 0.0692861778661609
                    endTime: 2013-04-01T00:30:00Z
                    poolId: p1
                    startTime: 2013-04-01T00:00:00Z
                    totalCoreHours: 39.384838
                    vmSize: a1
                  - dataEgressGiB: 0.06222838735580444
                    dataIngressGiB: 0.6092861778661609
                    endTime: 2013-04-01T01:00:00Z
                    poolId: p2
                    startTime: 2013-04-01T00:30:00Z
                    totalCoreHours: 3039.384838
                    vmSize: a8
      x-ms-pageable:
        nextLinkName: odata.nextLink
      x-ms-request-id: request-id
definitions:
  AccountListNodeAgentSkusResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/NodeAgentSku"
        title: The list of supported node agent SKUs.
        type: array
    title: The result of listing the supported node agent SKUs.
  AffinityInformation:
    properties:
      affinityId:
        description: You can pass the affinityId of a compute node to indicate that this task needs to run on that compute node. Note that this is just a soft affinity. If the target node is busy or unavailable at the time the task is scheduled, then the task will be scheduled elsewhere.
        title: An opaque string representing the location of a compute node or a task that has run previously.
        type: string
    required:
      - affinityId
    title: A locality hint that can be used by the Batch service to select a compute node on which to start a task.
  ApplicationListResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/ApplicationSummary"
        title: The list of applications available in the account.
        type: array
    title: The result of listing the applications available in an account.
  ApplicationPackageReference:
    properties:
      applicationId:
        title: The ID of the application to deploy.
        type: string
      version:
        description: If this is omitted on a pool, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences and HTTP status code 409. If this is omitted on a task, and no default version is specified for this application, the task fails with a pre-processing error.
        title: The version of the application to deploy. If omitted, the default version is deployed.
        type: string
    required:
      - applicationId
    title: A reference to an application package to be deployed to compute nodes.
  ApplicationSummary:
    properties:
      displayName:
        title: The display name for the application.
        type: string
      id:
        title: A string that uniquely identifies the application within the account.
        type: string
      versions:
        items:
          type: string
        title: The list of available versions of the application.
        type: array
    required:
      - id
      - displayName
      - versions
    title: Contains information about an application in an Azure Batch account.
  AuthenticationTokenSettings:
    properties:
      access:
        description: The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the job which contains the task.
        items:
          enum:
            - job
          type: string
          x-ms-enum:
            modelAsString: false
            name: AccessScope
            values:
              - description: Grants access to perform all operations on the job containing the task.
                value: job
          x-nullable: false
        title: The Batch resources to which the token grants access.
        type: array
    title: The settings for an authentication token that the task can use to perform Batch service operations.
  AutoPoolSpecification:
    properties:
      autoPoolIdPrefix:
        description: The Batch service assigns each auto pool a unique identifier on creation. To distinguish between pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long.
        title: A prefix to be added to the unique identifier when a pool is automatically created.
        type: string
      keepAlive:
        description: If false, the Batch service deletes the pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the job or job schedule completes. If true, the Batch service does not delete the pool automatically. It is up to the user to delete auto pools created with this option.
        title: Whether to keep an auto pool alive after its lifetime expires.
        type: boolean
      pool:
        $ref: "#/definitions/PoolSpecification"
        title: The pool specification for the auto pool.
      poolLifetimeOption:
        enum:
          - jobschedule
          - job
        title: The minimum lifetime of created auto pools, and how multiple jobs on a schedule are assigned to pools.
        type: string
        x-ms-enum:
          modelAsString: false
          name: PoolLifetimeOption
          values:
            - description: The pool exists for the lifetime of the job schedule. The Batch Service creates the pool when it creates the first job on the schedule. You may apply this option only to job schedules, not to jobs.
              name: jobSchedule
              value: jobschedule
            - description: The pool exists for the lifetime of the job to which it is dedicated. The Batch service creates the pool when it creates the job. If the 'job' option is applied to a job schedule, the Batch service creates a new auto pool for every job created on the schedule.
              value: job
    required:
      - poolLifetimeOption
    title: Specifies characteristics for a temporary 'auto pool'. The Batch service will create this auto pool when the job is submitted.
  AutoScaleRun:
    properties:
      error:
        $ref: "#/definitions/AutoScaleRunError"
        title: Details of the error encountered evaluating the autoscale formula on the pool, if the evaluation was unsuccessful.
      results:
        description: Each variable value is returned in the form $variable=value, and variables are separated by semicolons.
        title: The final values of all variables used in the evaluation of the autoscale formula.
        type: string
      timestamp:
        format: date-time
        title: The time at which the autoscale formula was last evaluated.
        type: string
    required:
      - timestamp
    title: The results and errors from an execution of a pool autoscale formula.
  AutoScaleRunError:
    properties:
      code:
        title: An identifier for the autoscale error. Codes are invariant and are intended to be consumed programmatically.
        type: string
      message:
        title: A message describing the autoscale error, intended to be suitable for display in a user interface.
        type: string
      values:
        items:
          $ref: "#/definitions/NameValuePair"
        title: A list of additional error details related to the autoscale error.
        type: array
    title: An error that occurred when executing or evaluating a pool autoscale formula.
  AutoUserSpecification:
    properties:
      elevationLevel:
        $ref: "#/definitions/ElevationLevel"
        description: The default value is nonAdmin.
        title: The elevation level of the auto user.
      scope:
        description: The default value is task.
        enum:
          - task
          - pool
        title: The scope for the auto user
        type: string
        x-ms-enum:
          modelAsString: false
          name: AutoUserScope
          values:
            - description: Specifies that the service should create a new user for the task.
              value: task
            - description: Specifies that the task runs as the common auto user account which is created on every node in a pool.
              value: pool
    title: Specifies the parameters for the auto user that runs a task on the Batch service.
  BatchError:
    properties:
      code:
        title: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.
        type: string
      message:
        $ref: "#/definitions/ErrorMessage"
        title: A message describing the error, intended to be suitable for display in a user interface.
      values:
        items:
          $ref: "#/definitions/BatchErrorDetail"
        title: A collection of key-value pairs containing additional details about the error.
        type: array
    title: An error response received from the Azure Batch service.
  BatchErrorDetail:
    properties:
      key:
        title: An identifier specifying the meaning of the Value property.
        type: string
      value:
        title: The additional information included with the error response.
        type: string
    title: An item of additional information included in an Azure Batch error response.
  CachingType:
    description: "The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/."
    enum:
      - none
      - readonly
      - readwrite
    title: The type of caching to enable for the disk.
    type: string
    x-ms-enum:
      modelAsString: false
      name: CachingType
      values:
        - description: The caching mode for the disk is not enabled.
          value: none
        - description: The caching mode for the disk is read only.
          name: readOnly
          value: readonly
        - description: The caching mode for the disk is read and write.
          name: readWrite
          value: readwrite
  Certificate:
    description: A certificate that can be installed on compute nodes and can be used to authenticate operations on the machine.
    properties:
      deleteCertificateError:
        $ref: "#/definitions/DeleteCertificateError"
        description: This property is set only if the certificate is in the DeleteFailed state.
        title: The error that occurred on the last attempt to delete this certificate.
      previousState:
        $ref: "#/definitions/CertificateState"
        description: This property is not set if the certificate is in its initial active state.
        title: The previous state of the certificate.
      previousStateTransitionTime:
        description: This property is not set if the certificate is in its initial Active state.
        format: date-time
        title: The time at which the certificate entered its previous state.
        type: string
      publicData:
        title: The public part of the certificate as a base-64 encoded .cer file.
        type: string
      state:
        $ref: "#/definitions/CertificateState"
        title: The current state of the certificate.
      stateTransitionTime:
        format: date-time
        title: The time at which the certificate entered its current state.
        type: string
      thumbprint:
        title: The X.509 thumbprint of the certificate. This is a sequence of up to 40 hex digits.
        type: string
      thumbprintAlgorithm:
        title: The algorithm used to derive the thumbprint.
        type: string
      url:
        title: The URL of the certificate.
        type: string
  CertificateAddParameter:
    properties:
      certificateFormat:
        enum:
          - pfx
          - cer
        title: The format of the certificate data.
        type: string
        x-ms-enum:
          modelAsString: false
          name: CertificateFormat
          values:
            - description: The certificate is a PFX (PKCS#12) formatted certificate or certificate chain.
              value: pfx
            - description: The certificate is a base64-encoded X.509 certificate.
              value: cer
      data:
        title: The base64-encoded contents of the certificate. The maximum size is 10KB.
        type: string
      password:
        description: This is required if the certificate format is pfx. It should be omitted if the certificate format is cer.
        title: The password to access the certificate's private key.
        type: string
      thumbprint:
        title: The X.509 thumbprint of the certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed).
        type: string
      thumbprintAlgorithm:
        title: The algorithm used to derive the thumbprint. This must be sha1.
        type: string
    required:
      - thumbprint
      - thumbprintAlgorithm
      - data
    title: A certificate that can be installed on compute nodes and can be used to authenticate operations on the machine.
  CertificateListResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/Certificate"
        title: The list of certificates.
        type: array
    title: The result of listing the certificates in the account.
  CertificateReference:
    properties:
      storeLocation:
        description: The default value is currentuser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
        enum:
          - currentuser
          - localmachine
        title: The location of the certificate store on the compute node into which to install the certificate.
        type: string
        x-ms-enum:
          modelAsString: false
          name: CertificateStoreLocation
          values:
            - description: Certificates should be installed to the CurrentUser certificate store.
              name: currentUser
              value: currentuser
            - description: Certificates should be installed to the LocalMachine certificate store.
              name: localMachine
              value: localmachine
      storeName:
        description: "This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My."
        title: The name of the certificate store on the compute node into which to install the certificate.
        type: string
      thumbprint:
        title: The thumbprint of the certificate.
        type: string
      thumbprintAlgorithm:
        title: The algorithm with which the thumbprint is associated. This must be sha1.
        type: string
      visibility:
        description: You can specify more than one visibility in this collection. The default is all accounts.
        items:
          enum:
            - starttask
            - task
            - remoteuser
          type: string
          x-ms-enum:
            modelAsString: false
            name: CertificateVisibility
            values:
              - description: The certificate should be visible to the user account under which the start task is run.
                name: startTask
                value: starttask
              - description: The certificate should be visible to the user accounts under which job tasks are run.
                value: task
              - description: The certificate should be visible to the user accounts under which users remotely access the node.
                name: remoteUser
                value: remoteuser
          x-nullable: false
        title: Which user accounts on the compute node should have access to the private data of the certificate.
        type: array
    required:
      - thumbprint
      - thumbprintAlgorithm
    title: A reference to a certificate to be installed on compute nodes in a pool.
  CertificateState:
    enum:
      - active
      - deleting
      - deletefailed
    title: The state of the certificate.
    type: string
    x-ms-enum:
      modelAsString: false
      name: CertificateState
      values:
        - description: The certificate is available for use in pools.
          value: active
        - description: The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools.
          value: deleting
        - description: The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete.
          name: deleteFailed
          value: deletefailed
  CloudJob:
    properties:
      commonEnvironmentSettings:
        description: Individual tasks can override an environment setting specified here by specifying the same setting name with a different value.
        items:
          $ref: "#/definitions/EnvironmentSetting"
        title: The list of common environment variable settings. These environment variables are set for all tasks in the job (including the Job Manager, Job Preparation and Job Release tasks).
        type: array
      constraints:
        $ref: "#/definitions/JobConstraints"
        title: The execution constraints for the job.
      creationTime:
        format: date-time
        title: The creation time of the job.
        type: string
      displayName:
        title: The display name for the job.
        type: string
      eTag:
        description: This is an opaque string. You can use it to detect whether the job has changed between requests. In particular, you can be pass the ETag when updating a job to specify that your changes should take effect only if nobody else has modified the job in the meantime.
        title: The ETag of the job.
        type: string
      executionInfo:
        $ref: "#/definitions/JobExecutionInformation"
        title: The execution information for the job.
      id:
        description: The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case).
        title: A string that uniquely identifies the job within the account.
        type: string
      jobManagerTask:
        $ref: "#/definitions/JobManagerTask"
        title: Details of a Job Manager task to be launched when the job is started.
      jobPreparationTask:
        $ref: "#/definitions/JobPreparationTask"
        description: The Job Preparation task is a special task run on each node before any other task of the job.
        title: The Job Preparation task.
      jobReleaseTask:
        $ref: "#/definitions/JobReleaseTask"
        description: The Job Release task is a special task run at the end of the job on each node that has run any other task of the job.
        title: The Job Release task.
      lastModified:
        description: This is the last time at which the job level data, such as the job state or priority, changed. It does not factor in task-level changes such as adding new tasks or tasks changing state.
        format: date-time
        title: The last modified time of the job.
        type: string
      metadata:
        description: The Batch service does not assign any meaning to metadata; it is solely for the use of user code.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the job as metadata.
        type: array
      onAllTasksComplete:
        $ref: "#/definitions/OnAllTasksComplete"
        description: The default is noaction.
        title: The action the Batch service should take when all tasks in the job are in the completed state.
      onTaskFailure:
        $ref: "#/definitions/OnTaskFailure"
        description: A task is considered to have failed if has a failureInfo. A failureInfo is set if the task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the task, for example due to a resource file download error. The default is noaction.
        title: The action the Batch service should take when any task in the job fails.
      poolInfo:
        $ref: "#/definitions/PoolInformation"
        title: The pool settings associated with the job.
      previousState:
        $ref: "#/definitions/JobState"
        description: This property is not set if the job is in its initial Active state.
        title: The previous state of the job.
      previousStateTransitionTime:
        description: This property is not set if the job is in its initial Active state.
        format: date-time
        title: The time at which the job entered its previous state.
        type: string
      priority:
        description: Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.
        format: int32
        title: The priority of the job.
        type: integer
      state:
        $ref: "#/definitions/JobState"
        title: The current state of the job.
      stateTransitionTime:
        format: date-time
        title: The time at which the job entered its current state.
        type: string
      stats:
        $ref: "#/definitions/JobStatistics"
        title: Resource usage statistics for the entire lifetime of the job. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.
      url:
        title: The URL of the job.
        type: string
      usesTaskDependencies:
        title: Whether tasks in the job can define dependencies on each other. The default is false.
        type: boolean
    title: An Azure Batch job.
  CloudJobListPreparationAndReleaseTaskStatusResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/JobPreparationAndReleaseTaskExecutionInformation"
        title: A list of Job Preparation and Job Release task execution information.
        type: array
    title: The result of listing the status of the Job Preparation and Job Release tasks for a job.
  CloudJobListResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/CloudJob"
        title: The list of jobs.
        type: array
    title: The result of listing the jobs in an account.
  CloudJobSchedule:
    properties:
      creationTime:
        format: date-time
        title: The creation time of the job schedule.
        type: string
      displayName:
        title: The display name for the schedule.
        type: string
      eTag:
        description: This is an opaque string. You can use it to detect whether the job schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime.
        title: The ETag of the job schedule.
        type: string
      executionInfo:
        $ref: "#/definitions/JobScheduleExecutionInformation"
        title: Information about jobs that have been and will be run under this schedule.
      id:
        title: A string that uniquely identifies the schedule within the account.
        type: string
      jobSpecification:
        $ref: "#/definitions/JobSpecification"
        title: The details of the jobs to be created on this schedule.
      lastModified:
        description: This is the last time at which the schedule level data, such as the job specification or recurrence information, changed. It does not factor in job-level changes such as new jobs being created or jobs changing state.
        format: date-time
        title: The last modified time of the job schedule.
        type: string
      metadata:
        description: The Batch service does not assign any meaning to metadata; it is solely for the use of user code.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the schedule as metadata.
        type: array
      previousState:
        $ref: "#/definitions/JobScheduleState"
        description: This property is not present if the job schedule is in its initial active state.
        title: The previous state of the job schedule.
      previousStateTransitionTime:
        description: This property is not present if the job schedule is in its initial active state.
        format: date-time
        title: The time at which the job schedule entered its previous state.
        type: string
      schedule:
        $ref: "#/definitions/Schedule"
        title: The schedule according to which jobs will be created.
      state:
        $ref: "#/definitions/JobScheduleState"
        title: The current state of the job schedule.
      stateTransitionTime:
        format: date-time
        title: The time at which the job schedule entered the current state.
        type: string
      stats:
        $ref: "#/definitions/JobScheduleStatistics"
        title: The lifetime resource usage statistics for the job schedule. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.
      url:
        title: The URL of the job schedule.
        type: string
    title: A job schedule that allows recurring jobs by specifying when to run jobs and a specification used to create each job.
  CloudJobScheduleListResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/CloudJobSchedule"
        title: The list of job schedules.
        type: array
    title: The result of listing the job schedules in an account.
  CloudPool:
    properties:
      allocationState:
        enum:
          - steady
          - resizing
          - stopping
        title: Whether the pool is resizing.
        type: string
        x-ms-enum:
          modelAsString: false
          name: AllocationState
          values:
            - description: The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A pool enters this state when it is created and when no operations are being performed on the pool to change the number of nodes.
              value: steady
            - description: The pool is resizing; that is, compute nodes are being added to or removed from the pool.
              value: resizing
            - description: The pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed.
              value: stopping
      allocationStateTransitionTime:
        format: date-time
        title: The time at which the pool entered its current allocation state.
        type: string
      applicationLicenses:
        description: The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail.
        items:
          type: string
        title: The list of application licenses the Batch service will make available on each compute node in the pool.
        type: array
      applicationPackageReferences:
        items:
          $ref: "#/definitions/ApplicationPackageReference"
        title: The list of application packages to be installed on each compute node in the pool.
        type: array
      autoScaleEvaluationInterval:
        description: This property is set only if the pool automatically scales, i.e. enableAutoScale is true.
        format: duration
        title: The time interval at which to automatically adjust the pool size according to the autoscale formula.
        type: string
      autoScaleFormula:
        description: This property is set only if the pool automatically scales, i.e. enableAutoScale is true.
        title: A formula for the desired number of compute nodes in the pool.
        type: string
      autoScaleRun:
        $ref: "#/definitions/AutoScaleRun"
        description: This property is set only if the pool automatically scales, i.e. enableAutoScale is true.
        title: The results and errors from the last execution of the autoscale formula.
      certificateReferences:
        description: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
        items:
          $ref: "#/definitions/CertificateReference"
        title: The list of certificates to be installed on each compute node in the pool.
        type: array
      cloudServiceConfiguration:
        $ref: "#/definitions/CloudServiceConfiguration"
        description: This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'.
        title: The cloud service configuration for the pool.
      creationTime:
        format: date-time
        title: The creation time of the pool.
        type: string
      currentDedicatedNodes:
        format: int32
        title: The number of dedicated compute nodes currently in the pool.
        type: integer
      currentLowPriorityNodes:
        description: Low-priority compute nodes which have been preempted are included in this count.
        format: int32
        title: The number of low-priority compute nodes currently in the pool.
        type: integer
      displayName:
        description: The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
        title: The display name for the pool.
        type: string
      eTag:
        description: This is an opaque string. You can use it to detect whether the pool has changed between requests. In particular, you can be pass the ETag when updating a pool to specify that your changes should take effect only if nobody else has modified the pool in the meantime.
        title: The ETag of the pool.
        type: string
      enableAutoScale:
        description: If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the pool automatically resizes according to the formula. The default value is false.
        title: Whether the pool size should automatically adjust over time.
        type: boolean
      enableInterNodeCommunication:
        description: This imposes restrictions on which nodes can be assigned to the pool. Specifying this value can reduce the chance of the requested number of nodes to be allocated in the pool.
        title: Whether the pool permits direct communication between nodes.
        type: boolean
      id:
        description: The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case).
        title: A string that uniquely identifies the pool within the account.
        type: string
      lastModified:
        description: This is the last time at which the pool level data, such as the targetDedicatedNodes or enableAutoscale settings, changed. It does not factor in node-level changes such as a compute node changing state.
        format: date-time
        title: The last modified time of the pool.
        type: string
      maxTasksPerNode:
        format: int32
        title: The maximum number of tasks that can run concurrently on a single compute node in the pool.
        type: integer
      metadata:
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the pool as metadata.
        type: array
      networkConfiguration:
        $ref: "#/definitions/NetworkConfiguration"
        title: The network configuration for the pool.
      resizeErrors:
        description: This property is set only if one or more errors occurred during the last pool resize, and only when the pool allocationState is Steady.
        items:
          $ref: "#/definitions/ResizeError"
        title: A list of errors encountered while performing the last resize on the pool.
        type: array
      resizeTimeout:
        description: This is the timeout for the most recent resize operation. (The initial sizing when the pool is created counts as a resize.) The default value is 15 minutes.
        format: duration
        title: The timeout for allocation of compute nodes to the pool.
        type: string
      startTask:
        $ref: "#/definitions/StartTask"
        title: A task specified to run on each compute node as it joins the pool.
      state:
        enum:
          - active
          - deleting
          - upgrading
        title: The current state of the pool.
        type: string
        x-ms-enum:
          modelAsString: false
          name: PoolState
          values:
            - description: The pool is available to run tasks subject to the availability of compute nodes.
              value: active
            - description: The user has requested that the pool be deleted, but the delete operation has not yet completed.
              value: deleting
            - description: The user has requested that the operating system of the pool's nodes be upgraded, but the upgrade operation has not yet completed (that is, some nodes in the pool have not yet been upgraded). While upgrading, the pool may be able to run tasks (with reduced capacity) but this is not guaranteed.
              value: upgrading
      stateTransitionTime:
        format: date-time
        title: The time at which the pool entered its current state.
        type: string
      stats:
        $ref: "#/definitions/PoolStatistics"
        title: Utilization and resource usage statistics for the entire lifetime of the pool. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.
      targetDedicatedNodes:
        format: int32
        title: The desired number of dedicated compute nodes in the pool.
        type: integer
      targetLowPriorityNodes:
        format: int32
        title: The desired number of low-priority compute nodes in the pool.
        type: integer
      taskSchedulingPolicy:
        $ref: "#/definitions/TaskSchedulingPolicy"
        title: How tasks are distributed across compute nodes in a pool.
      url:
        title: The URL of the pool.
        type: string
      userAccounts:
        items:
          $ref: "#/definitions/UserAccount"
        title: The list of user accounts to be created on each node in the pool.
        type: array
      virtualMachineConfiguration:
        $ref: "#/definitions/VirtualMachineConfiguration"
        description: This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified.
        title: The virtual machine configuration for the pool.
      vmSize:
        description: For information about available sizes of virtual machines in pools, see Choose a VM size for compute nodes in an Azure Batch pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).
        title: The size of virtual machines in the pool. All virtual machines in a pool are the same size.
        type: string
    title: A pool in the Azure Batch service.
  CloudPoolListResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/CloudPool"
        title: The list of pools.
        type: array
    title: The result of listing the pools in an account.
  CloudServiceConfiguration:
    properties:
      currentOSVersion:
        description: This may differ from targetOSVersion if the pool state is Upgrading. In this case some virtual machines may be on the targetOSVersion and some may be on the currentOSVersion during the upgrade process. Once all virtual machines have upgraded, currentOSVersion is updated to be the same as targetOSVersion.
        readOnly: true
        title: The Azure Guest OS Version currently installed on the virtual machines in the pool.
        type: string
      osFamily:
        description: |-
          Possible values are:
          2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1.
          3 - OS Family 3, equivalent to Windows Server 2012.
          4 - OS Family 4, equivalent to Windows Server 2012 R2.
          5 - OS Family 5, equivalent to Windows Server 2016. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases).
        title: The Azure Guest OS family to be installed on the virtual machines in the pool.
        type: string
      targetOSVersion:
        description: The default value is * which specifies the latest operating system version for the specified OS family.
        title: The Azure Guest OS version to be installed on the virtual machines in the pool.
        type: string
    required:
      - osFamily
    title: The configuration for nodes in a pool based on the Azure Cloud Services platform.
  CloudTask:
    description: Batch will retry tasks when a recovery operation is triggered on a compute node. Examples of recovery operations include (but are not limited to) when an unhealthy compute node is rebooted or a compute node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all tasks should be idempotent. This means tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running tasks is to use some form of checkpointing.
    properties:
      affinityInfo:
        $ref: "#/definitions/AffinityInformation"
        title: A locality hint that can be used by the Batch service to select a compute node on which to start the new task.
      applicationPackageReferences:
        description: Application packages are downloaded and deployed to a shared directory, not the task working directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails.
        items:
          $ref: "#/definitions/ApplicationPackageReference"
        title: A list of application packages that the Batch service will deploy to the compute node before running the command line.
        type: array
      authenticationTokenSettings:
        $ref: "#/definitions/AuthenticationTokenSettings"
        description: If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job.
        title: The settings for an authentication token that the task can use to perform Batch service operations.
      commandLine:
        description: For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
        title: The command line of the task.
        type: string
      constraints:
        $ref: "#/definitions/TaskConstraints"
        title: The execution constraints that apply to this task.
      containerSettings:
        $ref: "#/definitions/TaskContainerSettings"
        description: If the pool that will run this task has containerConfiguration set, this must be set as well. If the pool that will run this task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
        title: The settings for the container under which the task runs.
      creationTime:
        format: date-time
        title: The creation time of the task.
        type: string
      dependsOn:
        $ref: "#/definitions/TaskDependencies"
        description: This task will not be scheduled until all tasks that it depends on have completed successfully. If any of those tasks fail and exhaust their retry counts, this task will never be scheduled.
        title: The tasks that this task depends on.
      displayName:
        description: The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
        title: A display name for the task.
        type: string
      eTag:
        description: This is an opaque string. You can use it to detect whether the task has changed between requests. In particular, you can be pass the ETag when updating a task to specify that your changes should take effect only if nobody else has modified the task in the meantime.
        title: The ETag of the task.
        type: string
      environmentSettings:
        items:
          $ref: "#/definitions/EnvironmentSetting"
        title: A list of environment variable settings for the task.
        type: array
      executionInfo:
        $ref: "#/definitions/TaskExecutionInformation"
        title: Information about the execution of the task.
      exitConditions:
        $ref: "#/definitions/ExitConditions"
        description: How the Batch service should respond when the task completes.
      id:
        description: The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters.
        title: A string that uniquely identifies the task within the job.
        type: string
      lastModified:
        format: date-time
        title: The last modified time of the task.
        type: string
      multiInstanceSettings:
        $ref: "#/definitions/MultiInstanceSettings"
        title: An object that indicates that the task is a multi-instance task, and contains information about how to run the multi-instance task.
      nodeInfo:
        $ref: "#/definitions/ComputeNodeInformation"
        title: Information about the compute node on which the task ran.
      outputFiles:
        description: For multi-instance tasks, the files will only be uploaded from the compute node on which the primary task is executed.
        items:
          $ref: "#/definitions/OutputFile"
        title: A list of files that the Batch service will upload from the compute node after running the command line.
        type: array
      previousState:
        $ref: "#/definitions/TaskState"
        description: This property is not set if the task is in its initial Active state.
        title: The previous state of the task.
      previousStateTransitionTime:
        description: This property is not set if the task is in its initial Active state.
        format: date-time
        title: The time at which the task entered its previous state.
        type: string
      resourceFiles:
        description: For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. There is a maximum size for the list of resource files.  When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.
        items:
          $ref: "#/definitions/ResourceFile"
        title: A list of files that the Batch service will download to the compute node before running the command line.
        type: array
      state:
        $ref: "#/definitions/TaskState"
        title: The current state of the task.
      stateTransitionTime:
        format: date-time
        title: The time at which the task entered its current state.
        type: string
      stats:
        $ref: "#/definitions/TaskStatistics"
        title: Resource usage statistics for the task.
      url:
        title: The URL of the task.
        type: string
      userIdentity:
        $ref: "#/definitions/UserIdentity"
        description: If omitted, the task runs as a non-administrative user unique to the task.
        title: The user identity under which the task runs.
    title: An Azure Batch task.
  CloudTaskListResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/CloudTask"
        title: The list of tasks.
        type: array
    title: The result of listing the tasks in a job.
  CloudTaskListSubtasksResult:
    properties:
      value:
        items:
          $ref: "#/definitions/SubtaskInformation"
        title: The list of subtasks.
        type: array
    title: The result of listing the subtasks of a task.
  ComputeNode:
    properties:
      affinityId:
        description: Note that this is just a soft affinity. If the target node is busy or unavailable at the time the task is scheduled, then the task will be scheduled elsewhere.
        title: An identifier which can be passed when adding a task to request that the task be scheduled on this node.
        type: string
      allocationTime:
        format: date-time
        title: The time at which this compute node was allocated to the pool.
        type: string
      certificateReferences:
        description: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
        items:
          $ref: "#/definitions/CertificateReference"
        title: The list of certificates installed on the compute node.
        type: array
      endpointConfiguration:
        $ref: "#/definitions/ComputeNodeEndpointConfiguration"
        title: The endpoint configuration for the compute node.
      errors:
        items:
          $ref: "#/definitions/ComputeNodeError"
        title: The list of errors that are currently being encountered by the compute node.
        type: array
      id:
        description: Every node that is added to a pool is assigned a unique ID. Whenever a node is removed from a pool, all of its local files are deleted, and the ID is reclaimed and could be reused for new nodes.
        title: The ID of the compute node.
        type: string
      ipAddress:
        description: Every node that is added to a pool is assigned a unique IP address. Whenever a node is removed from a pool, all of its local files are deleted, and the IP address is reclaimed and could be reused for new nodes.
        title: The IP address that other compute nodes can use to communicate with this compute node.
        type: string
      isDedicated:
        title: Whether this compute node is a dedicated node. If false, the node is a low-priority node.
        type: boolean
      lastBootTime:
        description: This property may not be present if the node state is unusable.
        format: date-time
        title: The time at which the compute node was started.
        type: string
      nodeAgentInfo:
        $ref: "#/definitions/NodeAgentInformation"
        title: Information about the node agent version and the time the node upgraded to a new version.
      recentTasks:
        description: This property is present only if at least one task has run on this node since it was assigned to the pool.
        items:
          $ref: "#/definitions/TaskInformation"
        title: A list of tasks whose state has recently changed.
        type: array
      runningTasksCount:
        format: int32
        title: The total number of currently running job tasks on the compute node. This includes Job Manager tasks and normal tasks, but not Job Preparation, Job Release or Start tasks.
        type: integer
      schedulingState:
        enum:
          - enabled
          - disabled
        title: Whether the compute node is available for task scheduling.
        type: string
        x-ms-enum:
          modelAsString: false
          name: SchedulingState
          values:
            - description: Tasks can be scheduled on the node.
              value: enabled
            - description: No new tasks will be scheduled on the node. Tasks already running on the node may still run to completion. All nodes start with scheduling enabled.
              value: disabled
      startTask:
        $ref: "#/definitions/StartTask"
        title: The task specified to run on the compute node as it joins the pool.
      startTaskInfo:
        $ref: "#/definitions/StartTaskInformation"
        title: Runtime information about the execution of the start task on the compute node.
      state:
        description: The low-priority node has been preempted. Tasks which were running on the node when it was preempted will be rescheduled when another node becomes available.
        enum:
          - idle
          - rebooting
          - reimaging
          - running
          - unusable
          - creating
          - starting
          - waitingforstarttask
          - starttaskfailed
          - unknown
          - leavingpool
          - offline
          - preempted
        title: The current state of the compute node.
        type: string
        x-ms-enum:
          modelAsString: false
          name: ComputeNodeState
          values:
            - description: The node is not currently running a task.
              value: idle
            - description: The node is rebooting.
              value: rebooting
            - description: The node is reimaging.
              value: reimaging
            - description: The node is running one or more tasks (other than a start task).
              value: running
            - description: The node cannot be used for task execution due to errors.
              value: unusable
            - description: The Batch service has obtained the underlying virtual machine from Azure Compute, but it has not yet started to join the pool.
              value: creating
            - description: The Batch service is starting on the underlying virtual machine.
              value: starting
            - description: The start task has started running on the compute node, but waitForSuccess is set and the start task has not yet completed.
              name: waitingForStartTask
              value: waitingforstarttask
            - description: The start task has failed on the compute node (and exhausted all retries), and waitForSuccess is set. The node is not usable for running tasks.
              name: startTaskFailed
              value: starttaskfailed
            - description: The Batch service has lost contact with the node, and does not know its true state.
              value: unknown
            - description: The node is leaving the pool, either because the user explicitly removed it or because the pool is resizing or autoscaling down.
              name: leavingPool
              value: leavingpool
            - description: The node is not currently running a task, and scheduling of new tasks to the node is disabled.
              value: offline
            - description: The low-priority node has been preempted. Tasks which were running on the node when it was preempted will be rescheduled when another node becomes available.
              value: preempted
      stateTransitionTime:
        format: date-time
        title: The time at which the compute node entered its current state.
        type: string
      totalTasksRun:
        format: int32
        title: The total number of job tasks completed on the compute node. This includes Job Manager tasks and normal tasks, but not Job Preparation, Job Release or Start tasks.
        type: integer
      totalTasksSucceeded:
        format: int32
        title: The total number of job tasks which completed successfully (with exitCode 0) on the compute node. This includes Job Manager tasks and normal tasks, but not Job Preparation, Job Release or Start tasks.
        type: integer
      url:
        title: The URL of the compute node.
        type: string
      vmSize:
        description: For information about available sizes of virtual machines in pools, see Choose a VM size for compute nodes in an Azure Batch pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).
        title: The size of the virtual machine hosting the compute node.
        type: string
    title: A compute node in the Batch service.
  ComputeNodeDeallocationOption:
    description: The default value is requeue.
    enum:
      - requeue
      - terminate
      - taskcompletion
      - retaineddata
    title: Determines what to do with a node and its running task(s) after it has been selected for deallocation.
    type: string
    x-ms-enum:
      modelAsString: false
      name: ComputeNodeDeallocationOption
      values:
        - description: Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Remove nodes as soon as tasks have been terminated.
          value: requeue
        - description: Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove nodes as soon as tasks have been terminated.
          value: terminate
        - description: Allow currently running tasks to complete. Schedule no new tasks while waiting. Remove nodes when all tasks have completed.
          name: taskCompletion
          value: taskcompletion
        - description: Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Remove nodes when all task retention periods have expired.
          name: retainedData
          value: retaineddata
  ComputeNodeEndpointConfiguration:
    properties:
      inboundEndpoints:
        items:
          $ref: "#/definitions/InboundEndpoint"
        title: The list of inbound endpoints that are accessible on the compute node.
        type: array
    required:
      - inboundEndpoints
    title: The endpoint configuration for the compute node.
  ComputeNodeError:
    properties:
      code:
        title: An identifier for the compute node error. Codes are invariant and are intended to be consumed programmatically.
        type: string
      errorDetails:
        items:
          $ref: "#/definitions/NameValuePair"
        title: The list of additional error details related to the compute node error.
        type: array
      message:
        title: A message describing the compute node error, intended to be suitable for display in a user interface.
        type: string
    title: An error encountered by a compute node.
  ComputeNodeGetRemoteLoginSettingsResult:
    properties:
      remoteLoginIPAddress:
        title: The IP address used for remote login to the compute node.
        type: string
      remoteLoginPort:
        format: int32
        title: The port used for remote login to the compute node.
        type: integer
    required:
      - remoteLoginIPAddress
      - remoteLoginPort
    title: The remote login settings for a compute node.
  ComputeNodeInformation:
    properties:
      affinityId:
        title: An identifier for the compute node on which the task ran, which can be passed when adding a task to request that the task be scheduled on this compute node.
        type: string
      nodeId:
        title: The ID of the node on which the task ran.
        type: string
      nodeUrl:
        title: "The URL of the node on which the task ran. "
        type: string
      poolId:
        title: The ID of the pool on which the task ran.
        type: string
      taskRootDirectory:
        title: The root directory of the task on the compute node.
        type: string
      taskRootDirectoryUrl:
        title: The URL to the root directory of the task on the compute node.
        type: string
    title: Information about the compute node on which a task ran.
  ComputeNodeListResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/ComputeNode"
        title: The list of compute nodes.
        type: array
    title: The result of listing the compute nodes in a pool.
  ComputeNodeUser:
    properties:
      expiryTime:
        description: If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day.
        format: date-time
        title: The time at which the account should expire.
        type: string
      isAdmin:
        description: The default value is false.
        title: Whether the account should be an administrator on the compute node.
        type: boolean
      name:
        title: The user name of the account.
        type: string
      password:
        description: The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property.
        title: The password of the account.
        type: string
      sshPublicKey:
        description: The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        title: The SSH public key that can be used for remote login to the compute node.
        type: string
    required:
      - name
    title: A user account for RDP or SSH access on a compute node.
  ContainerConfiguration:
    properties:
      containerImageNames:
        description: This is the full image reference, as would be specified to "docker pull". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry.
        items:
          type: string
        title: The collection of container image names.
        type: array
      containerRegistries:
        description: If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here.
        items:
          $ref: "#/definitions/ContainerRegistry"
        title: Additional private registries from which containers can be pulled.
        type: array
      type:
        enum:
          - dockerCompatible
        title: The container technology to be used.
        type: string
        x-ms-enum:
          modelAsString: false
          name: ContainerType
          values:
            - description: A Docker compatible container technology will be used to launch the containers.
              value: dockerCompatible
    required:
      - type
    title: The configuration for container-enabled pools.
  ContainerRegistry:
    properties:
      password:
        title: The password to log into the registry server.
        type: string
      registryServer:
        description: If omitted, the default is "docker.io".
        title: The registry URL.
        type: string
      username:
        title: The user name to log into the registry server.
        type: string
        x-ms-client-name: userName
    required:
      - username
      - password
    title: A private container registry.
  DataDisk:
    properties:
      caching:
        $ref: "#/definitions/CachingType"
        description: "The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/."
        title: The type of caching to be enabled for the data disks.
      diskSizeGB:
        format: int32
        title: The initial disk size in gigabytes.
        type: integer
      lun:
        description: The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun.
        format: int32
        title: The logical unit number.
        type: integer
      storageAccountType:
        $ref: "#/definitions/StorageAccountType"
        description: If omitted, the default is "standard_lrs".
        title: The storage account type to be used for the data disk.
    required:
      - lun
      - diskSizeGB
    title: Settings which will be used by the data disks associated to compute nodes in the pool.
  DeleteCertificateError:
    properties:
      code:
        title: An identifier for the certificate deletion error. Codes are invariant and are intended to be consumed programmatically.
        type: string
      message:
        title: A message describing the certificate deletion error, intended to be suitable for display in a user interface.
        type: string
      values:
        description: This list includes details such as the active pools and nodes referencing this certificate. However, if a large number of resources reference the certificate, the list contains only about the first hundred.
        items:
          $ref: "#/definitions/NameValuePair"
        title: A list of additional error details related to the certificate deletion error.
        type: array
    title: An error encountered by the Batch service when deleting a certificate.
  ElevationLevel:
    enum:
      - nonadmin
      - admin
    title: The elevation level of the user.
    type: string
    x-ms-enum:
      modelAsString: false
      name: ElevationLevel
      values:
        - description: The user is a standard user without elevated access.
          name: nonAdmin
          value: nonadmin
        - description: The user is a user with elevated access and operates with full Administrator permissions.
          value: admin
  EnvironmentSetting:
    properties:
      name:
        title: The name of the environment variable.
        type: string
      value:
        title: The value of the environment variable.
        type: string
    required:
      - name
    title: An environment variable to be set on a task process.
  ErrorCategory:
    enum:
      - usererror
      - servererror
    title: The category of the error.
    type: string
    x-ms-enum:
      modelAsString: false
      name: ErrorCategory
      values:
        - description: The error is due to a user issue, such as misconfiguration.
          name: userError
          value: usererror
        - description: The error is due to an internal server issue.
          name: serverError
          value: servererror
  ErrorMessage:
    properties:
      lang:
        title: The language code of the error message
        type: string
      value:
        title: The text of the message.
        type: string
    title: An error message received in an Azure Batch error response.
  ExitCodeMapping:
    properties:
      code:
        format: int32
        title: A process exit code.
        type: integer
      exitOptions:
        $ref: "#/definitions/ExitOptions"
        title: How the Batch service should respond if the task exits with this exit code.
    required:
      - code
      - exitOptions
    title: How the Batch service should respond if a task exits with a particular exit code.
  ExitCodeRangeMapping:
    properties:
      end:
        format: int32
        title: The last exit code in the range.
        type: integer
      exitOptions:
        $ref: "#/definitions/ExitOptions"
        title: How the Batch service should respond if the task exits with an exit code in the range start to end (inclusive).
      start:
        format: int32
        title: The first exit code in the range.
        type: integer
    required:
      - start
      - end
      - exitOptions
    title: A range of exit codes and how the Batch service should respond to exit codes within that range.
  ExitConditions:
    properties:
      default:
        $ref: "#/definitions/ExitOptions"
        description: This value is used if the task exits with any nonzero exit code not listed in the exitCodes or exitCodeRanges collection, with a pre-processing error if the preProcessingError property is not present, or with a file upload error if the fileUploadError property is not present. If you want non-default behavior on exit code 0, you must list it explicitly using the exitCodes or exitCodeRanges collection.
        title: How the Batch service should respond if the task fails with an exit condition not covered by any of the other properties.
      exitCodeRanges:
        items:
          $ref: "#/definitions/ExitCodeRangeMapping"
        title: A list of task exit code ranges and how the Batch service should respond to them.
        type: array
      exitCodes:
        items:
          $ref: "#/definitions/ExitCodeMapping"
        title: A list of individual task exit codes and how the Batch service should respond to them.
        type: array
      fileUploadError:
        $ref: "#/definitions/ExitOptions"
        description: If the task exited with an exit code that was specified via exitCodes or exitCodeRanges, and then encountered a file upload error, then the action specified by the exit code takes precedence.
        title: How the Batch service should respond if a file upload error occurs.
      preProcessingError:
        $ref: "#/definitions/ExitOptions"
        title: How the Batch service should respond if the task fails to start due to an error.
    title: Specifies how the Batch service should respond when the task completes.
  ExitOptions:
    properties:
      dependencyAction:
        description: The default is 'satisfy' for exit code 0, and 'block' for all other exit conditions. If the job's usesTaskDependencies property is set to false, then specifying the dependencyAction property returns an error and the add task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400  (Bad Request).
        enum:
          - satisfy
          - block
        title: An action that the Batch service performs on tasks that depend on this task.
        type: string
        x-ms-enum:
          modelAsString: false
          name: DependencyAction
          values:
            - description: Satisfy the task's dependencies.
              value: satisfy
            - description: Block the task's dependencies.
              value: block
      jobAction:
        description: The default is none for exit code 0 and terminate for all other exit conditions. If the job's onTaskFailed property is noAction, then specifying this property returns an error and the add task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        enum:
          - none
          - disable
          - terminate
        title: An action to take on the job containing the task, if the task completes with the given exit condition and the job's onTaskFailed property is 'performExitOptionsJobAction'.
        type: string
        x-ms-enum:
          modelAsString: false
          name: JobAction
          values:
            - description: Take no action.
              value: none
            - description: Disable the job. This is equivalent to calling the disable job API, with a disableTasks value of requeue.
              value: disable
            - description: Terminate the job. The terminateReason in the job's executionInfo is set to "TaskFailed".
              value: terminate
    title: Specifies how the Batch service responds to a particular exit condition.
  FileProperties:
    properties:
      contentLength:
        format: int64
        title: The length of the file.
        type: integer
      contentType:
        title: The content type of the file.
        type: string
      creationTime:
        description: The creation time is not returned for files on Linux compute nodes.
        format: date-time
        title: The file creation time.
        type: string
      fileMode:
        description: The file mode is returned only for files on Linux compute nodes.
        title: The file mode attribute in octal format.
        type: string
      lastModified:
        format: date-time
        title: The time at which the file was last modified.
        type: string
    required:
      - lastModified
      - contentLength
    title: The properties of a file on a compute node.
  ImageReference:
    properties:
      offer:
        description: For example, UbuntuServer or WindowsServer.
        title: The offer type of the Azure Virtual Machines Marketplace image.
        type: string
      publisher:
        description: For example, Canonical or MicrosoftWindowsServer.
        title: The publisher of the Azure Virtual Machines Marketplace image.
        type: string
      sku:
        description: For example, 14.04.0-LTS or 2012-R2-Datacenter.
        title: The SKU of the Azure Virtual Machines Marketplace image.
        type: string
      version:
        description: A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
        title: The version of the Azure Virtual Machines Marketplace image.
        type: string
      virtualMachineImageId:
        description: This property is mutually exclusive with other ImageReference properties. The virtual machine image must be in the same region and subscription as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.
        title: The ARM resource identifier of the virtual machine image. Computes nodes of the pool will be created using this custom image. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}
        type: string
    title: A reference to an Azure Virtual Machines Marketplace image or a custom Azure Virtual Machine image. To get the list of all Azure Marketplace image references verified by Azure Batch, see the 'List node agent SKUs' operation.
  InboundEndpoint:
    properties:
      backendPort:
        format: int32
        title: The backend port number of the endpoint.
        type: integer
      frontendPort:
        format: int32
        title: The public port number of the endpoint.
        type: integer
      name:
        title: The name of the endpoint.
        type: string
      protocol:
        $ref: "#/definitions/InboundEndpointProtocol"
        title: The protocol of the endpoint.
      publicFQDN:
        title: The public fully qualified domain name for the compute node.
        type: string
      publicIPAddress:
        title: The public IP address of the compute node.
        type: string
    required:
      - name
      - protocol
      - publicIPAddress
      - publicFQDN
      - frontendPort
      - backendPort
    title: An inbound endpoint on a compute node.
  InboundEndpointProtocol:
    enum:
      - tcp
      - udp
    title: The protocol of the endpoint.
    type: string
    x-ms-enum:
      modelAsString: false
      name: InboundEndpointProtocol
      values:
        - description: Use TCP for the endpoint.
          name: tcp
          value: tcp
        - description: Use UDP for the endpoint.
          name: udp
          value: udp
  InboundNATPool:
    properties:
      backendPort:
        description: This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400.
        format: int32
        title: The port number on the compute node.
        type: integer
      frontendPortRangeEnd:
        description: Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
        format: int32
        title: The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.
        type: integer
      frontendPortRangeStart:
        description: Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
        format: int32
        title: The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.
        type: integer
      name:
        description: The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters.  If any invalid values are provided the request fails with HTTP status code 400.
        title: The name of the endpoint.
        type: string
      networkSecurityGroupRules:
        description: The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.
        items:
          $ref: "#/definitions/NetworkSecurityGroupRule"
        title: A list of network security group rules that will be applied to the endpoint.
        type: array
      protocol:
        $ref: "#/definitions/InboundEndpointProtocol"
        title: The protocol of the endpoint.
    required:
      - name
      - protocol
      - backendPort
      - frontendPortRangeStart
      - frontendPortRangeEnd
    title: A inbound NAT pool that can be used to address specific ports on compute nodes in a Batch pool externally.
  JobAddParameter:
    properties:
      commonEnvironmentSettings:
        description: Individual tasks can override an environment setting specified here by specifying the same setting name with a different value.
        items:
          $ref: "#/definitions/EnvironmentSetting"
        title: The list of common environment variable settings. These environment variables are set for all tasks in the job (including the Job Manager, Job Preparation and Job Release tasks).
        type: array
      constraints:
        $ref: "#/definitions/JobConstraints"
        description: The execution constraints for the job.
      displayName:
        description: The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
        title: The display name for the job.
        type: string
      id:
        description: The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case).
        title: A string that uniquely identifies the job within the account.
        type: string
      jobManagerTask:
        $ref: "#/definitions/JobManagerTask"
        description: If the job does not specify a Job Manager task, the user must explicitly add tasks to the job. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job. The Job Manager task's typical purpose is to control and/or monitor job execution, for example by deciding what additional tasks to run, determining when the work is complete, etc. (However, a Job Manager task is not restricted to these activities - it is a fully-fledged task in the system and perform whatever actions are required for the job.) For example, a Job Manager task might download a file specified as a parameter, analyze the contents of that file and submit additional tasks based on those contents.
        title: Details of a Job Manager task to be launched when the job is started.
      jobPreparationTask:
        $ref: "#/definitions/JobPreparationTask"
        description: If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node.
        title: The Job Preparation task.
      jobReleaseTask:
        $ref: "#/definitions/JobReleaseTask"
        description: A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task. The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation.
        title: The Job Release task.
      metadata:
        description: The Batch service does not assign any meaning to metadata; it is solely for the use of user code.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the job as metadata.
        type: array
      onAllTasksComplete:
        $ref: "#/definitions/OnAllTasksComplete"
        description: Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the job properties to set onAllTasksComplete to terminatejob once you have finished adding tasks. The default is noaction.
        title: The action the Batch service should take when all tasks in the job are in the completed state.
      onTaskFailure:
        $ref: "#/definitions/OnTaskFailure"
        description: A task is considered to have failed if has a failureInfo. A failureInfo is set if the task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the task, for example due to a resource file download error. The default is noaction.
        title: The action the Batch service should take when any task in the job fails.
      poolInfo:
        $ref: "#/definitions/PoolInformation"
        title: The pool on which the Batch service runs the job's tasks.
      priority:
        description: Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.
        format: int32
        title: The priority of the job.
        type: integer
      usesTaskDependencies:
        title: Whether tasks in the job can define dependencies on each other. The default is false.
        type: boolean
    required:
      - id
      - poolInfo
    title: An Azure Batch job to add.
  JobConstraints:
    properties:
      maxTaskRetryCount:
        description: Note that this value specifically controls the number of retries. The Batch service will try each task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry tasks. If the maximum retry count is -1, the Batch service retries tasks without limit. The default value is 0 (no retries).
        format: int32
        title: The maximum number of times each task may be retried. The Batch service retries a task if its exit code is nonzero.
        type: integer
      maxWallClockTime:
        description: If the job does not complete within the time limit, the Batch service terminates it and any tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the job may run.
        format: duration
        title: The maximum elapsed time that the job may run, measured from the time the job is created.
        type: string
    title: The execution constraints for a job.
  JobDisableParameter:
    properties:
      disableTasks:
        enum:
          - requeue
          - terminate
          - wait
        title: What to do with active tasks associated with the job.
        type: string
        x-ms-enum:
          modelAsString: false
          name: DisableJobOption
          values:
            - description: Terminate running tasks and requeue them. The tasks will run again when the job is enabled.
              value: requeue
            - description: Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again.
              value: terminate
            - description: Allow currently running tasks to complete.
              value: wait
    required:
      - disableTasks
    title: Options when disabling a job.
  JobExecutionInformation:
    properties:
      endTime:
        description: This property is set only if the job is in the completed state.
        format: date-time
        title: The completion time of the job.
        type: string
      poolId:
        description: This element contains the actual pool where the job is assigned. When you get job details from the service, they also contain a poolInfo element, which contains the pool configuration data from when the job was added or updated. That poolInfo element may also contain a poolId element. If it does, the two IDs are the same. If it does not, it means the job ran on an auto pool, and this property contains the ID of that auto pool.
        title: The ID of the pool to which this job is assigned.
        type: string
      schedulingError:
        $ref: "#/definitions/JobSchedulingError"
        description: This property is not set if there was no error starting the job.
        title: Details of any error encountered by the service in starting the job.
      startTime:
        description: This is the time at which the job was created.
        format: date-time
        title: The start time of the job.
        type: string
      terminateReason:
        description: "This property is set only if the job is in the completed state. If the Batch service terminates the job, it sets the reason as follows: JMComplete - the Job Manager task completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry - the job reached its maxWallClockTime constraint. TerminateJobSchedule - the job ran as part of a schedule, and the schedule terminated. AllTasksComplete - the job's onAllTasksComplete attribute is set to terminatejob, and all tasks in the job are complete. TaskFailed - the job's onTaskFailure attribute is set to performExitOptionsJobAction, and a task in the job failed with an exit condition that specified a jobAction of terminatejob. Any other string is a user-defined reason specified in a call to the 'Terminate a job' operation."
        title: A string describing the reason the job ended.
        type: string
    required:
      - startTime
    title: Contains information about the execution of a job in the Azure Batch service.
  JobManagerTask:
    description: The Job Manager task is automatically started when the job is created. The Batch service tries to schedule the Job Manager task before any other tasks in the job. When shrinking a pool, the Batch service tries to preserve compute nodes where Job Manager tasks are running for as long as possible (that is, nodes running 'normal' tasks are removed before nodes running Job Manager tasks). When a Job Manager task fails and needs to be restarted, the system tries to schedule it at the highest priority. If there are no idle nodes available, the system may terminate one of the running tasks in the pool and return it to the queue in order to make room for the Job Manager task to restart. Note that a Job Manager task in one job does not have priority over tasks in other jobs. Across jobs, only job level priorities are observed. For example, if a Job Manager in a priority 0 job needs to be restarted, it will not displace tasks of a priority 1 job. Batch will retry tasks when a recovery operation is triggered on a compute node. Examples of recovery operations include (but are not limited to) when an unhealthy compute node is rebooted or a compute node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all tasks should be idempotent. This means tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running tasks is to use some form of checkpointing.
    properties:
      allowLowPriorityNode:
        description: The default value is true.
        title: Whether the Job Manager task may run on a low-priority compute node.
        type: boolean
      applicationPackageReferences:
        description: Application packages are downloaded and deployed to a shared directory, not the task working directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails.
        items:
          $ref: "#/definitions/ApplicationPackageReference"
        title: A list of application packages that the Batch service will deploy to the compute node before running the command line.
        type: array
      authenticationTokenSettings:
        $ref: "#/definitions/AuthenticationTokenSettings"
        description: If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job.
        title: The settings for an authentication token that the task can use to perform Batch service operations.
      commandLine:
        description: The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
        title: The command line of the Job Manager task.
        type: string
      constraints:
        $ref: "#/definitions/TaskConstraints"
        title: Constraints that apply to the Job Manager task.
      containerSettings:
        $ref: "#/definitions/TaskContainerSettings"
        description: If the pool that will run this task has containerConfiguration set, this must be set as well. If the pool that will run this task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
        title: The settings for the container under which the Job Manager task runs.
      displayName:
        description: It need not be unique and can contain any Unicode characters up to a maximum length of 1024.
        title: The display name of the Job Manager task.
        type: string
      environmentSettings:
        items:
          $ref: "#/definitions/EnvironmentSetting"
        title: A list of environment variable settings for the Job Manager task.
        type: array
      id:
        description: The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters.
        title: A string that uniquely identifies the Job Manager task within the job.
        type: string
      killJobOnCompletion:
        description: If true, when the Job Manager task completes, the Batch service marks the job as complete. If any tasks are still running at this time (other than Job Release), those tasks are terminated. If false, the completion of the Job Manager task does not affect the job status. In this case, you should either use the onAllTasksComplete attribute to terminate the job, or have a client or user terminate the job explicitly. An example of this is if the Job Manager creates a set of tasks but then takes no further role in their execution. The default value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control job lifetime, and using the Job Manager task only to create the tasks for the job (not to monitor progress), then it is important to set killJobOnCompletion to false.
        title: Whether completion of the Job Manager task signifies completion of the entire job.
        type: boolean
      outputFiles:
        description: For multi-instance tasks, the files will only be uploaded from the compute node on which the primary task is executed.
        items:
          $ref: "#/definitions/OutputFile"
        title: A list of files that the Batch service will upload from the compute node after running the command line.
        type: array
      resourceFiles:
        description: Files listed under this element are located in the task's working directory. There is a maximum size for the list of resource files.  When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.
        items:
          $ref: "#/definitions/ResourceFile"
        title: A list of files that the Batch service will download to the compute node before running the command line.
        type: array
      runExclusive:
        description: If true, no other tasks will run on the same compute node for as long as the Job Manager is running. If false, other tasks can run simultaneously with the Job Manager on a compute node. The Job Manager task counts normally against the node's concurrent task limit, so this is only relevant if the node allows multiple concurrent tasks. The default value is true.
        title: Whether the Job Manager task requires exclusive use of the compute node where it runs.
        type: boolean
      userIdentity:
        $ref: "#/definitions/UserIdentity"
        description: If omitted, the task runs as a non-administrative user unique to the task.
        title: The user identity under which the Job Manager task runs.
    required:
      - id
      - commandLine
    title: Specifies details of a Job Manager task.
  JobPatchParameter:
    properties:
      constraints:
        $ref: "#/definitions/JobConstraints"
        description: If omitted, the existing execution constraints are left unchanged.
        title: The execution constraints for the job.
      metadata:
        description: If omitted, the existing job metadata is left unchanged.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the job as metadata.
        type: array
      onAllTasksComplete:
        $ref: "#/definitions/OnAllTasksComplete"
        description: If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        title: The action the Batch service should take when all tasks in the job are in the completed state.
      poolInfo:
        $ref: "#/definitions/PoolInformation"
        description: You may change the pool for a job only when the job is disabled. The Patch Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job. If omitted, the job continues to run on its current pool.
        title: The pool on which the Batch service runs the job's tasks.
      priority:
        description: Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the job is left unchanged.
        format: int32
        title: The priority of the job.
        type: integer
    title: The set of changes to be made to a job.
  JobPreparationAndReleaseTaskExecutionInformation:
    properties:
      jobPreparationTaskExecutionInfo:
        $ref: "#/definitions/JobPreparationTaskExecutionInformation"
        title: Information about the execution status of the Job Preparation task on this compute node.
      jobReleaseTaskExecutionInfo:
        $ref: "#/definitions/JobReleaseTaskExecutionInformation"
        description: This property is set only if the Job Release task has run on the node.
        title: Information about the execution status of the Job Release task on this compute node.
      nodeId:
        title: The ID of the compute node to which this entry refers.
        type: string
      nodeUrl:
        title: The URL of the compute node to which this entry refers.
        type: string
      poolId:
        title: The ID of the pool containing the compute node to which this entry refers.
        type: string
    title: The status of the Job Preparation and Job Release tasks on a compute node.
  JobPreparationTask:
    description: "You can use Job Preparation to prepare a compute node to run tasks for the job. Activities commonly performed in Job Preparation include: Downloading common resource files used by all the tasks in the job. The Job Preparation task can download these common resource files to the shared location on the compute node. (AZ_BATCH_NODE_ROOT_DIR\\shared), or starting a local service on the compute node so that all tasks of that job can communicate with it. If the Job Preparation task fails (that is, exhausts its retry count before exiting with exit code 0), Batch will not run tasks of this job on the compute node. The node remains ineligible to run tasks of this job until it is reimaged. The node remains active and can be used for other jobs. The Job Preparation task can run multiple times on the same compute node. Therefore, you should write the Job Preparation task to handle re-execution. If the compute node is rebooted, the Job Preparation task is run again on the node before scheduling any other task of the job, if rerunOnNodeRebootAfterSuccess is true or if the Job Preparation task did not previously complete. If the compute node is reimaged, the Job Preparation task is run again before scheduling any task of the job. Batch will retry tasks when a recovery operation is triggered on a compute node. Examples of recovery operations include (but are not limited to) when an unhealthy compute node is rebooted or a compute node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all tasks should be idempotent. This means tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running tasks is to use some form of checkpointing."
    properties:
      commandLine:
        description: The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
        title: The command line of the Job Preparation task.
        type: string
      constraints:
        $ref: "#/definitions/TaskConstraints"
        title: Constraints that apply to the Job Preparation task.
      containerSettings:
        $ref: "#/definitions/TaskContainerSettings"
        description: When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
        title: The settings for the container under which the Job Preparation task runs.
      environmentSettings:
        items:
          $ref: "#/definitions/EnvironmentSetting"
        title: A list of environment variable settings for the Job Preparation task.
        type: array
      id:
        description: The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other task in the job can have the same ID as the Job Preparation task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict).
        title: A string that uniquely identifies the Job Preparation task within the job.
        type: string
      rerunOnNodeRebootAfterSuccess:
        description: The Job Preparation task is always rerun if a compute node is reimaged, or if the Job Preparation task did not complete (e.g. because the reboot occurred while the task was running). Therefore, you should always write a Job Preparation task to be idempotent and to behave correctly if run multiple times. The default value is true.
        title: Whether the Batch service should rerun the Job Preparation task after a compute node reboots.
        type: boolean
      resourceFiles:
        description: Files listed under this element are located in the task's working directory.  There is a maximum size for the list of resource files.  When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.
        items:
          $ref: "#/definitions/ResourceFile"
        title: A list of files that the Batch service will download to the compute node before running the command line.
        type: array
      userIdentity:
        $ref: "#/definitions/UserIdentity"
        description: If omitted, the task runs as a non-administrative user unique to the task on Windows nodes, or a non-administrative user unique to the pool on Linux nodes.
        title: The user identity under which the Job Preparation task runs.
      waitForSuccess:
        description: If true and the Job Preparation task fails on a compute node, the Batch service retries the Job Preparation task up to its maximum retry count (as specified in the constraints element). If the task has still not completed successfully after all retries, then the Batch service will not schedule tasks of the job to the compute node. The compute node remains active and eligible to run tasks of other jobs. If false, the Batch service will not wait for the Job Preparation task to complete. In this case, other tasks of the job can start executing on the compute node while the Job Preparation task is still running; and even if the Job Preparation task fails, new tasks will continue to be scheduled on the node. The default value is true.
        title: Whether the Batch service should wait for the Job Preparation task to complete successfully before scheduling any other tasks of the job on the compute node. A Job Preparation task has completed successfully if it exits with exit code 0.
        type: boolean
    required:
      - commandLine
    title: A Job Preparation task to run before any tasks of the job on any given compute node.
  JobPreparationTaskExecutionInformation:
    properties:
      containerInfo:
        $ref: "#/definitions/TaskContainerExecutionInformation"
        description: This property is set only if the task runs in a container context.
        title: Information about the container under which the task is executing.
      endTime:
        description: This property is set only if the task is in the Completed state.
        format: date-time
        title: The time at which the Job Preparation task completed.
        type: string
      exitCode:
        description: This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated.
        format: int32
        title: The exit code of the program specified on the task command line.
        type: integer
      failureInfo:
        $ref: "#/definitions/TaskFailureInformation"
        description: This property is set only if the task is in the completed state and encountered a failure.
        title: Information describing the task failure, if any.
      lastRetryTime:
        description: This property is set only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not.
        format: date-time
        title: The most recent time at which a retry of the Job Preparation task started running.
        type: string
      result:
        $ref: "#/definitions/TaskExecutionResult"
        description: If the value is 'failed', then the details of the failure can be found in the failureInfo property.
        title: The result of the task execution.
      retryCount:
        description: Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints.
        format: int32
        title: The number of times the task has been retried by the Batch service. Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints.
        type: integer
      startTime:
        description: If the task has been restarted or retried, this is the most recent time at which the task started running.
        format: date-time
        title: The time at which the task started running.
        type: string
      state:
        enum:
          - running
          - completed
        title: The current state of the Job Preparation task on the compute node.
        type: string
        x-ms-enum:
          modelAsString: false
          name: JobPreparationTaskState
          values:
            - description: The task is currently running (including retrying).
              value: running
            - description: The task has exited with exit code 0, or the task has exhausted its retry limit, or the Batch service was unable to start the task due to task preparation errors (such as resource file download failures).
              value: completed
      taskRootDirectory:
        title: The root directory of the Job Preparation task on the compute node. You can use this path to retrieve files created by the task, such as log files.
        type: string
      taskRootDirectoryUrl:
        title: The URL to the root directory of the Job Preparation task on the compute node.
        type: string
    required:
      - startTime
      - retryCount
      - state
    title: Contains information about the execution of a Job Preparation task on a compute node.
  JobReleaseTask:
    description: "The Job Release task runs when the job ends, because of one of the following: The user calls the Terminate Job API, or the Delete Job API while the job is still active, the job's maximum wall clock time constraint is reached, and the job is still active, or the job's Job Manager task completed, and the job is configured to terminate when the Job Manager completes. The Job Release task runs on each compute node where tasks of the job have run and the Job Preparation task ran and completed. If you reimage a compute node after it has run the Job Preparation task, and the job ends without any further tasks of the job running on that compute node (and hence the Job Preparation task does not re-run), then the Job Release task does not run on that node. If a compute node reboots while the Job Release task is still running, the Job Release task runs again when the compute node starts up. The job is not marked as complete until all Job Release tasks have completed. The Job Release task runs in the background. It does not occupy a scheduling slot; that is, it does not count towards the maxTasksPerNode limit specified on the pool."
    properties:
      commandLine:
        description: The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
        title: The command line of the Job Release task.
        type: string
      containerSettings:
        $ref: "#/definitions/TaskContainerSettings"
        description: When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
        title: The settings for the container under which the Job Release task runs.
      environmentSettings:
        items:
          $ref: "#/definitions/EnvironmentSetting"
        title: A list of environment variable settings for the Job Release task.
        type: array
      id:
        description: The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other task in the job can have the same ID as the Job Release task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict).
        title: A string that uniquely identifies the Job Release task within the job.
        type: string
      maxWallClockTime:
        format: duration
        title: The maximum elapsed time that the Job Release task may run on a given compute node, measured from the time the task starts. If the task does not complete within the time limit, the Batch service terminates it. The default value is 15 minutes. You may not specify a timeout longer than 15 minutes. If you do, the Batch service rejects it with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        type: string
      resourceFiles:
        description: Files listed under this element are located in the task's working directory.
        items:
          $ref: "#/definitions/ResourceFile"
        title: A list of files that the Batch service will download to the compute node before running the command line.  There is a maximum size for the list of resource files.  When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.
        type: array
      retentionTime:
        description: The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged.
        format: duration
        title: The minimum time to retain the task directory for the Job Release task on the compute node. After this time, the Batch service may delete the task directory and all its contents.
        type: string
      userIdentity:
        $ref: "#/definitions/UserIdentity"
        description: If omitted, the task runs as a non-administrative user unique to the task.
        title: The user identity under which the Job Release task runs.
    required:
      - commandLine
    title: A Job Release task to run on job completion on any compute node where the job has run.
  JobReleaseTaskExecutionInformation:
    properties:
      containerInfo:
        $ref: "#/definitions/TaskContainerExecutionInformation"
        description: This property is set only if the task runs in a container context.
        title: Information about the container under which the task is executing.
      endTime:
        description: This property is set only if the task is in the Completed state.
        format: date-time
        title: The time at which the Job Release task completed.
        type: string
      exitCode:
        description: This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated.
        format: int32
        title: The exit code of the program specified on the task command line.
        type: integer
      failureInfo:
        $ref: "#/definitions/TaskFailureInformation"
        description: This property is set only if the task is in the completed state and encountered a failure.
        title: Information describing the task failure, if any.
      result:
        $ref: "#/definitions/TaskExecutionResult"
        description: If the value is 'failed', then the details of the failure can be found in the failureInfo property.
        title: The result of the task execution.
      startTime:
        description: If the task has been restarted or retried, this is the most recent time at which the task started running.
        format: date-time
        title: The time at which the task started running.
        type: string
      state:
        enum:
          - running
          - completed
        title: The current state of the Job Release task on the compute node.
        type: string
        x-ms-enum:
          modelAsString: false
          name: JobReleaseTaskState
          values:
            - description: The task is currently running (including retrying).
              value: running
            - description: The task has exited with exit code 0, or the task has exhausted its retry limit, or the Batch service was unable to start the task due to task preparation errors (such as resource file download failures).
              value: completed
      taskRootDirectory:
        title: The root directory of the Job Release task on the compute node. You can use this path to retrieve files created by the task, such as log files.
        type: string
      taskRootDirectoryUrl:
        title: The URL to the root directory of the Job Release task on the compute node.
        type: string
    required:
      - startTime
      - state
    title: Contains information about the execution of a Job Release task on a compute node.
  JobScheduleAddParameter:
    properties:
      displayName:
        description: The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
        title: The display name for the schedule.
        type: string
      id:
        description: The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case).
        title: A string that uniquely identifies the schedule within the account.
        type: string
      jobSpecification:
        $ref: "#/definitions/JobSpecification"
        title: The details of the jobs to be created on this schedule.
      metadata:
        description: The Batch service does not assign any meaning to metadata; it is solely for the use of user code.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the schedule as metadata.
        type: array
      schedule:
        $ref: "#/definitions/Schedule"
        title: The schedule according to which jobs will be created.
    required:
      - id
      - schedule
      - jobSpecification
    title: A job schedule that allows recurring jobs by specifying when to run jobs and a specification used to create each job.
  JobScheduleExecutionInformation:
    properties:
      endTime:
        description: This property is set only if the job schedule is in the completed state.
        format: date-time
        title: The time at which the schedule ended.
        type: string
      nextRunTime:
        description: This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no job will be created at nextRunTime unless the job is enabled before then.
        format: date-time
        title: The next time at which a job will be created under this schedule.
        type: string
      recentJob:
        $ref: "#/definitions/RecentJob"
        description: This property is present only if the at least one job has run under the schedule.
        title: Information about the most recent job under the job schedule.
    title: Contains information about jobs that have been and will be run under a job schedule.
  JobSchedulePatchParameter:
    properties:
      jobSpecification:
        $ref: "#/definitions/JobSpecification"
        description: Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification.
        title: The details of the jobs to be created on this schedule.
      metadata:
        description: If you do not specify this element, existing metadata is left unchanged.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the job schedule as metadata.
        type: array
      schedule:
        $ref: "#/definitions/Schedule"
        description: If you do not specify this element, the existing schedule is left unchanged.
        title: The schedule according to which jobs will be created.
    title: The set of changes to be made to a job schedule.
  JobScheduleState:
    enum:
      - active
      - completed
      - disabled
      - terminating
      - deleting
    title: The state of the job schedule.
    type: string
    x-ms-enum:
      modelAsString: false
      name: JobScheduleState
      values:
        - description: The job schedule is active and will create jobs as per its schedule.
          value: active
        - description: The schedule has terminated, either by reaching its end time or by the user terminating it explicitly.
          value: completed
        - description: The user has disabled the schedule. The scheduler will not initiate any new jobs will on this schedule, but any existing active job will continue to run.
          value: disabled
        - description: The schedule has no more work to do, or has been explicitly terminated by the user, but the termination operation is still in progress. The scheduler will not initiate any new jobs for this schedule, nor is any existing job active.
          value: terminating
        - description: The user has requested that the schedule be deleted, but the delete operation is still in progress. The scheduler will not initiate any new jobs for this schedule, and will delete any existing jobs and tasks under the schedule, including any active job. The schedule will be deleted when all jobs and tasks under the schedule have been deleted.
          value: deleting
  JobScheduleStatistics:
    properties:
      kernelCPUTime:
        format: duration
        title: The total kernel mode CPU time (summed across all cores and all compute nodes) consumed by all tasks in all jobs created under the schedule.
        type: string
      lastUpdateTime:
        format: date-time
        title: The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
        type: string
      numFailedTasks:
        format: int64
        title: The total number of tasks that failed during the given time range in jobs created under the schedule. A task fails if it exhausts its maximum retry count without returning exit code 0.
        type: integer
      numSucceededTasks:
        format: int64
        title: The total number of tasks successfully completed during the given time range in jobs created under the schedule. A task completes successfully if it returns exit code 0.
        type: integer
      numTaskRetries:
        format: int64
        title: The total number of retries during the given time range on all tasks in all jobs created under the schedule.
        type: integer
      readIOGiB:
        format: double
        title: The total gibibytes read from disk by all tasks in all jobs created under the schedule.
        type: number
      readIOps:
        format: int64
        title: The total number of disk read operations made by all tasks in all jobs created under the schedule.
        type: integer
      startTime:
        format: date-time
        title: The start time of the time range covered by the statistics.
        type: string
      url:
        title: The URL of the statistics.
        type: string
      userCPUTime:
        format: duration
        title: The total user mode CPU time (summed across all cores and all compute nodes) consumed by all tasks in all jobs created under the schedule.
        type: string
      waitTime:
        description: This value is only reported in the account lifetime statistics; it is not included in the job statistics.
        format: duration
        title: The total wait time of all tasks in all jobs created under the schedule. The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.)
        type: string
      wallClockTime:
        description: The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If a task was retried, this includes the wall clock time of all the task retries.
        format: duration
        title: The total wall clock time of all the tasks in all the jobs created under the schedule.
        type: string
      writeIOGiB:
        format: double
        title: The total gibibytes written to disk by all tasks in all jobs created under the schedule.
        type: number
      writeIOps:
        format: int64
        title: The total number of disk write operations made by all tasks in all jobs created under the schedule.
        type: integer
    required:
      - url
      - startTime
      - lastUpdateTime
      - userCPUTime
      - kernelCPUTime
      - wallClockTime
      - readIOps
      - writeIOps
      - readIOGiB
      - writeIOGiB
      - numSucceededTasks
      - numFailedTasks
      - numTaskRetries
      - waitTime
    title: Resource usage statistics for a job schedule.
  JobScheduleUpdateParameter:
    properties:
      jobSpecification:
        $ref: "#/definitions/JobSpecification"
        description: Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification.
        title: Details of the jobs to be created on this schedule.
      metadata:
        description: If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the job schedule as metadata.
        type: array
      schedule:
        $ref: "#/definitions/Schedule"
        description: "If you do not specify this element, it is equivalent to passing the default schedule: that is, a single job scheduled to run immediately."
        title: The schedule according to which jobs will be created.
    required:
      - schedule
      - jobSpecification
    title: The set of changes to be made to a job schedule.
  JobSchedulingError:
    properties:
      category:
        $ref: "#/definitions/ErrorCategory"
        title: The category of the job scheduling error.
      code:
        title: An identifier for the job scheduling error. Codes are invariant and are intended to be consumed programmatically.
        type: string
      details:
        items:
          $ref: "#/definitions/NameValuePair"
        title: A list of additional error details related to the scheduling error.
        type: array
      message:
        title: A message describing the job scheduling error, intended to be suitable for display in a user interface.
        type: string
    required:
      - category
    title: An error encountered by the Batch service when scheduling a job.
  JobSpecification:
    properties:
      commonEnvironmentSettings:
        description: Individual tasks can override an environment setting specified here by specifying the same setting name with a different value.
        items:
          $ref: "#/definitions/EnvironmentSetting"
        title: A list of common environment variable settings. These environment variables are set for all tasks in jobs created under this schedule (including the Job Manager, Job Preparation and Job Release tasks).
        type: array
      constraints:
        $ref: "#/definitions/JobConstraints"
        title: The execution constraints for jobs created under this schedule.
      displayName:
        description: The name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
        title: The display name for jobs created under this schedule.
        type: string
      jobManagerTask:
        $ref: "#/definitions/JobManagerTask"
        description: If the job does not specify a Job Manager task, the user must explicitly add tasks to the job using the Task API. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job.
        title: The details of a Job Manager task to be launched when a job is started under this schedule.
      jobPreparationTask:
        $ref: "#/definitions/JobPreparationTask"
        description: If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node.
        title: The Job Preparation task for jobs created under this schedule.
      jobReleaseTask:
        $ref: "#/definitions/JobReleaseTask"
        description: The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation. A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task.
        title: The Job Release task for jobs created under this schedule.
      metadata:
        description: The Batch service does not assign any meaning to metadata; it is solely for the use of user code.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with each job created under this schedule as metadata.
        type: array
      onAllTasksComplete:
        $ref: "#/definitions/OnAllTasksComplete"
        description: Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the job properties to set onAllTasksComplete to terminatejob once you have finished adding tasks. The default is noaction.
        title: The action the Batch service should take when all tasks in a job created under this schedule are in the completed state.
      onTaskFailure:
        $ref: "#/definitions/OnTaskFailure"
        description: The default is noaction.
        title: The action the Batch service should take when any task fails in a job created under this schedule. A task is considered to have failed if it have failed if has a failureInfo. A failureInfo is set if the task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the task, for example due to a resource file download error.
      poolInfo:
        $ref: "#/definitions/PoolInformation"
        title: The pool on which the Batch service runs the tasks of jobs created under this schedule.
      priority:
        description: Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all jobs under the job schedule. You can update a job's priority after it has been created using by using the update job API.
        format: int32
        title: The priority of jobs created under this schedule.
        type: integer
      usesTaskDependencies:
        title: Whether tasks in the job can define dependencies on each other. The default is false.
        type: boolean
    required:
      - poolInfo
    title: Specifies details of the jobs to be created on a schedule.
  JobState:
    enum:
      - active
      - disabling
      - disabled
      - enabling
      - terminating
      - completed
      - deleting
    title: The state of the job.
    type: string
    x-ms-enum:
      modelAsString: false
      name: JobState
      values:
        - description: The job is available to have tasks scheduled.
          value: active
        - description: A user has requested that the job be disabled, but the disable operation is still in progress (for example, waiting for tasks to terminate).
          value: disabling
        - description: A user has disabled the job. No tasks are running, and no new tasks will be scheduled.
          value: disabled
        - description: A user has requested that the job be enabled, but the enable operation is still in progress.
          value: enabling
        - description: The job is about to complete, either because a Job Manager task has completed or because the user has terminated the job, but the terminate operation is still in progress (for example, because Job Release tasks are running).
          value: terminating
        - description: All tasks have terminated, and the system will not accept any more tasks or any further changes to the job.
          value: completed
        - description: A user has requested that the job be deleted, but the delete operation is still in progress (for example, because the system is still terminating running tasks).
          value: deleting
  JobStatistics:
    properties:
      kernelCPUTime:
        format: duration
        title: The total kernel mode CPU time (summed across all cores and all compute nodes) consumed by all tasks in the job.
        type: string
      lastUpdateTime:
        format: date-time
        title: The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
        type: string
      numFailedTasks:
        description: A task fails if it exhausts its maximum retry count without returning exit code 0.
        format: int64
        title: The total number of tasks in the job that failed during the given time range.
        type: integer
      numSucceededTasks:
        description: A task completes successfully if it returns exit code 0.
        format: int64
        title: The total number of tasks successfully completed in the job during the given time range.
        type: integer
      numTaskRetries:
        format: int64
        title: The total number of retries on all the tasks in the job during the given time range.
        type: integer
      readIOGiB:
        format: double
        title: The total amount of data in GiB read from disk by all tasks in the job.
        type: number
      readIOps:
        format: int64
        title: The total number of disk read operations made by all tasks in the job.
        type: integer
      startTime:
        format: date-time
        title: The start time of the time range covered by the statistics.
        type: string
      url:
        title: The URL of the statistics.
        type: string
      userCPUTime:
        format: duration
        title: The total user mode CPU time (summed across all cores and all compute nodes) consumed by all tasks in the job.
        type: string
      waitTime:
        description: The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.) This value is only reported in the account lifetime statistics; it is not included in the job statistics.
        format: duration
        title: The total wait time of all tasks in the job.
        type: string
      wallClockTime:
        description: " The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If a task was retried, this includes the wall clock time of all the task retries."
        format: duration
        title: The total wall clock time of all tasks in the job.
        type: string
      writeIOGiB:
        format: double
        title: The total amount of data in GiB written to disk by all tasks in the job.
        type: number
      writeIOps:
        format: int64
        title: The total number of disk write operations made by all tasks in the job.
        type: integer
    required:
      - url
      - startTime
      - lastUpdateTime
      - userCPUTime
      - kernelCPUTime
      - wallClockTime
      - readIOps
      - writeIOps
      - readIOGiB
      - writeIOGiB
      - numSucceededTasks
      - numFailedTasks
      - numTaskRetries
      - waitTime
    title: Resource usage statistics for a job.
  JobTerminateParameter:
    properties:
      terminateReason:
        title: The text you want to appear as the job's TerminateReason. The default is 'UserTerminate'.
        type: string
    title: Options when terminating a job.
  JobUpdateParameter:
    properties:
      constraints:
        $ref: "#/definitions/JobConstraints"
        description: If omitted, the constraints are cleared.
        title: The execution constraints for the job.
      metadata:
        description: If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the job as metadata.
        type: array
      onAllTasksComplete:
        $ref: "#/definitions/OnAllTasksComplete"
        description: If omitted, the completion behavior is set to noaction. If the current value is terminatejob, this is an error because a job's completion behavior may not be changed from terminatejob to noaction. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic job termination, you cannot turn it off again. If you try to do this, the request fails and Batch returns status code 400 (Bad Request) and an 'invalid property value' error response. If you do not specify this element in a PUT request, it is equivalent to passing noaction. This is an error if the current value is terminatejob.
        title: The action the Batch service should take when all tasks in the job are in the completed state.
      poolInfo:
        $ref: "#/definitions/PoolInformation"
        description: You may change the pool for a job only when the job is disabled. The Update Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job.
        title: The pool on which the Batch service runs the job's tasks.
      priority:
        description: Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0.
        format: int32
        title: The priority of the job.
        type: integer
    required:
      - poolInfo
    title: The set of changes to be made to a job.
  LinuxUserConfiguration:
    properties:
      gid:
        description: The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.
        format: int32
        title: The group ID for the user account.
        type: integer
      sshPrivateKey:
        description: The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
        title: The SSH private key for the user account.
        type: string
      uid:
        description: The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
        format: int32
        title: The user ID of the user account.
        type: integer
    title: Properties used to create a user account on a Linux node.
  MetadataItem:
    description: The Batch service does not assign any meaning to this metadata; it is solely for the use of user code.
    properties:
      name:
        title: The name of the metadata item.
        type: string
      value:
        title: The value of the metadata item.
        type: string
    required:
      - name
      - value
    title: A name-value pair associated with a Batch service resource.
  MultiInstanceSettings:
    description: Multi-instance tasks are commonly used to support MPI tasks.
    properties:
      commonResourceFiles:
        description: The difference between common resource files and task resource files is that common resource files are downloaded for all subtasks including the primary, whereas task resource files are downloaded only for the primary. Also note that these resource files are not downloaded to the task working directory, but instead are downloaded to the task root directory (one directory above the working directory).  There is a maximum size for the list of resource files.  When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.
        items:
          $ref: "#/definitions/ResourceFile"
        title: A list of files that the Batch service will download before running the coordination command line.
        type: array
      coordinationCommandLine:
        description: A typical coordination command line launches a background service and verifies that the service is ready to process inter-node messages.
        title: The command line to run on all the compute nodes to enable them to coordinate when the primary runs the main task command.
        type: string
      numberOfInstances:
        description: If omitted, the default is 1.
        format: int32
        title: The number of compute nodes required by the task.
        type: integer
    required:
      - coordinationCommandLine
    title: Settings which specify how to run a multi-instance task.
  NameValuePair:
    properties:
      name:
        title: The name in the name-value pair.
        type: string
      value:
        title: The value in the name-value pair.
        type: string
    title: Represents a name-value pair.
  NetworkConfiguration:
    description: The network configuration for a pool.
    properties:
      endpointConfiguration:
        $ref: "#/definitions/PoolEndpointConfiguration"
        description: Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property.
        title: The configuration for endpoints on compute nodes in the Batch pool.
      subnetId:
        description: "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes, and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. For pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported, but for pools created with cloudServiceConfiguration both ARM and classic virtual networks are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration"
        externalDocs:
          description: Setting up RBAC for Azure Batch VNETs
          url: https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor
        title: The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.
        type: string
  NetworkSecurityGroupRule:
    properties:
      access:
        enum:
          - allow
          - deny
        title: The action that should be taken for a specified IP address, subnet range or tag.
        type: string
        x-ms-enum:
          modelAsString: false
          name: NetworkSecurityGroupRuleAccess
          values:
            - description: Allow access.
              value: allow
            - description: Deny access.
              value: deny
      priority:
        description: Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 3500. If any reserved or duplicate values are provided the request fails with HTTP status code 400.
        format: int32
        title: The priority for this rule.
        type: integer
      sourceAddressPrefix:
        description: Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses).  If any other values are provided the request fails with HTTP status code 400.
        title: The source address prefix or tag to match for the rule.
        type: string
    required:
      - priority
      - access
      - sourceAddressPrefix
    title: A network security group rule to apply to an inbound endpoint.
  NodeAgentInformation:
    description: The Batch node agent is a program that runs on each node in the pool and provides Batch capability on the compute node.
    properties:
      lastUpdateTime:
        description: This is the most recent time that the node agent was updated to a new version.
        format: date-time
        title: The time when the node agent was updated on the compute node.
        type: string
      version:
        description: This version number can be checked against the node agent release notes located at https://github.com/Azure/Batch/blob/master/changelogs/nodeagent/CHANGELOG.md.
        title: The version of the Batch node agent running on the compute node.
        type: string
    required:
      - version
      - lastUpdateTime
    title: Information about the node agent.
  NodeAgentSku:
    description: The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems.
    properties:
      id:
        title: The ID of the node agent SKU.
        type: string
      osType:
        enum:
          - linux
          - windows
        title: The type of operating system (e.g. Windows or Linux) compatible with the node agent SKU.
        type: string
        x-ms-enum:
          modelAsString: false
          name: OSType
          values:
            - description: The Linux operating system.
              value: linux
            - description: The Windows operating system.
              value: windows
      verifiedImageReferences:
        description: This collection is not exhaustive (the node agent may be compatible with other images).
        items:
          $ref: "#/definitions/ImageReference"
        title: The list of Azure Marketplace images verified to be compatible with this node agent SKU.
        type: array
    title: A node agent SKU supported by the Batch service.
  NodeCounts:
    properties:
      creating:
        format: int32
        title: The number of nodes in the creating state.
        type: integer
      idle:
        format: int32
        title: The number of nodes in the idle state.
        type: integer
      leavingPool:
        format: int32
        title: The number of nodes in the leavingPool state.
        type: integer
      offline:
        format: int32
        title: The number of nodes in the offline state.
        type: integer
      preempted:
        format: int32
        title: The number of nodes in the preempted state.
        type: integer
      rebooting:
        format: int32
        title: The count of nodes in the rebooting state.
        type: integer
      reimaging:
        format: int32
        title: The number of nodes in the reimaging state.
        type: integer
      running:
        format: int32
        title: The number of nodes in the running state.
        type: integer
      startTaskFailed:
        format: int32
        title: The number of nodes in the startTaskFailed state.
        type: integer
      starting:
        format: int32
        title: The number of nodes in the starting state.
        type: integer
      total:
        format: int32
        title: The total number of nodes.
        type: integer
      unknown:
        format: int32
        title: The number of nodes in the unknown state.
        type: integer
      unusable:
        format: int32
        title: The number of nodes in the unusable state.
        type: integer
      waitingForStartTask:
        format: int32
        title: The number of nodes in the waitingForStartTask state.
        type: integer
    required:
      - creating
      - idle
      - offline
      - preempted
      - rebooting
      - reimaging
      - running
      - starting
      - startTaskFailed
      - leavingPool
      - unknown
      - unusable
      - waitingForStartTask
      - total
    title: The number of nodes in each node state.
  NodeDisableSchedulingParameter:
    properties:
      nodeDisableSchedulingOption:
        description: The default value is requeue.
        enum:
          - requeue
          - terminate
          - taskcompletion
        title: What to do with currently running tasks when disabling task scheduling on the compute node.
        type: string
        x-ms-enum:
          modelAsString: false
          name: DisableComputeNodeSchedulingOption
          values:
            - description: Terminate running task processes and requeue the tasks. The tasks may run again on other compute nodes, or when task scheduling is re-enabled on this node. Enter offline state as soon as tasks have been terminated.
              value: requeue
            - description: Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Enter offline state as soon as tasks have been terminated.
              value: terminate
            - description: Allow currently running tasks to complete. Schedule no new tasks while waiting. Enter offline state when all tasks have completed.
              name: taskCompletion
              value: taskcompletion
    title: Options for disabling scheduling on a compute node.
  NodeFile:
    properties:
      isDirectory:
        title: Whether the object represents a directory.
        type: boolean
      name:
        title: The file path.
        type: string
      properties:
        $ref: "#/definitions/FileProperties"
        title: The file properties.
      url:
        title: The URL of the file.
        type: string
    title: Information about a file or directory on a compute node.
  NodeFileListResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/NodeFile"
        title: The list of files.
        type: array
    title: The result of listing the files on a compute node, or the files associated with a task on a node.
  NodeRebootParameter:
    properties:
      nodeRebootOption:
        description: The default value is requeue.
        enum:
          - requeue
          - terminate
          - taskcompletion
          - retaineddata
        title: When to reboot the compute node and what to do with currently running tasks.
        type: string
        x-ms-enum:
          modelAsString: false
          name: ComputeNodeRebootOption
          values:
            - description: Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Restart the node as soon as tasks have been terminated.
              value: requeue
            - description: Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Restart the node as soon as tasks have been terminated.
              value: terminate
            - description: Allow currently running tasks to complete. Schedule no new tasks while waiting. Restart the node when all tasks have completed.
              name: taskCompletion
              value: taskcompletion
            - description: Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Restart the node when all task retention periods have expired.
              name: retainedData
              value: retaineddata
    title: Options for rebooting a compute node.
  NodeReimageParameter:
    properties:
      nodeReimageOption:
        description: The default value is requeue.
        enum:
          - requeue
          - terminate
          - taskcompletion
          - retaineddata
        title: When to reimage the compute node and what to do with currently running tasks.
        type: string
        x-ms-enum:
          modelAsString: false
          name: ComputeNodeReimageOption
          values:
            - description: Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Reimage the node as soon as tasks have been terminated.
              value: requeue
            - description: Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Reimage the node as soon as tasks have been terminated.
              value: terminate
            - description: Allow currently running tasks to complete. Schedule no new tasks while waiting. Reimage the node when all tasks have completed.
              name: taskCompletion
              value: taskcompletion
            - description: Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Reimage the node when all task retention periods have expired.
              name: retainedData
              value: retaineddata
    title: Options for reimaging a compute node.
  NodeRemoveParameter:
    properties:
      nodeDeallocationOption:
        $ref: "#/definitions/ComputeNodeDeallocationOption"
        description: The default value is requeue.
        title: Determines what to do with a node and its running task(s) after it has been selected for deallocation.
      nodeList:
        items:
          type: string
        maxItems: 100
        title: A list containing the IDs of the compute nodes to be removed from the specified pool.
        type: array
      resizeTimeout:
        description: The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        format: duration
        title: The timeout for removal of compute nodes to the pool.
        type: string
    required:
      - nodeList
    title: Options for removing compute nodes from a pool.
  NodeUpdateUserParameter:
    properties:
      expiryTime:
        description: If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day.
        format: date-time
        title: The time at which the account should expire.
        type: string
      password:
        description: The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed.
        title: The password of the account.
        type: string
      sshPublicKey:
        description: The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed.
        title: The SSH public key that can be used for remote login to the compute node.
        type: string
    title: The set of changes to be made to a user account on a node.
  OSDisk:
    properties:
      caching:
        $ref: "#/definitions/CachingType"
        description: "The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/."
        title: The type of caching to enable for the OS disk.
    title: Settings for the operating system disk of the virtual machine.
  OnAllTasksComplete:
    enum:
      - noaction
      - terminatejob
    title: The action the Batch service should take when all tasks in the job are in the completed state.
    type: string
    x-ms-enum:
      modelAsString: false
      name: OnAllTasksComplete
      values:
        - description: Do nothing. The job remains active unless terminated or disabled by some other means.
          name: noAction
          value: noaction
        - description: Terminate the job. The job's terminateReason is set to 'AllTasksComplete'.
          name: terminateJob
          value: terminatejob
  OnTaskFailure:
    description: A task is considered to have failed if has a failureInfo. A failureInfo is set if the task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the task, for example due to a resource file download error. The default is noaction.
    enum:
      - noaction
      - performexitoptionsjobaction
    title: The action the Batch service should take when any task in the job fails.
    type: string
    x-ms-enum:
      modelAsString: false
      name: OnTaskFailure
      values:
        - description: Do nothing. The job remains active unless terminated or disabled by some other means.
          name: noAction
          value: noaction
        - description: Take the action associated with the task exit condition in the task's exitConditions collection. (This may still result in no action being taken, if that is what the task specifies.)
          name: performExitOptionsJobAction
          value: performexitoptionsjobaction
  OutputFile:
    properties:
      destination:
        $ref: "#/definitions/OutputFileDestination"
        title: The destination for the output file(s).
      filePattern:
        description: "Both relative and absolute paths are supported. Relative paths are relative to the task working directory. The following wildcards are supported: * matches 0 or more characters (for example pattern abc* would match abc or abcdef), ** matches any directory, ? matches any single character, [abc] matches one character in the brackets, and [a-c] matches one character in the range. Brackets can include a negation to match any character not specified (for example [!abc] matches any character but a, b, or c). If a file name starts with \".\" it is ignored by default but may be matched by specifying it explicitly (for example *.gif will not match .a.gif, but .*.gif will). A simple example: **\\*.txt matches any file that does not start in '.' and ends with .txt in the task working directory or any subdirectory. If the filename contains a wildcard character it can be escaped using brackets (for example abc[*] would match a file named abc*). Note that both \\ and / are treated as directory separators on Windows, but only / is on Linux. Environment variables (%var% on Windows or $var on Linux) are expanded prior to the pattern being applied."
        title: A pattern indicating which file(s) to upload.
        type: string
      uploadOptions:
        $ref: "#/definitions/OutputFileUploadOptions"
        title: Additional options for the upload operation, including under what conditions to perform the upload.
    required:
      - filePattern
      - destination
      - uploadOptions
    title: A specification for uploading files from an Azure Batch node to another location after the Batch service has finished executing the task process.
  OutputFileBlobContainerDestination:
    properties:
      containerUrl:
        description: The URL must include a Shared Access Signature (SAS) granting write permissions to the container.
        title: The URL of the container within Azure Blob Storage to which to upload the file(s).
        type: string
      path:
        description: If filePattern refers to a specific file (i.e. contains no wildcards), then path is the name of the blob to which to upload that file. If filePattern contains one or more wildcards (and therefore may match multiple files), then path is the name of the blob virtual directory (which is prepended to each blob name) to which to upload the file(s). If omitted, file(s) are uploaded to the root of the container with a blob name matching their file name.
        title: The destination blob or virtual directory within the Azure Storage container.
        type: string
    required:
      - containerUrl
    title: Specifies a file upload destination within an Azure blob storage container.
  OutputFileDestination:
    properties:
      container:
        $ref: "#/definitions/OutputFileBlobContainerDestination"
        title: A location in Azure blob storage to which files are uploaded.
    title: The destination to which a file should be uploaded.
  OutputFileUploadCondition:
    enum:
      - tasksuccess
      - taskfailure
      - taskcompletion
    title: The conditions under which a task output file or set of files should be uploaded.
    type: string
    x-ms-enum:
      modelAsString: false
      name: OutputFileUploadCondition
      values:
        - description: Upload the file(s) only after the task process exits with an exit code of 0.
          name: taskSuccess
          value: tasksuccess
        - description: Upload the file(s) only after the task process exits with a nonzero exit code.
          name: taskFailure
          value: taskfailure
        - description: Upload the file(s) after the task process exits, no matter what the exit code was.
          name: taskCompletion
          value: taskcompletion
  OutputFileUploadOptions:
    properties:
      uploadCondition:
        $ref: "#/definitions/OutputFileUploadCondition"
        description: The default is taskcompletion.
        title: The conditions under which the task output file or set of files should be uploaded.
    required:
      - uploadCondition
    title: Details about an output file upload operation, including under what conditions to perform the upload.
  PoolAddParameter:
    properties:
      applicationLicenses:
        description: The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail.
        items:
          type: string
        title: The list of application licenses the Batch service will make available on each compute node in the pool.
        type: array
      applicationPackageReferences:
        items:
          $ref: "#/definitions/ApplicationPackageReference"
        title: The list of application packages to be installed on each compute node in the pool.
        type: array
      autoScaleEvaluationInterval:
        description: The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        format: duration
        title: The time interval at which to automatically adjust the pool size according to the autoscale formula.
        type: string
      autoScaleFormula:
        description: This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale compute nodes in an Azure Batch pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/).
        title: A formula for the desired number of compute nodes in the pool.
        type: string
      certificateReferences:
        description: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
        items:
          $ref: "#/definitions/CertificateReference"
        title: The list of certificates to be installed on each compute node in the pool.
        type: array
      cloudServiceConfiguration:
        $ref: "#/definitions/CloudServiceConfiguration"
        description: This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'.
        title: The cloud service configuration for the pool.
      displayName:
        description: The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
        title: The display name for the pool.
        type: string
      enableAutoScale:
        description: If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the pool automatically resizes according to the formula. The default value is false.
        title: Whether the pool size should automatically adjust over time.
        type: boolean
      enableInterNodeCommunication:
        description: Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false.
        title: Whether the pool permits direct communication between nodes.
        type: boolean
      id:
        description: The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two pool IDs within an account that differ only by case).
        title: A string that uniquely identifies the pool within the account.
        type: string
      maxTasksPerNode:
        description: The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting).
        format: int32
        title: The maximum number of tasks that can run concurrently on a single compute node in the pool.
        type: integer
      metadata:
        description: The Batch service does not assign any meaning to metadata; it is solely for the use of user code.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the pool as metadata.
        type: array
      networkConfiguration:
        $ref: "#/definitions/NetworkConfiguration"
        title: The network configuration for the pool.
      resizeTimeout:
        description: This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        format: duration
        title: The timeout for allocation of compute nodes to the pool.
        type: string
      startTask:
        $ref: "#/definitions/StartTask"
        description: The task runs when the node is added to the pool or when the node is restarted.
        title: A task specified to run on each compute node as it joins the pool.
      targetDedicatedNodes:
        description: This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both.
        format: int32
        title: The desired number of dedicated compute nodes in the pool.
        type: integer
      targetLowPriorityNodes:
        description: This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both.
        format: int32
        title: The desired number of low-priority compute nodes in the pool.
        type: integer
      taskSchedulingPolicy:
        $ref: "#/definitions/TaskSchedulingPolicy"
        title: How tasks are distributed across compute nodes in a pool.
      userAccounts:
        items:
          $ref: "#/definitions/UserAccount"
        title: The list of user accounts to be created on each node in the pool.
        type: array
      virtualMachineConfiguration:
        $ref: "#/definitions/VirtualMachineConfiguration"
        description: This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified.
        title: The virtual machine configuration for the pool.
      vmSize:
        description: For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).
        title: The size of virtual machines in the pool. All virtual machines in a pool are the same size.
        type: string
    required:
      - id
      - vmSize
    title: A pool in the Azure Batch service to add.
  PoolEnableAutoScaleParameter:
    properties:
      autoScaleEvaluationInterval:
        description: The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued.
        format: duration
        title: The time interval at which to automatically adjust the pool size according to the autoscale formula.
        type: string
      autoScaleFormula:
        description: The formula is checked for validity before it is applied to the pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling).
        title: The formula for the desired number of compute nodes in the pool.
        type: string
    title: Options for enabling automatic scaling on a pool.
  PoolEndpointConfiguration:
    properties:
      inboundNATPools:
        description: The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400.
        items:
          $ref: "#/definitions/InboundNATPool"
        title: A list of inbound NAT pools that can be used to address specific ports on an individual compute node externally.
        type: array
    required:
      - inboundNATPools
    title: The endpoint configuration for a pool.
  PoolEvaluateAutoScaleParameter:
    properties:
      autoScaleFormula:
        description: The formula is validated and its results calculated, but it is not applied to the pool. To apply the formula to the pool, 'Enable automatic scaling on a pool'. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling).
        title: The formula for the desired number of compute nodes in the pool.
        type: string
    required:
      - autoScaleFormula
    title: Options for evaluating an automatic scaling formula on a pool.
  PoolInformation:
    properties:
      autoPoolSpecification:
        $ref: "#/definitions/AutoPoolSpecification"
        description: If auto pool creation fails, the Batch service moves the job to a completed state, and the pool creation error is set in the job's scheduling error property. The Batch service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of the auto pool. Any user actions that affect the lifetime of the auto pool while the job is active will result in unexpected behavior. You must specify either the pool ID or the auto pool specification, but not both.
        title: Characteristics for a temporary 'auto pool'. The Batch service will create this auto pool when the job is submitted.
      poolId:
        description: You must ensure that the pool referenced by this property exists. If the pool does not exist at the time the Batch service tries to schedule a job, no tasks for the job will run until you create a pool with that id. Note that the Batch service will not reject the job request; it will simply not run tasks until the pool exists. You must specify either the pool ID or the auto pool specification, but not both.
        title: The ID of an existing pool. All the tasks of the job will run on the specified pool.
        type: string
    title: Specifies how a job should be assigned to a pool.
  PoolListUsageMetricsResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        items:
          $ref: "#/definitions/PoolUsageMetrics"
        title: The pool usage metrics data.
        type: array
    title: The result of a listing the usage metrics for an account.
  PoolNodeCounts:
    properties:
      dedicated:
        $ref: "#/definitions/NodeCounts"
        title: The number of dedicated nodes in each state.
      lowPriority:
        $ref: "#/definitions/NodeCounts"
        title: The number of low priority nodes in each state.
      poolId:
        title: The ID of the pool.
        type: string
    required:
      - poolId
    title: The number of nodes in each state for a pool.
  PoolNodeCountsListResult:
    properties:
      odata.nextLink:
        title: The URL to get the next set of results.
        type: string
      value:
        description: A list of node counts by pool.
        items:
          $ref: "#/definitions/PoolNodeCounts"
        type: array
    title: The result of listing the node counts in the account.
  PoolPatchParameter:
    properties:
      applicationPackageReferences:
        description: Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. If this element is present, it replaces any existing application package references. If you specify an empty collection, then all application package references are removed from the pool. If omitted, any existing application package references are left unchanged.
        items:
          $ref: "#/definitions/ApplicationPackageReference"
        title: A list of application packages to be installed on each compute node in the pool.
        type: array
      certificateReferences:
        description: If this element is present, it replaces any existing certificate references configured on the pool. If omitted, any existing certificate references are left unchanged. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
        items:
          $ref: "#/definitions/CertificateReference"
        title: A list of certificates to be installed on each compute node in the pool.
        type: array
      metadata:
        description: If this element is present, it replaces any existing metadata configured on the pool. If you specify an empty collection, any metadata is removed from the pool. If omitted, any existing metadata is left unchanged.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the pool as metadata.
        type: array
      startTask:
        $ref: "#/definitions/StartTask"
        description: If this element is present, it overwrites any existing start task. If omitted, any existing start task is left unchanged.
        title: A task to run on each compute node as it joins the pool. The task runs when the node is added to the pool or when the node is restarted.
    title: The set of changes to be made to a pool.
  PoolResizeParameter:
    properties:
      nodeDeallocationOption:
        $ref: "#/definitions/ComputeNodeDeallocationOption"
        description: The default value is requeue.
        title: Determines what to do with a node and its running task(s) if the pool size is decreasing.
      resizeTimeout:
        description: The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        format: duration
        title: The timeout for allocation of compute nodes to the pool or removal of compute nodes from the pool.
        type: string
      targetDedicatedNodes:
        format: int32
        title: The desired number of dedicated compute nodes in the pool.
        type: integer
      targetLowPriorityNodes:
        format: int32
        title: The desired number of low-priority compute nodes in the pool.
        type: integer
    title: Options for changing the size of a pool.
  PoolSpecification:
    properties:
      applicationLicenses:
        description: The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail. The permitted licenses available on the pool are 'maya', 'vray', '3dsmax', 'arnold'. An additional charge applies for each application license added to the pool.
        items:
          type: string
        title: The list of application licenses the Batch service will make available on each compute node in the pool.
        type: array
      applicationPackageReferences:
        items:
          $ref: "#/definitions/ApplicationPackageReference"
        title: The list of application packages to be installed on each compute node in the pool.
        type: array
      autoScaleEvaluationInterval:
        description: The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        format: duration
        title: The time interval at which to automatically adjust the pool size according to the autoscale formula.
        type: string
      autoScaleFormula:
        description: This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information.
        title: The formula for the desired number of compute nodes in the pool.
        type: string
      certificateReferences:
        description: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
        items:
          $ref: "#/definitions/CertificateReference"
        title: A list of certificates to be installed on each compute node in the pool.
        type: array
      cloudServiceConfiguration:
        $ref: "#/definitions/CloudServiceConfiguration"
        description: This property must be specified if the pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'.
        title: The cloud service configuration for the pool.
      displayName:
        description: The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
        title: The display name for the pool.
        type: string
      enableAutoScale:
        description: If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula element is required. The pool automatically resizes according to the formula. The default value is false.
        title: Whether the pool size should automatically adjust over time.
        type: boolean
      enableInterNodeCommunication:
        description: Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false.
        title: Whether the pool permits direct communication between nodes.
        type: boolean
      maxTasksPerNode:
        description: The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting).
        format: int32
        title: The maximum number of tasks that can run concurrently on a single compute node in the pool.
        type: integer
      metadata:
        description: The Batch service does not assign any meaning to metadata; it is solely for the use of user code.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the pool as metadata.
        type: array
      networkConfiguration:
        $ref: "#/definitions/NetworkConfiguration"
        title: The network configuration for the pool.
      resizeTimeout:
        description: This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        format: duration
        title: The timeout for allocation of compute nodes to the pool.
        type: string
      startTask:
        $ref: "#/definitions/StartTask"
        title: A task to run on each compute node as it joins the pool. The task runs when the node is added to the pool or when the node is restarted.
      targetDedicatedNodes:
        description: This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both.
        format: int32
        title: The desired number of dedicated compute nodes in the pool.
        type: integer
      targetLowPriorityNodes:
        description: This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both.
        format: int32
        title: The desired number of low-priority compute nodes in the pool.
        type: integer
      taskSchedulingPolicy:
        $ref: "#/definitions/TaskSchedulingPolicy"
        title: How tasks are distributed across compute nodes in a pool.
      userAccounts:
        items:
          $ref: "#/definitions/UserAccount"
        title: The list of user accounts to be created on each node in the pool.
        type: array
      virtualMachineConfiguration:
        $ref: "#/definitions/VirtualMachineConfiguration"
        description: This property must be specified if the pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        title: The virtual machine configuration for the pool.
      vmSize:
        description: For information about available sizes of virtual machines in pools, see Choose a VM size for compute nodes in an Azure Batch pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).
        title: The size of the virtual machines in the pool. All virtual machines in a pool are the same size.
        type: string
    required:
      - vmSize
    title: Specification for creating a new pool.
  PoolStatistics:
    properties:
      lastUpdateTime:
        format: date-time
        title: The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
        type: string
      resourceStats:
        $ref: "#/definitions/ResourceStatistics"
        title: Statistics related to resource consumption by compute nodes in the pool.
      startTime:
        format: date-time
        title: The start time of the time range covered by the statistics.
        type: string
      url:
        title: The URL for the statistics.
        type: string
      usageStats:
        $ref: "#/definitions/UsageStatistics"
        title: Statistics related to pool usage, such as the amount of core-time used.
    required:
      - url
      - startTime
      - lastUpdateTime
    title: Contains utilization and resource usage statistics for the lifetime of a pool.
  PoolUpdatePropertiesParameter:
    properties:
      applicationPackageReferences:
        description: The list replaces any existing application package references on the pool. Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. If omitted, or if you specify an empty collection, any existing application packages references are removed from the pool.
        items:
          $ref: "#/definitions/ApplicationPackageReference"
        title: A list of application packages to be installed on each compute node in the pool.
        type: array
      certificateReferences:
        description: This list replaces any existing certificate references configured on the pool. If you specify an empty collection, any existing certificate references are removed from the pool. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
        items:
          $ref: "#/definitions/CertificateReference"
        title: A list of certificates to be installed on each compute node in the pool.
        type: array
      metadata:
        description: This list replaces any existing metadata configured on the pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the pool.
        items:
          $ref: "#/definitions/MetadataItem"
        title: A list of name-value pairs associated with the pool as metadata.
        type: array
      startTask:
        $ref: "#/definitions/StartTask"
        description: If this element is present, it overwrites any existing start task. If omitted, any existing start task is removed from the pool.
        title: A task to run on each compute node as it joins the pool. The task runs when the node is added to the pool or when the node is restarted.
    required:
      - certificateReferences
      - metadata
      - applicationPackageReferences
    title: The set of changes to be made to a pool.
  PoolUpgradeOSParameter:
    properties:
      targetOSVersion:
        title: The Azure Guest OS version to be installed on the virtual machines in the pool.
        type: string
    required:
      - targetOSVersion
    title: Options for upgrading the operating system of compute nodes in a pool.
  PoolUsageMetrics:
    properties:
      dataEgressGiB:
        format: double
        title: The cross data center network egress from the pool during this interval, in GiB.
        type: number
      dataIngressGiB:
        format: double
        title: The cross data center network ingress to the pool during this interval, in GiB.
        type: number
      endTime:
        format: date-time
        title: The end time of the aggregation interval covered by this entry.
        type: string
      poolId:
        title: The ID of the pool whose metrics are aggregated in this entry.
        type: string
      startTime:
        format: date-time
        title: The start time of the aggregation interval covered by this entry.
        type: string
      totalCoreHours:
        format: double
        title: The total core hours used in the pool during this aggregation interval.
        type: number
      vmSize:
        description: For information about available sizes of virtual machines in pools, see Choose a VM size for compute nodes in an Azure Batch pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).
        title: The size of virtual machines in the pool. All VMs in a pool are the same size.
        type: string
    required:
      - poolId
      - startTime
      - endTime
      - vmSize
      - totalCoreHours
      - dataIngressGiB
      - dataEgressGiB
    title: Usage metrics for a pool across an aggregation interval.
  RecentJob:
    properties:
      id:
        title: The ID of the job.
        type: string
      url:
        title: The URL of the job.
        type: string
    title: Information about the most recent job to run under the job schedule.
  ResizeError:
    properties:
      code:
        title: An identifier for the pool resize error. Codes are invariant and are intended to be consumed programmatically.
        type: string
      message:
        title: A message describing the pool resize error, intended to be suitable for display in a user interface.
        type: string
      values:
        items:
          $ref: "#/definitions/NameValuePair"
        title: A list of additional error details related to the pool resize error.
        type: array
    title: An error that occurred when resizing a pool.
  ResourceFile:
    properties:
      blobSource:
        description: "This URL must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access."
        title: The URL of the file within Azure Blob Storage.
        type: string
      fileMode:
        description: This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
        title: The file permission mode attribute in octal format.
        type: string
      filePath:
        title: The location on the compute node to which to download the file, relative to the task's working directory.
        type: string
    required:
      - blobSource
      - filePath
    title: A file to be downloaded from Azure blob storage to a compute node.
  ResourceStatistics:
    properties:
      avgCPUPercentage:
        format: double
        title: The average CPU usage across all nodes in the pool (percentage per node).
        type: number
      avgDiskGiB:
        format: double
        title: The average used disk space in GiB across all nodes in the pool.
        type: number
      avgMemoryGiB:
        format: double
        title: The average memory usage in GiB across all nodes in the pool.
        type: number
      diskReadGiB:
        format: double
        title: The total amount of data in GiB of disk reads across all nodes in the pool.
        type: number
      diskReadIOps:
        format: int64
        title: The total number of disk read operations across all nodes in the pool.
        type: integer
      diskWriteGiB:
        format: double
        title: The total amount of data in GiB of disk writes across all nodes in the pool.
        type: number
      diskWriteIOps:
        format: int64
        title: The total number of disk write operations across all nodes in the pool.
        type: integer
      lastUpdateTime:
        format: date-time
        title: The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
        type: string
      networkReadGiB:
        format: double
        title: The total amount of data in GiB of network reads across all nodes in the pool.
        type: number
      networkWriteGiB:
        format: double
        title: The total amount of data in GiB of network writes across all nodes in the pool.
        type: number
      peakDiskGiB:
        format: double
        title: The peak used disk space in GiB across all nodes in the pool.
        type: number
      peakMemoryGiB:
        format: double
        title: The peak memory usage in GiB across all nodes in the pool.
        type: number
      startTime:
        format: date-time
        title: The start time of the time range covered by the statistics.
        type: string
    required:
      - startTime
      - lastUpdateTime
      - avgCPUPercentage
      - avgMemoryGiB
      - peakMemoryGiB
      - avgDiskGiB
      - peakDiskGiB
      - diskReadIOps
      - diskWriteIOps
      - diskReadGiB
      - diskWriteGiB
      - networkReadGiB
      - networkWriteGiB
    title: Statistics related to resource consumption by compute nodes in a pool.
  Schedule:
    properties:
      doNotRunAfter:
        description: If you do not specify a doNotRunAfter time, and you are creating a recurring job schedule, the job schedule will remain active until you explicitly terminate it.
        format: date-time
        title: A time after which no job will be created under this job schedule. The schedule will move to the completed state as soon as this deadline is past and there is no active job under this job schedule.
        type: string
      doNotRunUntil:
        description: If you do not specify a doNotRunUntil time, the schedule becomes ready to create jobs immediately.
        format: date-time
        title: The earliest time at which any job may be created under this job schedule.
        type: string
      recurrenceInterval:
        description: "Because a job schedule can have at most one active job under it at any given time, if it is time to create a new job under a job schedule, but the previous job is still running, the Batch service will not create the new job until the previous job finishes. If the previous job does not finish within the startWindow period of the new recurrenceInterval, then no new job will be scheduled for that interval. For recurring jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when jobs are created, add tasks to the jobs and terminate the jobs ready for the next recurrence. The default is that the schedule does not recur: one job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
        format: duration
        title: The time interval between the start times of two successive jobs under the job schedule. A job schedule can have at most one active job under it at any given time.
        type: string
      startWindow:
        description: If a job is not created within the startWindow interval, then the 'opportunity' is lost; no job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
        format: duration
        title: The time interval, starting from the time at which the schedule indicates a job should be created, within which a job must be created.
        type: string
    title: The schedule according to which jobs will be created
  StartTask:
    description: Batch will retry tasks when a recovery operation is triggered on a compute node. Examples of recovery operations include (but are not limited to) when an unhealthy compute node is rebooted or a compute node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all tasks should be idempotent. This means tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running tasks is to use some form of checkpointing.
    properties:
      commandLine:
        description: The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
        title: The command line of the start task.
        type: string
      containerSettings:
        $ref: "#/definitions/TaskContainerSettings"
        description: When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
        title: The settings for the container under which the start task runs.
      environmentSettings:
        items:
          $ref: "#/definitions/EnvironmentSetting"
        title: A list of environment variable settings for the start task.
        type: array
      maxTaskRetryCount:
        description: The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit.
        format: int32
        title: The maximum number of times the task may be retried.
        type: integer
      resourceFiles:
        description: Files listed under this element are located in the task's working directory.
        items:
          $ref: "#/definitions/ResourceFile"
        title: A list of files that the Batch service will download to the compute node before running the command line.  There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.
        type: array
      userIdentity:
        $ref: "#/definitions/UserIdentity"
        description: If omitted, the task runs as a non-administrative user unique to the task.
        title: The user identity under which the start task runs.
      waitForSuccess:
        description: If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and failure info details. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is false.
        title: Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node.
        type: boolean
    required:
      - commandLine
    title: A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged.
  StartTaskInformation:
    properties:
      containerInfo:
        $ref: "#/definitions/TaskContainerExecutionInformation"
        description: This property is set only if the task runs in a container context.
        title: Information about the container under which the task is executing.
      endTime:
        description: This is the end time of the most recent run of the start task, if that run has completed (even if that run failed and a retry is pending). This element is not present if the start task is currently running.
        format: date-time
        title: The time at which the start task stopped running.
        type: string
      exitCode:
        description: This property is set only if the start task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the start task (due to timeout, or user termination via the API) you may see an operating system-defined exit code.
        format: int32
        title: The exit code of the program specified on the start task command line.
        type: integer
      failureInfo:
        $ref: "#/definitions/TaskFailureInformation"
        description: This property is set only if the task is in the completed state and encountered a failure.
        title: Information describing the task failure, if any.
      lastRetryTime:
        description: This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not.
        format: date-time
        title: The most recent time at which a retry of the task started running.
        type: string
      result:
        $ref: "#/definitions/TaskExecutionResult"
        description: If the value is 'failed', then the details of the failure can be found in the failureInfo property.
        title: The result of the task execution.
      retryCount:
        description: Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints.
        format: int32
        title: The number of times the task has been retried by the Batch service.
        type: integer
      startTime:
        description: This value is reset every time the task is restarted or retried (that is, this is the most recent time at which the start task started running).
        format: date-time
        title: The time at which the start task started running.
        type: string
      state:
        enum:
          - running
          - completed
        title: The state of the start task on the compute node.
        type: string
        x-ms-enum:
          modelAsString: false
          name: StartTaskState
          values:
            - description: The start task is currently running.
              value: running
            - description: The start task has exited with exit code 0, or the start task has failed and the retry limit has reached, or the start task process did not run due to task preparation errors (such as resource file download failures).
              value: completed
    required:
      - state
      - startTime
      - retryCount
    title: Information about a start task running on a compute node.
  StorageAccountType:
    enum:
      - standard_lrs
      - premium_lrs
    title: The storage account type for use in creating data disks.
    type: string
    x-ms-enum:
      modelAsString: false
      name: StorageAccountType
      values:
        - description: The data disk should use standard locally redundant storage.
          name: StandardLRS
          value: standard_lrs
        - description: The data disk should use premium locally redundant storage.
          name: PremiumLRS
          value: premium_lrs
  SubtaskInformation:
    properties:
      containerInfo:
        $ref: "#/definitions/TaskContainerExecutionInformation"
        description: This property is set only if the task runs in a container context.
        title: Information about the container under which the task is executing.
      endTime:
        description: This property is set only if the subtask is in the Completed state.
        format: date-time
        title: The time at which the subtask completed.
        type: string
      exitCode:
        description: This property is set only if the subtask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the subtask (due to timeout, or user termination via the API) you may see an operating system-defined exit code.
        format: int32
        title: The exit code of the program specified on the subtask command line.
        type: integer
      failureInfo:
        $ref: "#/definitions/TaskFailureInformation"
        description: This property is set only if the task is in the completed state and encountered a failure.
        title: Information describing the task failure, if any.
      id:
        format: int32
        title: The ID of the subtask.
        type: integer
      nodeInfo:
        $ref: "#/definitions/ComputeNodeInformation"
        title: Information about the compute node on which the subtask ran.
      previousState:
        $ref: "#/definitions/SubtaskState"
        description: This property is not set if the subtask is in its initial running state.
        title: The previous state of the subtask.
      previousStateTransitionTime:
        description: This property is not set if the subtask is in its initial running state.
        format: date-time
        title: The time at which the subtask entered its previous state.
        type: string
      result:
        $ref: "#/definitions/TaskExecutionResult"
        description: If the value is 'failed', then the details of the failure can be found in the failureInfo property.
        title: The result of the task execution.
      startTime:
        format: date-time
        title: The time at which the subtask started running. If the subtask has been restarted or retried, this is the most recent time at which the subtask started running.
        type: string
      state:
        $ref: "#/definitions/SubtaskState"
        title: The current state of the subtask.
      stateTransitionTime:
        format: date-time
        title: The time at which the subtask entered its current state.
        type: string
    title: Information about an Azure Batch subtask.
  SubtaskState:
    enum:
      - preparing
      - running
      - completed
    title: The state of the subtask.
    type: string
    x-ms-enum:
      modelAsString: false
      name: SubtaskState
      values:
        - description: The task has been assigned to a compute node, but is waiting for a required Job Preparation task to complete on the node. If the Job Preparation task succeeds, the task will move to running. If the Job Preparation task fails, the task will return to active and will be eligible to be assigned to a different node.
          value: preparing
        - description: The task is running on a compute node. This includes task-level preparation such as downloading resource files or deploying application packages specified on the task - it does not necessarily mean that the task command line has started executing.
          value: running
        - description: The task is no longer eligible to run, usually because the task has finished successfully, or the task has finished unsuccessfully and has exhausted its retry limit. A task is also marked as completed if an error occurred launching the task, or when the task has been terminated.
          value: completed
  TaskAddCollectionParameter:
    properties:
      value:
        description: The total serialized size of this collection must be less than 1MB. If it is greater than 1MB (for example if each task has 100's of resource files or environment variables), the request will fail with code 'RequestBodyTooLarge' and should be retried again with fewer tasks.
        items:
          $ref: "#/definitions/TaskAddParameter"
        maxItems: 100
        title: The collection of tasks to add. The maximum count of tasks is 100.
        type: array
    required:
      - value
    title: A collection of Azure Batch tasks to add.
  TaskAddCollectionResult:
    properties:
      value:
        items:
          $ref: "#/definitions/TaskAddResult"
        title: The results of the add task collection operation.
        type: array
    title: The result of adding a collection of tasks to a job.
  TaskAddParameter:
    description: Batch will retry tasks when a recovery operation is triggered on a compute node. Examples of recovery operations include (but are not limited to) when an unhealthy compute node is rebooted or a compute node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all tasks should be idempotent. This means tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running tasks is to use some form of checkpointing.
    properties:
      affinityInfo:
        $ref: "#/definitions/AffinityInformation"
        title: A locality hint that can be used by the Batch service to select a compute node on which to start the new task.
      applicationPackageReferences:
        description: Application packages are downloaded and deployed to a shared directory, not the task working directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails.
        items:
          $ref: "#/definitions/ApplicationPackageReference"
        title: A list of application packages that the Batch service will deploy to the compute node before running the command line.
        type: array
      authenticationTokenSettings:
        $ref: "#/definitions/AuthenticationTokenSettings"
        description: If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job.
        title: The settings for an authentication token that the task can use to perform Batch service operations.
      commandLine:
        description: For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
        title: The command line of the task.
        type: string
      constraints:
        $ref: "#/definitions/TaskConstraints"
        description: If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the job, and the maxWallClockTime and retentionTime are infinite.
        title: The execution constraints that apply to this task.
      containerSettings:
        $ref: "#/definitions/TaskContainerSettings"
        description: If the pool that will run this task has containerConfiguration set, this must be set as well. If the pool that will run this task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
        title: The settings for the container under which the task runs.
      dependsOn:
        $ref: "#/definitions/TaskDependencies"
        description: This task will not be scheduled until all tasks that it depends on have completed successfully. If any of those tasks fail and exhaust their retry counts, this task will never be scheduled. If the job does not have usesTaskDependencies set to true, and this element is present, the request fails with error code TaskDependenciesNotSpecifiedOnJob.
        title: The tasks that this task depends on.
      displayName:
        description: The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
        title: A display name for the task.
        type: string
      environmentSettings:
        items:
          $ref: "#/definitions/EnvironmentSetting"
        title: A list of environment variable settings for the task.
        type: array
      exitConditions:
        $ref: "#/definitions/ExitConditions"
        description: How the Batch service should respond when the task completes.
      id:
        description: The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a job that differ only by case).
        title: A string that uniquely identifies the task within the job.
        type: string
      multiInstanceSettings:
        $ref: "#/definitions/MultiInstanceSettings"
        title: An object that indicates that the task is a multi-instance task, and contains information about how to run the multi-instance task.
      outputFiles:
        description: For multi-instance tasks, the files will only be uploaded from the compute node on which the primary task is executed.
        items:
          $ref: "#/definitions/OutputFile"
        title: A list of files that the Batch service will upload from the compute node after running the command line.
        type: array
      resourceFiles:
        description: For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. There is a maximum size for the list of resource files.  When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.
        items:
          $ref: "#/definitions/ResourceFile"
        title: A list of files that the Batch service will download to the compute node before running the command line.
        type: array
      userIdentity:
        $ref: "#/definitions/UserIdentity"
        description: If omitted, the task runs as a non-administrative user unique to the task.
        title: The user identity under which the task runs.
    required:
      - id
      - commandLine
    title: An Azure Batch task to add.
  TaskAddResult:
    properties:
      eTag:
        description: You can use this to detect whether the task has changed between requests. In particular, you can be pass the ETag with an Update Task request to specify that your changes should take effect only if nobody else has modified the job in the meantime.
        title: The ETag of the task, if the task was successfully added.
        type: string
      error:
        $ref: "#/definitions/BatchError"
        title: The error encountered while attempting to add the task.
      lastModified:
        format: date-time
        title: The last modified time of the task.
        type: string
      location:
        title: The URL of the task, if the task was successfully added.
        type: string
      status:
        enum:
          - success
          - clienterror
          - servererror
        title: The status of the add task request.
        type: string
        x-ms-enum:
          modelAsString: false
          name: TaskAddStatus
          values:
            - description: The task was added successfully.
              value: success
            - description: The task failed to add due to a client error and should not be retried without modifying the request as appropriate.
              name: clientError
              value: clienterror
            - description: Task failed to add due to a server error and can be retried without modification.
              name: serverError
              value: servererror
      taskId:
        title: The ID of the task for which this is the result.
        type: string
    required:
      - status
      - taskId
    title: Result for a single task added as part of an add task collection operation.
  TaskConstraints:
    properties:
      maxTaskRetryCount:
        description: Note that this value specifically controls the number of retries for the task executable due to a nonzero exit code. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task after the first attempt. If the maximum retry count is -1, the Batch service retries the task without limit. Resource files and application packages are only downloaded again if the task is retried on a new compute node.
        format: int32
        title: The maximum number of times the task may be retried. The Batch service retries a task if its exit code is nonzero.
        type: integer
      maxWallClockTime:
        description: If this is not specified, there is no time limit on how long the task may run.
        format: duration
        title: The maximum elapsed time that the task may run, measured from the time the task starts. If the task does not complete within the time limit, the Batch service terminates it.
        type: string
      retentionTime:
        description: The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged.
        format: duration
        title: The minimum time to retain the task directory on the compute node where it ran, from the time it completes execution. After this time, the Batch service may delete the task directory and all its contents.
        type: string
    title: Execution constraints to apply to a task.
  TaskContainerExecutionInformation:
    properties:
      containerId:
        title: The ID of the container.
        type: string
      error:
        description: This is the detailed error string from the Docker service, if available. It is equivalent to the error field returned by "docker inspect".
        title: Detailed error information about the container.
        type: string
      state:
        description: This is the state of the container according to the Docker service. It is equivalent to the status field returned by "docker inspect".
        title: The state of the container.
        type: string
    title: Contains information about the container which a task is executing.
  TaskContainerSettings:
    properties:
      containerRunOptions:
        description: These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
        title: Additional options to the container create command.
        type: string
      imageName:
        description: This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
        title: The image to use to create the container in which the task will run.
        type: string
      registry:
        $ref: "#/definitions/ContainerRegistry"
        description: This setting can be omitted if was already provided at pool creation.
        title: The private registry which contains the container image.
    required:
      - imageName
    title: The container settings for a task.
  TaskCounts:
    properties:
      active:
        format: int32
        title: The number of tasks in the active state.
        type: integer
      completed:
        format: int32
        title: The number of tasks in the completed state.
        type: integer
      failed:
        format: int32
        title: The number of tasks which failed. A task fails if its result (found in the executionInfo property) is 'failure'.
        type: integer
      running:
        format: int32
        title: The number of tasks in the running or preparing state.
        type: integer
      succeeded:
        format: int32
        title: The number of tasks which succeeded. A task succeeds if its result (found in the executionInfo property) is 'success'.
        type: integer
    required:
      - active
      - running
      - completed
      - succeeded
      - failed
    title: The task counts for a job.
  TaskDependencies:
    properties:
      taskIdRanges:
        items:
          $ref: "#/definitions/TaskIdRange"
        title: The list of task ID ranges that this task depends on. All tasks in all ranges must complete successfully before the dependent task can be scheduled.
        type: array
      taskIds:
        description: The taskIds collection is limited to 64000 characters total (i.e. the combined length of all task IDs). If the taskIds collection exceeds the maximum length, the Add Task request fails with error code TaskDependencyListTooLong. In this case consider using task ID ranges instead.
        items:
          type: string
        title: The list of task IDs that this task depends on. All tasks in this list must complete successfully before the dependent task can be scheduled.
        type: array
    title: Specifies any dependencies of a task. Any task that is explicitly specified or within a dependency range must complete before the dependant task will be scheduled.
  TaskExecutionInformation:
    properties:
      containerInfo:
        $ref: "#/definitions/TaskContainerExecutionInformation"
        description: This property is set only if the task runs in a container context.
        title: Information about the container under which the task is executing.
      endTime:
        description: This property is set only if the task is in the Completed state.
        format: date-time
        title: The time at which the task completed.
        type: string
      exitCode:
        description: This property is set only if the task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the task (due to timeout, or user termination via the API) you may see an operating system-defined exit code.
        format: int32
        title: The exit code of the program specified on the task command line.
        type: integer
      failureInfo:
        $ref: "#/definitions/TaskFailureInformation"
        description: This property is set only if the task is in the completed state and encountered a failure.
        title: Information describing the task failure, if any.
      lastRequeueTime:
        description: This property is set only if the requeueCount is nonzero.
        format: date-time
        title: The most recent time at which the task has been requeued by the Batch service as the result of a user request.
        type: string
      lastRetryTime:
        description: This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not.
        format: date-time
        title: The most recent time at which a retry of the task started running.
        type: string
      requeueCount:
        description: When the user removes nodes from a pool (by resizing/shrinking the pool) or when the job is being disabled, the user can specify that running tasks on the nodes be requeued for execution. This count tracks how many times the task has been requeued for these reasons.
        format: int32
        title: The number of times the task has been requeued by the Batch service as the result of a user request.
        type: integer
      result:
        $ref: "#/definitions/TaskExecutionResult"
        description: If the value is 'failed', then the details of the failure can be found in the failureInfo property.
        title: The result of the task execution.
      retryCount:
        description: Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints.
        format: int32
        title: The number of times the task has been retried by the Batch service.
        type: integer
      startTime:
        description: "'Running' corresponds to the running state, so if the task specifies resource files or application packages, then the start time reflects the time at which the task started downloading or deploying these. If the task has been restarted or retried, this is the most recent time at which the task started running. This property is present only for tasks that are in the running or completed state."
        format: date-time
        title: The time at which the task started running.
        type: string
    required:
      - requeueCount
      - retryCount
    title: Information about the execution of a task.
  TaskExecutionResult:
    enum:
      - success
      - failure
    title: The result of task execution.
    type: string
    x-ms-enum:
      modelAsString: false
      name: TaskExecutionResult
      values:
        - description: The task ran successfully.
          name: success
          value: success
        - description: There was an error during processing of the task. The failure may have occurred before the task process was launched, while the task process was executing, or after the task process exited.
          name: failure
          value: failure
  TaskFailureInformation:
    properties:
      category:
        $ref: "#/definitions/ErrorCategory"
        title: The category of the task error.
      code:
        title: An identifier for the task error. Codes are invariant and are intended to be consumed programmatically.
        type: string
      details:
        items:
          $ref: "#/definitions/NameValuePair"
        title: A list of additional details related to the error.
        type: array
      message:
        title: A message describing the task error, intended to be suitable for display in a user interface.
        type: string
    required:
      - category
    title: Information about a task failure.
  TaskIdRange:
    description: The start and end of the range are inclusive. For example, if a range has start 9 and end 12, then it represents tasks '9', '10', '11' and '12'.
    properties:
      end:
        format: int32
        title: The last task ID in the range.
        type: integer
      start:
        format: int32
        title: The first task ID in the range.
        type: integer
    required:
      - start
      - end
    title: A range of task IDs that a task can depend on. All tasks with IDs in the range must complete successfully before the dependent task can be scheduled.
  TaskInformation:
    properties:
      executionInfo:
        $ref: "#/definitions/TaskExecutionInformation"
        title: Information about the execution of the task.
      jobId:
        title: The ID of the job to which the task belongs.
        type: string
      subtaskId:
        format: int32
        title: The ID of the subtask if the task is a multi-instance task.
        type: integer
      taskId:
        title: The ID of the task.
        type: string
      taskState:
        $ref: "#/definitions/TaskState"
        title: The current state of the task.
      taskUrl:
        title: The URL of the task.
        type: string
    required:
      - taskState
    title: Information about a task running on a compute node.
  TaskSchedulingPolicy:
    properties:
      nodeFillType:
        enum:
          - spread
          - pack
        title: How tasks are distributed across compute nodes in a pool.
        type: string
        x-ms-enum:
          modelAsString: false
          name: ComputeNodeFillType
          values:
            - description: Tasks should be assigned evenly across all nodes in the pool.
              value: spread
            - description: As many tasks as possible (maxTasksPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool.
              value: pack
    required:
      - nodeFillType
    title: Specifies how tasks should be distributed across compute nodes.
  TaskState:
    enum:
      - active
      - preparing
      - running
      - completed
    title: The state of the task.
    type: string
    x-ms-enum:
      modelAsString: false
      name: TaskState
      values:
        - description: The task is queued and able to run, but is not currently assigned to a compute node. A task enters this state when it is created, when it is enabled after being disabled, or when it is awaiting a retry after a failed run.
          value: active
        - description: The task has been assigned to a compute node, but is waiting for a required Job Preparation task to complete on the node. If the Job Preparation task succeeds, the task will move to running. If the Job Preparation task fails, the task will return to active and will be eligible to be assigned to a different node.
          value: preparing
        - description: The task is running on a compute node. This includes task-level preparation such as downloading resource files or deploying application packages specified on the task - it does not necessarily mean that the task command line has started executing.
          value: running
        - description: The task is no longer eligible to run, usually because the task has finished successfully, or the task has finished unsuccessfully and has exhausted its retry limit. A task is also marked as completed if an error occurred launching the task, or when the task has been terminated.
          value: completed
  TaskStatistics:
    properties:
      kernelCPUTime:
        format: duration
        title: The total kernel mode CPU time (summed across all cores and all compute nodes) consumed by the task.
        type: string
      lastUpdateTime:
        format: date-time
        title: The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
        type: string
      readIOGiB:
        format: double
        title: The total gibibytes read from disk by the task.
        type: number
      readIOps:
        format: int64
        title: The total number of disk read operations made by the task.
        type: integer
      startTime:
        format: date-time
        title: The start time of the time range covered by the statistics.
        type: string
      url:
        title: The URL of the statistics.
        type: string
      userCPUTime:
        format: duration
        title: The total user mode CPU time (summed across all cores and all compute nodes) consumed by the task.
        type: string
      waitTime:
        format: duration
        title: The total wait time of the task. The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.)
        type: string
      wallClockTime:
        description: The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If the task was retried, this includes the wall clock time of all the task retries.
        format: duration
        title: The total wall clock time of the task.
        type: string
      writeIOGiB:
        format: double
        title: The total gibibytes written to disk by the task.
        type: number
      writeIOps:
        format: int64
        title: The total number of disk write operations made by the task.
        type: integer
    required:
      - url
      - startTime
      - lastUpdateTime
      - userCPUTime
      - kernelCPUTime
      - wallClockTime
      - readIOps
      - writeIOps
      - readIOGiB
      - writeIOGiB
      - waitTime
    title: Resource usage statistics for a task.
  TaskUpdateParameter:
    properties:
      constraints:
        $ref: "#/definitions/TaskConstraints"
        description: If omitted, the task is given the default constraints. For multi-instance tasks, updating the retention time applies only to the primary task and not subtasks.
        title: Constraints that apply to this task.
    title: The set of changes to be made to a task.
  UploadBatchServiceLogsConfiguration:
    properties:
      containerUrl:
        description: The URL must include a Shared Access Signature (SAS) granting write permissions to the container. The SAS duration must allow enough time for the upload to finish. The start time for SAS is optional and recommended to not be specified.
        title: The URL of the container within Azure Blob Storage to which to upload the Batch Service log file(s).
        type: string
      endTime:
        description: Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested. If omitted, the default is to upload all logs available after the startTime.
        format: date-time
        title: The end of the time range from which to upload Batch Service log file(s).
        type: string
      startTime:
        description: Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested.
        format: date-time
        title: The start of the time range from which to upload Batch Service log file(s).
        type: string
    required:
      - containerUrl
      - startTime
    title: The Azure Batch service log files upload configuration for a compute node.
  UploadBatchServiceLogsResult:
    properties:
      numberOfFilesUploaded:
        format: int32
        title: The number of log files which will be uploaded.
        type: integer
      virtualDirectoryName:
        description: The virtual directory name is part of the blob name for each log file uploaded, and it is built based poolId, nodeId and a unique identifier.
        title: The virtual directory within Azure Blob Storage container to which the Batch Service log file(s) will be uploaded.
        type: string
    required:
      - virtualDirectoryName
      - numberOfFilesUploaded
    title: The result of uploading Batch service log files from a specific compute node.
  UsageStatistics:
    properties:
      dedicatedCoreTime:
        format: duration
        title: The aggregated wall-clock time of the dedicated compute node cores being part of the pool.
        type: string
      lastUpdateTime:
        format: date-time
        title: The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime.
        type: string
      startTime:
        format: date-time
        title: The start time of the time range covered by the statistics.
        type: string
    required:
      - startTime
      - lastUpdateTime
      - dedicatedCoreTime
    title: Statistics related to pool usage information.
  UserAccount:
    properties:
      elevationLevel:
        $ref: "#/definitions/ElevationLevel"
        description: The default value is nonAdmin.
        title: The elevation level of the user account.
      linuxUserConfiguration:
        $ref: "#/definitions/LinuxUserConfiguration"
        description: This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
        title: The Linux-specific user configuration for the user account.
      name:
        title: The name of the user account.
        type: string
      password:
        title: The password for the user account.
        type: string
    required:
      - name
      - password
    title: Properties used to create a user used to execute tasks on an Azure Batch node.
  UserIdentity:
    description: Specify either the userName or autoUser property, but not both. On CloudServiceConfiguration pools, this user is logged in with the INTERACTIVE flag. On Windows VirtualMachineConfiguration pools, this user is logged in with the BATCH flag.
    properties:
      autoUser:
        $ref: "#/definitions/AutoUserSpecification"
        description: The userName and autoUser properties are mutually exclusive; you must specify one but not both.
        title: The auto user under which the task is run.
      username:
        description: The userName and autoUser properties are mutually exclusive; you must specify one but not both.
        title: The name of the user identity under which the task is run.
        type: string
        x-ms-client-name: userName
    title: The definition of the user identity under which the task is run.
  VirtualMachineConfiguration:
    properties:
      containerConfiguration:
        $ref: "#/definitions/ContainerConfiguration"
        description: If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it.
        title: The container configuration for the pool.
      dataDisks:
        description: This property must be specified if the compute nodes in the pool need to have empty data disks attached to them. This cannot be updated. Each node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the node is removed from the pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine.
        items:
          $ref: "#/definitions/DataDisk"
        title: The configuration for data disks attached to the compute nodes in the pool.
        type: array
      imageReference:
        $ref: "#/definitions/ImageReference"
        title: A reference to the Azure Virtual Machines Marketplace image or the custom Virtual Machine image to use.
      licenseType:
        description: |
          This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:

           Windows_Server - The on-premises license is for Windows Server.
           Windows_Client - The on-premises license is for Windows Client.
        title: The type of on-premises license to be used when deploying the operating system.
        type: string
      nodeAgentSKUId:
        description: The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation.
        title: The SKU of the Batch node agent to be provisioned on compute nodes in the pool.
        type: string
      osDisk:
        $ref: "#/definitions/OSDisk"
        title: Settings for the operating system disk of the Virtual Machine.
      windowsConfiguration:
        $ref: "#/definitions/WindowsConfiguration"
        description: This property must not be specified if the imageReference or osDisk property specifies a Linux OS image.
        title: Windows operating system settings on the virtual machine.
    required:
      - nodeAgentSKUId
      - imageReference
    title: The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure.
  WindowsConfiguration:
    properties:
      enableAutomaticUpdates:
        description: If omitted, the default value is true.
        title: Whether automatic updates are enabled on the virtual machine.
        type: boolean
    title: Windows operating system settings to apply to the virtual machine.
