@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api BatchService
@base https://batch.core.windows.net
@version 2018-08-01.7.0
@common_fields {api-version: any # Client API Version., timeout: any # The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds., client-request-id: any # 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., return-client-request-id: any # Whether the server should return the client-request-id in the response., ocp-date: any # 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.}
@endpoints 77
@hint download_for_search
@toc applications(2), poolusagemetrics(1), nodeagentskus(1), nodecounts(1), lifetimepoolstats(1), lifetimejobstats(1), certificates(2), certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})(3), jobs(24), pools(30), jobschedules(11)

@group applications
@endpoint GET /applications
@desc Lists all of the applications available in the specified account.
@optional {maxresults: any # The maximum number of items to return in the response. A maximum of 1000 applications can be returned.}
@returns(200) A response containing the list of applications.

@endpoint GET /applications/{applicationId}
@desc Gets information about the specified application.
@required {applicationId: any # The ID of the application.}
@returns(200) A response containing the application.

@endgroup

@group poolusagemetrics
@endpoint GET /poolusagemetrics
@desc Lists the usage metrics, aggregated by pool across individual time intervals, for the specified account.
@optional {starttime: any # 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., endtime: any # 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., $filter: any # 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., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 results will be returned.}
@returns(200) A response containing the list of pool usage details.

@endgroup

@group nodeagentskus
@endpoint GET /nodeagentskus
@desc Lists all node agent SKUs supported by the Azure Batch service.
@optional {$filter: any # 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., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 results will be returned.}
@returns(200) A response containing the list of node agent SKUs.

@endgroup

@group nodecounts
@endpoint GET /nodecounts
@desc Gets the number of nodes in each state, grouped by pool.
@optional {$filter: any # 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., maxresults: any # The maximum number of items to return in the response.}
@returns(200) The response contains the number of nodes in each node state, grouped by pool.

@endgroup

@group lifetimepoolstats
@endpoint GET /lifetimepoolstats
@desc Gets lifetime summary statistics for all of the pools in the specified account.
@returns(200) A response containing the pool statistics for the lifetime of the Batch account.

@endgroup

@group lifetimejobstats
@endpoint GET /lifetimejobstats
@desc Gets lifetime summary statistics for all of the jobs in the specified account.
@returns(200) A response containing the job statistics for the lifetime of the Batch account.

@endgroup

@group certificates
@endpoint POST /certificates
@desc Adds a certificate to the specified account.
@required {certificate: any # The certificate to be added.}
@returns(201) The request to the Batch service was successful.

@endpoint GET /certificates
@desc Lists all of the certificates that have been added to the specified account.
@optional {$filter: any # 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., $select: any # An OData $select clause., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 certificates can be returned.}
@returns(200) A response containing the list of certificates.

@endgroup

@group certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})
@endpoint POST /certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete
@desc Cancels a failed deletion of a certificate from the specified account.
@required {thumbprintAlgorithm: any # The algorithm used to derive the thumbprint parameter. This must be sha1., thumbprint: any # The thumbprint of the certificate being deleted.}
@returns(204) The request to the Batch service was successful.

@endpoint DELETE /certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})
@desc Deletes a certificate from the specified account.
@required {thumbprintAlgorithm: any # The algorithm used to derive the thumbprint parameter. This must be sha1., thumbprint: any # The thumbprint of the certificate to be deleted.}
@returns(202) The request to the Batch service was successful.

@endpoint GET /certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})
@desc Gets information about the specified certificate.
@required {thumbprintAlgorithm: any # The algorithm used to derive the thumbprint parameter. This must be sha1., thumbprint: any # The thumbprint of the certificate to get.}
@optional {$select: any # An OData $select clause.}
@returns(200) A response containing the certificate.

@endgroup

@group jobs
@endpoint DELETE /jobs/{jobId}/tasks/{taskId}/files/{filePath}
@desc Deletes the specified task file from the compute node where the task ran.
@required {jobId: any # The ID of the job that contains the task., taskId: any # The ID of the task whose file you want to delete., filePath: any # The path to the task file or directory that you want to delete.}
@optional {recursive: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint GET /jobs/{jobId}/tasks/{taskId}/files/{filePath}
@desc Returns the content of the specified task file.
@required {jobId: any # The ID of the job that contains the task., taskId: any # The ID of the task whose file you want to retrieve., filePath: any # The path to the task file that you want to get the content of.}
@optional {ocp-range: any # The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) A response containing the file content.

@endpoint HEAD /jobs/{jobId}/tasks/{taskId}/files/{filePath}
@desc Gets the properties of the specified task file.
@required {jobId: any # The ID of the job that contains the task., taskId: any # The ID of the task whose file you want to get the properties of., filePath: any # The path to the task file that you want to get the properties of.}
@optional {If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) A response containing the file properties.

@endgroup

@group pools
@endpoint DELETE /pools/{poolId}/nodes/{nodeId}/files/{filePath}
@desc Deletes the specified file from the compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node from which you want to delete the file., filePath: any # The path to the file or directory that you want to delete.}
@optional {recursive: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint GET /pools/{poolId}/nodes/{nodeId}/files/{filePath}
@desc Returns the content of the specified compute node file.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node that contains the file., filePath: any # The path to the compute node file that you want to get the content of.}
@optional {ocp-range: any # The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) The file content.

@endpoint HEAD /pools/{poolId}/nodes/{nodeId}/files/{filePath}
@desc Gets the properties of the specified compute node file.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node that contains the file., filePath: any # The path to the compute node file that you want to get the properties of.}
@optional {If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) A response containing the file properties.

@endgroup

@group jobs
@endpoint GET /jobs/{jobId}/tasks/{taskId}/files
@desc Lists the files in a task's directory on its compute node.
@required {jobId: any # The ID of the job that contains the task., taskId: any # The ID of the task whose files you want to list.}
@optional {$filter: any # 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., recursive: any # 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., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 files can be returned.}
@returns(200) A response containing the list of files.

@endgroup

@group pools
@endpoint GET /pools/{poolId}/nodes/{nodeId}/files
@desc Lists all of the files in task directories on the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node whose files you want to list.}
@optional {$filter: any # 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., recursive: any # Whether to list children of a directory., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 files can be returned.}
@returns(200) A response containing the list of files.

@endgroup

@group jobschedules
@endpoint HEAD /jobschedules/{jobScheduleId}
@desc Checks the specified job schedule exists.
@required {jobScheduleId: any # The ID of the job schedule which you want to check.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) A response containing headers related to the job schedule, if it exists.
@errors {404: The job schedule does not exist.}

@endpoint DELETE /jobschedules/{jobScheduleId}
@desc Deletes a job schedule from the specified account.
@required {jobScheduleId: any # The ID of the job schedule to delete.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint GET /jobschedules/{jobScheduleId}
@desc Gets information about the specified job schedule.
@required {jobScheduleId: any # The ID of the job schedule to get.}
@optional {$select: any # An OData $select clause., $expand: any # An OData $expand clause., If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) A response containing the job schedule.

@endpoint PATCH /jobschedules/{jobScheduleId}
@desc Updates the properties of the specified job schedule.
@required {jobScheduleId: any # The ID of the job schedule to update., jobSchedulePatchParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint PUT /jobschedules/{jobScheduleId}
@desc Updates the properties of the specified job schedule.
@required {jobScheduleId: any # The ID of the job schedule to update., jobScheduleUpdateParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint POST /jobschedules/{jobScheduleId}/disable
@desc Disables a job schedule.
@required {jobScheduleId: any # The ID of the job schedule to disable.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(204) The request to the Batch service was successful.

@endpoint POST /jobschedules/{jobScheduleId}/enable
@desc Enables a job schedule.
@required {jobScheduleId: any # The ID of the job schedule to enable.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(204) The request to the Batch service was successful.

@endpoint POST /jobschedules/{jobScheduleId}/terminate
@desc Terminates a job schedule.
@required {jobScheduleId: any # The ID of the job schedule to terminates.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint POST /jobschedules
@desc Adds a job schedule to the specified account.
@required {cloudJobSchedule: any # The job schedule to be added.}
@returns(201) The request to the Batch service was successful.

@endpoint GET /jobschedules
@desc Lists all of the job schedules in the specified account.
@optional {$filter: any # 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., $select: any # An OData $select clause., $expand: any # An OData $expand clause., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 job schedules can be returned.}
@returns(200) A response containing the list of job schedules.

@endgroup

@group jobs
@endpoint DELETE /jobs/{jobId}
@desc Deletes a job.
@required {jobId: any # The ID of the job to delete.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint GET /jobs/{jobId}
@desc Gets information about the specified job.
@required {jobId: any # The ID of the job.}
@optional {$select: any # An OData $select clause., $expand: any # An OData $expand clause., If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) A response containing the job.

@endpoint PATCH /jobs/{jobId}
@desc Updates the properties of the specified job.
@required {jobId: any # The ID of the job whose properties you want to update., jobPatchParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint PUT /jobs/{jobId}
@desc Updates the properties of the specified job.
@required {jobId: any # The ID of the job whose properties you want to update., jobUpdateParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint POST /jobs/{jobId}/disable
@desc Disables the specified job, preventing new tasks from running.
@required {jobId: any # The ID of the job to disable., jobDisableParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint POST /jobs/{jobId}/enable
@desc Enables the specified job, allowing new tasks to run.
@required {jobId: any # The ID of the job to enable.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint POST /jobs/{jobId}/terminate
@desc Terminates the specified job, marking it as completed.
@required {jobId: any # The ID of the job to terminate.}
@optional {jobTerminateParameter: any # The parameters for the request., If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint POST /jobs
@desc Adds a job to the specified account.
@required {job: any # The job to be added.}
@returns(201) The request to the Batch service was successful.

@endpoint GET /jobs
@desc Lists all of the jobs in the specified account.
@optional {$filter: any # 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., $select: any # An OData $select clause., $expand: any # An OData $expand clause., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 jobs can be returned.}
@returns(200) A response containing the list of jobs.

@endgroup

@group jobschedules
@endpoint GET /jobschedules/{jobScheduleId}/jobs
@desc Lists the jobs that have been created under the specified job schedule.
@required {jobScheduleId: any # The ID of the job schedule from which you want to get a list of jobs.}
@optional {$filter: any # 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., $select: any # An OData $select clause., $expand: any # An OData $expand clause., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 jobs can be returned.}
@returns(200) A response containing the list of jobs.

@endgroup

@group jobs
@endpoint GET /jobs/{jobId}/jobpreparationandreleasetaskstatus
@desc 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.
@required {jobId: any # The ID of the job.}
@optional {$filter: any # 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., $select: any # An OData $select clause., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 tasks can be returned.}
@returns(200) A response containing a list of Job Preparation and Job Release task statuses.

@endpoint GET /jobs/{jobId}/taskcounts
@desc Gets the task counts for the specified job.
@required {jobId: any # The ID of the job.}
@returns(200) A response containing the task counts for the specified job.

@endgroup

@group pools
@endpoint POST /pools
@desc Adds a pool to the specified account.
@required {pool: any # The pool to be added.}
@returns(201) The request to the Batch service was successful.

@endpoint GET /pools
@desc Lists all of the pools in the specified account.
@optional {$filter: any # 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., $select: any # An OData $select clause., $expand: any # An OData $expand clause., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 pools can be returned.}
@returns(200) A response containing the list of pools.

@endpoint DELETE /pools/{poolId}
@desc Deletes a pool from the specified account.
@required {poolId: any # The ID of the pool to delete.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint HEAD /pools/{poolId}
@desc Gets basic properties of a pool.
@required {poolId: any # The ID of the pool to get.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) A response containing headers related to the pool, if it exists.
@errors {404: The pool does not exist.}

@endpoint GET /pools/{poolId}
@desc Gets information about the specified pool.
@required {poolId: any # The ID of the pool to get.}
@optional {$select: any # An OData $select clause., $expand: any # An OData $expand clause., If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) A response containing the pool.

@endpoint PATCH /pools/{poolId}
@desc Updates the properties of the specified pool.
@required {poolId: any # The ID of the pool to update., poolPatchParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/disableautoscale
@desc Disables automatic scaling for a pool.
@required {poolId: any # The ID of the pool on which to disable automatic scaling.}
@returns(200) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/enableautoscale
@desc Enables automatic scaling for a pool.
@required {poolId: any # The ID of the pool on which to enable automatic scaling., poolEnableAutoScaleParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/evaluateautoscale
@desc Gets the result of evaluating an automatic scaling formula on the pool.
@required {poolId: any # The ID of the pool on which to evaluate the automatic scaling formula., poolEvaluateAutoScaleParameter: any # The parameters for the request.}
@returns(200) A response containing the results of the autoscale evaluation.

@endpoint POST /pools/{poolId}/resize
@desc Changes the number of compute nodes that are assigned to a pool.
@required {poolId: any # The ID of the pool to resize., poolResizeParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/stopresize
@desc Stops an ongoing resize operation on the pool.
@required {poolId: any # The ID of the pool whose resizing you want to stop.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/updateproperties
@desc Updates the properties of the specified pool.
@required {poolId: any # The ID of the pool to update., poolUpdatePropertiesParameter: any # The parameters for the request.}
@returns(204) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/upgradeos
@desc Upgrades the operating system of the specified pool.
@required {poolId: any # The ID of the pool to upgrade., poolUpgradeOSParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/removenodes
@desc Removes compute nodes from the specified pool.
@required {poolId: any # The ID of the pool from which you want to remove nodes., nodeRemoveParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(202) The request to the Batch service was successful.

@endgroup

@group jobs
@endpoint POST /jobs/{jobId}/tasks
@desc Adds a task to the specified job.
@required {jobId: any # The ID of the job to which the task is to be added., task: any # The task to be added.}
@returns(201) The request to the Batch service was successful.

@endpoint GET /jobs/{jobId}/tasks
@desc Lists all of the tasks that are associated with the specified job.
@required {jobId: any # The ID of the job.}
@optional {$filter: any # 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., $select: any # An OData $select clause., $expand: any # An OData $expand clause., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 tasks can be returned.}
@returns(200) A response containing the list of tasks.

@endpoint POST /jobs/{jobId}/addtaskcollection
@desc Adds a collection of tasks to the specified job.
@required {jobId: any # The ID of the job to which the task collection is to be added., taskCollection: any # The tasks to be added.}
@returns(200) A response containing the results of the add task collection operation.

@endpoint DELETE /jobs/{jobId}/tasks/{taskId}
@desc Deletes a task from the specified job.
@required {jobId: any # The ID of the job from which to delete the task., taskId: any # The ID of the task to delete.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint GET /jobs/{jobId}/tasks/{taskId}
@desc Gets information about the specified task.
@required {jobId: any # The ID of the job that contains the task., taskId: any # The ID of the task to get information about.}
@optional {$select: any # An OData $select clause., $expand: any # An OData $expand clause., If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) A response containing the task.

@endpoint PUT /jobs/{jobId}/tasks/{taskId}
@desc Updates the properties of the specified task.
@required {jobId: any # The ID of the job containing the task., taskId: any # The ID of the task to update., taskUpdateParameter: any # The parameters for the request.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(200) The request to the Batch service was successful.

@endpoint GET /jobs/{jobId}/tasks/{taskId}/subtasksinfo
@desc Lists all of the subtasks that are associated with the specified multi-instance task.
@required {jobId: any # The ID of the job., taskId: any # The ID of the task.}
@optional {$select: any # An OData $select clause.}
@returns(200) A response containing the list of subtasks.

@endpoint POST /jobs/{jobId}/tasks/{taskId}/terminate
@desc Terminates the specified task.
@required {jobId: any # The ID of the job containing the task., taskId: any # The ID of the task to terminate.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(204) The request to the Batch service was successful.

@endpoint POST /jobs/{jobId}/tasks/{taskId}/reactivate
@desc Reactivates a task, allowing it to run again even if its retry count has been exhausted.
@required {jobId: any # The ID of the job containing the task., taskId: any # The ID of the task to reactivate.}
@optional {If-Match: any # 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., If-None-Match: any # 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., If-Modified-Since: any # 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., If-Unmodified-Since: any # 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.}
@returns(204) The request to the Batch service was successful.

@endgroup

@group pools
@endpoint POST /pools/{poolId}/nodes/{nodeId}/users
@desc Adds a user account to the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the machine on which you want to create a user account., user: any # The user account to be created.}
@returns(201) The request to the Batch service was successful.

@endpoint DELETE /pools/{poolId}/nodes/{nodeId}/users/{userName}
@desc Deletes a user account from the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the machine on which you want to delete a user account., userName: any # The name of the user account to delete.}
@returns(200) The request to the Batch service was successful.

@endpoint PUT /pools/{poolId}/nodes/{nodeId}/users/{userName}
@desc Updates the password and expiration time of a user account on the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the machine on which you want to update a user account., userName: any # The name of the user account to update., nodeUpdateUserParameter: any # The parameters for the request.}
@returns(200) The request to the Batch service was successful.

@endpoint GET /pools/{poolId}/nodes/{nodeId}
@desc Gets information about the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node that you want to get information about.}
@optional {$select: any # An OData $select clause.}
@returns(200) A response containing the compute node.

@endpoint POST /pools/{poolId}/nodes/{nodeId}/reboot
@desc Restarts the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node that you want to restart.}
@optional {nodeRebootParameter: any # The parameters for the request.}
@returns(202) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/nodes/{nodeId}/reimage
@desc Reinstalls the operating system on the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node that you want to restart.}
@optional {nodeReimageParameter: any # The parameters for the request.}
@returns(202) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/nodes/{nodeId}/disablescheduling
@desc Disables task scheduling on the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node on which you want to disable task scheduling.}
@optional {nodeDisableSchedulingParameter: any # The parameters for the request.}
@returns(200) The request to the Batch service was successful.

@endpoint POST /pools/{poolId}/nodes/{nodeId}/enablescheduling
@desc Enables task scheduling on the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node on which you want to enable task scheduling.}
@returns(200) The request to the Batch service was successful.

@endpoint GET /pools/{poolId}/nodes/{nodeId}/remoteloginsettings
@desc Gets the settings required for remote login to a compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node for which to obtain the remote login settings.}
@returns(200) A response containing the login settings.

@endpoint GET /pools/{poolId}/nodes/{nodeId}/rdp
@desc Gets the Remote Desktop Protocol file for the specified compute node.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node for which you want to get the Remote Desktop Protocol file.}
@returns(200) A response containing the RDP information.

@endpoint POST /pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs
@desc Upload Azure Batch service log files from the specified compute node to Azure Blob Storage.
@required {poolId: any # The ID of the pool that contains the compute node., nodeId: any # The ID of the compute node from which you want to upload the Azure Batch service log files., uploadBatchServiceLogsConfiguration: any # The Azure Batch service log files upload configuration.}
@returns(200) The request to the Batch service was successful.

@endpoint GET /pools/{poolId}/nodes
@desc Lists the compute nodes in the specified pool.
@required {poolId: any # The ID of the pool from which you want to list nodes.}
@optional {$filter: any # 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., $select: any # An OData $select clause., maxresults: any # The maximum number of items to return in the response. A maximum of 1000 nodes can be returned.}
@returns(200) A response containing the list of nodes.

@endgroup

@end
