Azure.Batch (preview:2024-07-01.20.0)

2025/05/19 • 27 updated methods

Jobs_ListJobs (updated)
Description Lists all of the Jobs in the specified Account.
Reference Link ¶

⚶ Changes

{
  "#id": "Jobs_ListJobs",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "jobManagerTask": [
              {
                "authenticationTokenSettings": [
                  {
                    "access": {
                      "Description": {
                        "new": "BatchAccessScope enums",
                        "old": "AccessScope enums"
                      }
                    }
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /jobs
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
maxresults: integer ,
$filter: string ,
$select: array ,
$expand: array ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
value:
[
{
id: string ,
displayName: string ,
usesTaskDependencies: boolean ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
executionInfo:
{
startTime: string ,
endTime: string ,
poolId: string ,
schedulingError:
{
category: enum ,
code: string ,
message: string ,
details:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
terminateReason: string ,
}
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
numSucceededTasks: string ,
numFailedTasks: string ,
numTaskRetries: string ,
waitTime: string ,
}
,
}
,
]
,
odata.nextLink: string ,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Jobs_CreateJob (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "Jobs_CreateJob",
  "$parameters": {
    "job": {
      "$properties": {
        "jobManagerTask": [
          {
            "authenticationTokenSettings": [
              {
                "access": {
                  "Description": {
                    "new": "BatchAccessScope enums",
                    "old": "AccessScope enums"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /jobs
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
job:
{
id: string ,
displayName: string ,
usesTaskDependencies: boolean ,
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}

⚐ Response (201)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Jobs_GetJob (updated)
Description Gets information about the specified Job.
Reference Link ¶

⚶ Changes

{
  "#id": "Jobs_GetJob",
  "$responses": {
    "200": {
      "$properties": {
        "jobManagerTask": [
          {
            "authenticationTokenSettings": [
              {
                "access": {
                  "Description": {
                    "new": "BatchAccessScope enums",
                    "old": "AccessScope enums"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /jobs/{jobId}
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
jobId: string ,
$select: array ,
$expand: array ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
id: string ,
displayName: string ,
usesTaskDependencies: boolean ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
executionInfo:
{
startTime: string ,
endTime: string ,
poolId: string ,
schedulingError:
{
category: enum ,
code: string ,
message: string ,
details:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
terminateReason: string ,
}
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
numSucceededTasks: string ,
numFailedTasks: string ,
numTaskRetries: string ,
waitTime: string ,
}
,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Jobs_ReplaceJob (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "Jobs_ReplaceJob",
  "$parameters": {
    "job": {
      "$properties": {
        "jobManagerTask": [
          {
            "authenticationTokenSettings": [
              {
                "access": {
                  "Description": {
                    "new": "BatchAccessScope enums",
                    "old": "AccessScope enums"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /jobs/{jobId}
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
jobId: string ,
job:
{
id: string ,
displayName: string ,
usesTaskDependencies: boolean ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
executionInfo:
{
startTime: string ,
endTime: string ,
poolId: string ,
schedulingError:
{
category: enum ,
code: string ,
message: string ,
details:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
terminateReason: string ,
}
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
numSucceededTasks: string ,
numFailedTasks: string ,
numTaskRetries: string ,
waitTime: string ,
}
,
}
,
}

⚐ Response (200)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Tasks_CreateTaskCollection (updated)
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 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.
Reference Link ¶

⚶ Changes

{
  "#id": "Tasks_CreateTaskCollection",
  "$parameters": {
    "taskCollection": {
      "$properties": {
        "value": {
          "$properties": {
            "authenticationTokenSettings": [
              {
                "access": {
                  "Description": {
                    "new": "BatchAccessScope enums",
                    "old": "AccessScope enums"
                  }
                }
              }
            ]
          }
        }
      }
    }
  },
  "$responses": {
    "200": {
      "Description": {
        "new": "The result of creating a collection of Tasks to a Job.",
        "old": "The result of adding a collection of Tasks to a Job."
      },
      "$properties": [
        {
          "#name": "value",
          "Description": {
            "new": "The results of the create Task collection operation.",
            "old": "The results of the add Task collection operation."
          },
          "$items": {
            "Description": {
              "new": "Result for a single Task created as part of an add Task collection operation.",
              "old": "Result for a single Task added as part of an add Task collection operation."
            }
          }
        }
      ]
    }
  }
}

⚼ Request

POST:  /jobs/{jobId}/addtaskcollection
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
jobId: string ,
taskCollection:
{
value:
[
{
id: string ,
displayName: string ,
exitConditions:
{
exitCodes:
[
{
code: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
exitCodeRanges:
[
{
start: integer ,
end: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
preProcessingError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
fileUploadError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
default:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
affinityInfo:
{
affinityId: string ,
}
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
multiInstanceSettings:
{
numberOfInstances: integer ,
coordinationCommandLine: string ,
commonResourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
dependsOn:
{
taskIds:
[
string ,
]
,
taskIdRanges:
[
{
start: integer ,
end: integer ,
}
,
]
,
}
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
}
,
]
,
}
,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
value:
[
{
status: enum ,
taskId: string ,
eTag: string ,
lastModified: string ,
location: string ,
error:
{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
,
}
,
]
,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Jobs_DisableJob (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "Jobs_DisableJob",
  "$parameters": {
    "@added_6f04cff5cabc4f6da4d2871e2b013122": {
      "#name": "disableOptions",
      "Description": "The options to use for disabling the Job.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for disabling an Azure Batch Job.",
        "Type": "object",
        "$properties": [
          {
            "#name": "disableTasks",
            "Description": "What to do with active Tasks associated with the Job.",
            "Enum": [
              [
                "requeue",
                "Terminate running Tasks and requeue them. The Tasks will run again when the Job is enabled."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again."
              ],
              [
                "wait",
                "Allow currently running Tasks to complete."
              ]
            ],
            "Required": true,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_b5a0aefa660d44be9db1f63e20ed510b": {
      "#name": "content",
      "Description": "The options to use for disabling the Job.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for disabling an Azure Batch Job.",
        "Type": "object",
        "$properties": [
          {
            "#name": "disableTasks",
            "Description": "What to do with active Tasks associated with the Job.",
            "Enum": [
              [
                "requeue",
                "Terminate running Tasks and requeue them. The Tasks will run again when the Job is enabled."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again."
              ],
              [
                "wait",
                "Allow currently running Tasks to complete."
              ]
            ],
            "Required": true,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /jobs/{jobId}/disable
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
jobId: string ,
disableOptions:
{
disableTasks: enum ,
}
,
}

⚐ Response (202)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Tasks_ListTasks (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "Tasks_ListTasks",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "authenticationTokenSettings": [
              {
                "access": {
                  "Description": {
                    "new": "BatchAccessScope enums",
                    "old": "AccessScope enums"
                  }
                }
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /jobs/{jobId}/tasks
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
maxresults: integer ,
jobId: string ,
$filter: string ,
$select: array ,
$expand: array ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
value:
[
{
id: string ,
displayName: string ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
exitConditions:
{
exitCodes:
[
{
code: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
exitCodeRanges:
[
{
start: integer ,
end: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
preProcessingError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
fileUploadError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
default:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
affinityInfo:
{
affinityId: string ,
}
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
executionInfo:
{
startTime: string ,
endTime: string ,
exitCode: integer ,
containerInfo:
{
containerId: string ,
state: string ,
error: string ,
}
,
failureInfo:
{
category: enum ,
code: string ,
message: string ,
details:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
retryCount: integer ,
lastRetryTime: string ,
requeueCount: integer ,
lastRequeueTime: string ,
result: enum ,
}
,
nodeInfo:
{
affinityId: string ,
nodeUrl: string ,
poolId: string ,
nodeId: string ,
taskRootDirectory: string ,
taskRootDirectoryUrl: string ,
}
,
multiInstanceSettings:
{
numberOfInstances: integer ,
coordinationCommandLine: string ,
commonResourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
waitTime: string ,
}
,
dependsOn:
{
taskIds:
[
string ,
]
,
taskIdRanges:
[
{
start: integer ,
end: integer ,
}
,
]
,
}
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
}
,
]
,
odata.nextLink: string ,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Tasks_CreateTask (updated)
Description The maximum lifetime of a Task from addition to completion is 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.
Reference Link ¶

⚶ Changes

{
  "#id": "Tasks_CreateTask",
  "$parameters": {
    "task": {
      "$properties": {
        "authenticationTokenSettings": [
          {
            "access": {
              "Description": {
                "new": "BatchAccessScope enums",
                "old": "AccessScope enums"
              }
            }
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /jobs/{jobId}/tasks
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
jobId: string ,
task:
{
id: string ,
displayName: string ,
exitConditions:
{
exitCodes:
[
{
code: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
exitCodeRanges:
[
{
start: integer ,
end: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
preProcessingError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
fileUploadError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
default:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
affinityInfo:
{
affinityId: string ,
}
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
multiInstanceSettings:
{
numberOfInstances: integer ,
coordinationCommandLine: string ,
commonResourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
dependsOn:
{
taskIds:
[
string ,
]
,
taskIdRanges:
[
{
start: integer ,
end: integer ,
}
,
]
,
}
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
}
,
}

⚐ Response (201)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Tasks_GetTask (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "Tasks_GetTask",
  "$responses": {
    "200": {
      "$properties": {
        "authenticationTokenSettings": [
          {
            "access": {
              "Description": {
                "new": "BatchAccessScope enums",
                "old": "AccessScope enums"
              }
            }
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /jobs/{jobId}/tasks/{taskId}
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
jobId: string ,
taskId: string ,
$select: array ,
$expand: array ,
}

⚐ Response (200)

{
$headers:
{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
id: string ,
displayName: string ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
exitConditions:
{
exitCodes:
[
{
code: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
exitCodeRanges:
[
{
start: integer ,
end: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
preProcessingError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
fileUploadError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
default:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
affinityInfo:
{
affinityId: string ,
}
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
executionInfo:
{
startTime: string ,
endTime: string ,
exitCode: integer ,
containerInfo:
{
containerId: string ,
state: string ,
error: string ,
}
,
failureInfo:
{
category: enum ,
code: string ,
message: string ,
details:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
retryCount: integer ,
lastRetryTime: string ,
requeueCount: integer ,
lastRequeueTime: string ,
result: enum ,
}
,
nodeInfo:
{
affinityId: string ,
nodeUrl: string ,
poolId: string ,
nodeId: string ,
taskRootDirectory: string ,
taskRootDirectoryUrl: string ,
}
,
multiInstanceSettings:
{
numberOfInstances: integer ,
coordinationCommandLine: string ,
commonResourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
waitTime: string ,
}
,
dependsOn:
{
taskIds:
[
string ,
]
,
taskIdRanges:
[
{
start: integer ,
end: integer ,
}
,
]
,
}
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Tasks_ReplaceTask (updated)
Description Updates the properties of the specified Task.
Reference Link ¶

⚶ Changes

{
  "#id": "Tasks_ReplaceTask",
  "$parameters": {
    "task": {
      "$properties": {
        "authenticationTokenSettings": [
          {
            "access": {
              "Description": {
                "new": "BatchAccessScope enums",
                "old": "AccessScope enums"
              }
            }
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /jobs/{jobId}/tasks/{taskId}
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
jobId: string ,
taskId: string ,
task:
{
id: string ,
displayName: string ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
exitConditions:
{
exitCodes:
[
{
code: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
exitCodeRanges:
[
{
start: integer ,
end: integer ,
exitOptions:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
]
,
preProcessingError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
fileUploadError:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
default:
{
jobAction: enum ,
dependencyAction: enum ,
}
,
}
,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
affinityInfo:
{
affinityId: string ,
}
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
executionInfo:
{
startTime: string ,
endTime: string ,
exitCode: integer ,
containerInfo:
{
containerId: string ,
state: string ,
error: string ,
}
,
failureInfo:
{
category: enum ,
code: string ,
message: string ,
details:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
retryCount: integer ,
lastRetryTime: string ,
requeueCount: integer ,
lastRequeueTime: string ,
result: enum ,
}
,
nodeInfo:
{
affinityId: string ,
nodeUrl: string ,
poolId: string ,
nodeId: string ,
taskRootDirectory: string ,
taskRootDirectoryUrl: string ,
}
,
multiInstanceSettings:
{
numberOfInstances: integer ,
coordinationCommandLine: string ,
commonResourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
waitTime: string ,
}
,
dependsOn:
{
taskIds:
[
string ,
]
,
taskIdRanges:
[
{
start: integer ,
end: integer ,
}
,
]
,
}
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
}
,
}

⚐ Response (200)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Jobs_TerminateJob (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "Jobs_TerminateJob",
  "$parameters": {
    "@added_c0902f162d764e13952d0b831d357fad": {
      "#name": "options",
      "Description": "The options to use for terminating the Job.",
      "Required": false,
      "$schema": {
        "Description": "Parameters for terminating an Azure Batch Job.",
        "Type": "object",
        "$properties": [
          {
            "#name": "terminateReason",
            "Description": "The text you want to appear as the Job's TerminationReason. The default is 'UserTerminate'.",
            "Required": false,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_160766134b3d40d2b68ea83c337ae86b": {
      "#name": "parameters",
      "Description": "The options to use for terminating the Job.",
      "Required": false,
      "$schema": {
        "Description": "Parameters for terminating an Azure Batch Job.",
        "Type": "object",
        "$properties": [
          {
            "#name": "terminateReason",
            "Description": "The text you want to appear as the Job's TerminationReason. The default is 'UserTerminate'.",
            "Required": false,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /jobs/{jobId}/terminate
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
jobId: string ,
force: boolean ,
options:
{
terminateReason: string ,
}
,
}

⚐ Response (202)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
JobSchedules_ListJobSchedules (updated)
Description Lists all of the Job Schedules in the specified Account.
Reference Link ¶

⚶ Changes

{
  "#id": "JobSchedules_ListJobSchedules",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "jobSpecification": [
              {
                "jobManagerTask": [
                  {
                    "authenticationTokenSettings": [
                      {
                        "access": {
                          "Description": {
                            "new": "BatchAccessScope enums",
                            "old": "AccessScope enums"
                          }
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /jobschedules
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
maxresults: integer ,
$filter: string ,
$select: array ,
$expand: array ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
value:
[
{
id: string ,
displayName: string ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
schedule:
{
doNotRunUntil: string ,
doNotRunAfter: string ,
startWindow: string ,
recurrenceInterval: string ,
}
,
jobSpecification:
{
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
displayName: string ,
usesTaskDependencies: boolean ,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
executionInfo:
{
nextRunTime: string ,
recentJob:
{
id: string ,
url: string ,
}
,
endTime: string ,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
numSucceededTasks: string ,
numFailedTasks: string ,
numTaskRetries: string ,
waitTime: string ,
}
,
}
,
]
,
odata.nextLink: string ,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
JobSchedules_CreateJobSchedule (updated)
Description Creates a Job Schedule to the specified Account.
Reference Link ¶

⚶ Changes

{
  "#id": "JobSchedules_CreateJobSchedule",
  "$parameters": {
    "jobSchedule": {
      "$properties": {
        "jobSpecification": [
          {
            "jobManagerTask": [
              {
                "authenticationTokenSettings": [
                  {
                    "access": {
                      "Description": {
                        "new": "BatchAccessScope enums",
                        "old": "AccessScope enums"
                      }
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /jobschedules
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
jobSchedule:
{
id: string ,
displayName: string ,
schedule:
{
doNotRunUntil: string ,
doNotRunAfter: string ,
startWindow: string ,
recurrenceInterval: string ,
}
,
jobSpecification:
{
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
displayName: string ,
usesTaskDependencies: boolean ,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}

⚐ Response (201)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
JobSchedules_GetJobSchedule (updated)
Description Gets information about the specified Job Schedule.
Reference Link ¶

⚶ Changes

{
  "#id": "JobSchedules_GetJobSchedule",
  "$responses": {
    "200": {
      "$properties": {
        "jobSpecification": [
          {
            "jobManagerTask": [
              {
                "authenticationTokenSettings": [
                  {
                    "access": {
                      "Description": {
                        "new": "BatchAccessScope enums",
                        "old": "AccessScope enums"
                      }
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /jobschedules/{jobScheduleId}
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
jobScheduleId: string ,
$select: array ,
$expand: array ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
id: string ,
displayName: string ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
schedule:
{
doNotRunUntil: string ,
doNotRunAfter: string ,
startWindow: string ,
recurrenceInterval: string ,
}
,
jobSpecification:
{
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
displayName: string ,
usesTaskDependencies: boolean ,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
executionInfo:
{
nextRunTime: string ,
recentJob:
{
id: string ,
url: string ,
}
,
endTime: string ,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
numSucceededTasks: string ,
numFailedTasks: string ,
numTaskRetries: string ,
waitTime: string ,
}
,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
JobSchedules_ReplaceJobSchedule (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "JobSchedules_ReplaceJobSchedule",
  "$parameters": {
    "jobSchedule": {
      "$properties": {
        "jobSpecification": [
          {
            "jobManagerTask": [
              {
                "authenticationTokenSettings": [
                  {
                    "access": {
                      "Description": {
                        "new": "BatchAccessScope enums",
                        "old": "AccessScope enums"
                      }
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /jobschedules/{jobScheduleId}
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
jobScheduleId: string ,
jobSchedule:
{
id: string ,
displayName: string ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
schedule:
{
doNotRunUntil: string ,
doNotRunAfter: string ,
startWindow: string ,
recurrenceInterval: string ,
}
,
jobSpecification:
{
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
displayName: string ,
usesTaskDependencies: boolean ,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
executionInfo:
{
nextRunTime: string ,
recentJob:
{
id: string ,
url: string ,
}
,
endTime: string ,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
numSucceededTasks: string ,
numFailedTasks: string ,
numTaskRetries: string ,
waitTime: string ,
}
,
}
,
}

⚐ Response (200)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
JobSchedules_UpdateJobSchedule (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "JobSchedules_UpdateJobSchedule",
  "$parameters": {
    "jobSchedule": {
      "$properties": {
        "jobSpecification": [
          {
            "jobManagerTask": [
              {
                "authenticationTokenSettings": [
                  {
                    "access": {
                      "Description": {
                        "new": "BatchAccessScope enums",
                        "old": "AccessScope enums"
                      }
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PATCH:  /jobschedules/{jobScheduleId}
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
jobScheduleId: string ,
jobSchedule:
{
schedule:
{
doNotRunUntil: string ,
doNotRunAfter: string ,
startWindow: string ,
recurrenceInterval: string ,
}
,
jobSpecification:
{
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
displayName: string ,
usesTaskDependencies: boolean ,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}

⚐ Response (200)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Jobs_ListJobsFromSchedule (updated)
Description Lists the Jobs that have been created under the specified Job Schedule.
Reference Link ¶

⚶ Changes

{
  "#id": "Jobs_ListJobsFromSchedule",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "jobManagerTask": [
              {
                "authenticationTokenSettings": [
                  {
                    "access": {
                      "Description": {
                        "new": "BatchAccessScope enums",
                        "old": "AccessScope enums"
                      }
                    }
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /jobschedules/{jobScheduleId}/jobs
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
maxresults: integer ,
jobScheduleId: string ,
$filter: string ,
$select: array ,
$expand: array ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
value:
[
{
id: string ,
displayName: string ,
usesTaskDependencies: boolean ,
url: string ,
eTag: string ,
lastModified: string ,
creationTime: string ,
state: enum ,
stateTransitionTime: string ,
previousState: enum ,
previousStateTransitionTime: string ,
priority: integer ,
allowTaskPreemption: boolean ,
maxParallelTasks: integer ,
constraints:
{
maxWallClockTime: string ,
maxTaskRetryCount: integer ,
}
,
jobManagerTask:
{
id: string ,
displayName: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
outputFiles:
[
{
filePattern: string ,
destination:
{
container:
{
path: string ,
containerUrl: string ,
identityReference:
{
resourceId: string ,
}
,
uploadHeaders:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
uploadOptions:
{
uploadCondition: enum ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
requiredSlots: integer ,
killJobOnCompletion: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
runExclusive: boolean ,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
authenticationTokenSettings:
{
access:
[
string ,
]
,
}
,
allowLowPriorityNode: boolean ,
}
,
jobPreparationTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
constraints:
{
maxWallClockTime: string ,
retentionTime: string ,
maxTaskRetryCount: integer ,
}
,
waitForSuccess: boolean ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
rerunOnNodeRebootAfterSuccess: boolean ,
}
,
jobReleaseTask:
{
id: string ,
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
maxWallClockTime: string ,
retentionTime: string ,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
}
,
commonEnvironmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
poolInfo:
{
poolId: string ,
autoPoolSpecification:
{
autoPoolIdPrefix: string ,
poolLifetimeOption: enum ,
keepAlive: boolean ,
pool:
{
displayName: string ,
vmSize: string ,
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
virtualMachineImageId: string ,
exactVersion: string ,
sharedGalleryImageId: string ,
communityGalleryImageId: string ,
}
,
nodeAgentSKUId: string ,
windowsConfiguration:
{
enableAutomaticUpdates: boolean ,
}
,
dataDisks:
[
{
lun: integer ,
caching: enum ,
diskSizeGB: integer ,
storageAccountType: enum ,
}
,
]
,
licenseType: string ,
containerConfiguration:
{
type: enum ,
containerImageNames:
[
string ,
]
,
containerRegistries:
[
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
}
,
diskEncryptionConfiguration:
{
targets:
[
string ,
]
,
}
,
nodePlacementConfiguration:
{
policy: enum ,
}
,
extensions:
[
{
name: string ,
publisher: string ,
type: string ,
typeHandlerVersion: string ,
autoUpgradeMinorVersion: boolean ,
enableAutomaticUpgrade: boolean ,
settings: object ,
protectedSettings: object ,
provisionAfterExtensions:
[
string ,
]
,
}
,
]
,
osDisk:
{
ephemeralOSDiskSettings:
{
placement: enum ,
}
,
caching: enum ,
diskSizeGB: integer ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
encryptionAtHost: boolean ,
securityType: enum ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
resizeTimeout: string ,
resourceTags: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
enableAutoScale: boolean ,
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
enableInterNodeCommunication: boolean ,
networkConfiguration:
{
subnetId: string ,
dynamicVNetAssignmentScope: enum ,
endpointConfiguration:
{
inboundNATPools:
[
{
name: string ,
protocol: enum ,
backendPort: integer ,
frontendPortRangeStart: integer ,
frontendPortRangeEnd: integer ,
networkSecurityGroupRules:
[
{
priority: integer ,
access: enum ,
sourceAddressPrefix: string ,
sourcePortRanges:
[
string ,
]
,
}
,
]
,
}
,
]
,
}
,
publicIPAddressConfiguration:
{
provision: enum ,
ipAddressIds:
[
string ,
]
,
}
,
enableAcceleratedNetworking: boolean ,
}
,
startTask:
{
commandLine: string ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
resourceFiles:
[
{
autoStorageContainerName: string ,
storageContainerUrl: string ,
httpUrl: string ,
blobPrefix: string ,
filePath: string ,
fileMode: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
]
,
environmentSettings:
[
{
name: string ,
value: string ,
}
,
]
,
userIdentity:
{
username: string ,
autoUser:
{
scope: enum ,
elevationLevel: enum ,
}
,
}
,
maxTaskRetryCount: integer ,
waitForSuccess: boolean ,
}
,
certificateReferences:
[
{
thumbprint: string ,
thumbprintAlgorithm: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackageReferences:
[
{
applicationId: string ,
version: string ,
}
,
]
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
mountConfiguration:
[
{
azureBlobFileSystemConfiguration:
{
accountName: string ,
containerName: string ,
accountKey: string ,
sasKey: string ,
blobfuseOptions: string ,
relativeMountPath: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
nfsMountConfiguration:
{
source: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
cifsMountConfiguration:
{
username: string ,
source: string ,
relativeMountPath: string ,
mountOptions: string ,
password: string ,
}
,
azureFileShareConfiguration:
{
accountName: string ,
accountKey: string ,
azureFileUrl: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
upgradePolicy:
{
mode: enum ,
automaticOSUpgradePolicy:
{
disableAutomaticRollback: boolean ,
enableAutomaticOSUpgrade: boolean ,
useRollingUpgradePolicy: boolean ,
osRollingUpgradeDeferral: boolean ,
}
,
rollingUpgradePolicy:
{
enableCrossZoneUpgrade: boolean ,
maxBatchInstancePercent: integer ,
maxUnhealthyInstancePercent: integer ,
maxUnhealthyUpgradedInstancePercent: integer ,
pauseTimeBetweenBatches: string ,
prioritizeUnhealthyInstances: boolean ,
rollbackFailedInstancesOnPolicyBreach: boolean ,
}
,
}
,
}
,
}
,
}
,
onAllTasksComplete: enum ,
onTaskFailure: enum ,
networkConfiguration:
{
subnetId: string ,
skipWithdrawFromVNet: boolean ,
}
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
executionInfo:
{
startTime: string ,
endTime: string ,
poolId: string ,
schedulingError:
{
category: enum ,
code: string ,
message: string ,
details:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
terminateReason: string ,
}
,
stats:
{
url: string ,
startTime: string ,
lastUpdateTime: string ,
userCPUTime: string ,
kernelCPUTime: string ,
wallClockTime: string ,
readIOps: string ,
writeIOps: string ,
readIOGiB: number ,
writeIOGiB: number ,
numSucceededTasks: string ,
numFailedTasks: string ,
numTaskRetries: string ,
waitTime: string ,
}
,
}
,
]
,
odata.nextLink: string ,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Pools_EnablePoolAutoScale (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "Pools_EnablePoolAutoScale",
  "$parameters": {
    "@added_679a77dbebb343b8808447e015fba56d": {
      "#name": "enableAutoScaleOptions",
      "Description": "The options to use for enabling automatic scaling.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for enabling automatic scaling on an Azure Batch Pool.",
        "Type": "object",
        "$properties": [
          {
            "#name": "autoScaleFormula",
            "Description": "The formula for the desired number of Compute Nodes in the Pool. 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.",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "autoScaleEvaluationInterval",
            "Description": "The time interval at which to automatically adjust the Pool size according to the autoscale formula. 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",
            "Required": false,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_0020328bb87c43e6a24779d46af6437b": {
      "#name": "content",
      "Description": "The options to use for enabling automatic scaling.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for enabling automatic scaling on an Azure Batch Pool.",
        "Type": "object",
        "$properties": [
          {
            "#name": "autoScaleFormula",
            "Description": "The formula for the desired number of Compute Nodes in the Pool. 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.",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "autoScaleEvaluationInterval",
            "Description": "The time interval at which to automatically adjust the Pool size according to the autoscale formula. 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",
            "Required": false,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /pools/{poolId}/enableautoscale
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
poolId: string ,
enableAutoScaleOptions:
{
autoScaleFormula: string ,
autoScaleEvaluationInterval: string ,
}
,
}

⚐ Response (200)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Pools_EvaluatePoolAutoScale (updated)
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.
Reference Link ¶

⚶ Changes

{
  "#id": "Pools_EvaluatePoolAutoScale",
  "$parameters": {
    "@added_6105d28300c44e578cce7da2267743c6": {
      "#name": "evaluateAutoScaleOptions",
      "Description": "The options to use for evaluating the automatic scaling formula.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for evaluating an automatic scaling formula on an Azure Batch Pool.",
        "Type": "object",
        "$properties": [
          {
            "#name": "autoScaleFormula",
            "Description": "The formula for the desired number of Compute Nodes in the Pool. 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://learn.microsoft.com/azure/batch/batch-automatic-scaling).",
            "Required": true,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_3383d87df44946d3a57d7acf1ca9af3a": {
      "#name": "content",
      "Description": "The options to use for evaluating the automatic scaling formula.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for evaluating an automatic scaling formula on an Azure Batch Pool.",
        "Type": "object",
        "$properties": [
          {
            "#name": "autoScaleFormula",
            "Description": "The formula for the desired number of Compute Nodes in the Pool. 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://learn.microsoft.com/azure/batch/batch-automatic-scaling).",
            "Required": true,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /pools/{poolId}/evaluateautoscale
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
poolId: string ,
evaluateAutoScaleOptions:
{
autoScaleFormula: string ,
}
,
}

⚐ Response (200)

{
$headers:
{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
timestamp: string ,
results: string ,
error:
{
code: string ,
message: string ,
values:
[
{
name: string ,
value: string ,
}
,
]
,
}
,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Nodes_DeallocateNode (updated)
Description You can deallocate a Compute Node only if it is in an idle or running state.
Reference Link ¶

⚶ Changes

{
  "#id": "Nodes_DeallocateNode",
  "$parameters": {
    "@added_a38e16377596472b9b9cc683be1b5fa4": {
      "#name": "options",
      "Description": "The options to use for deallocating the Compute Node.",
      "Required": false,
      "$schema": {
        "Description": "Options for deallocating a Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeDeallocateOption",
            "Description": "When to deallocate the Compute Node and what to do with currently running Tasks. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Deallocate the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Deallocate the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Deallocate the Compute Node when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Deallocate the Compute Node when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_c473c3ba96bc48a18256f74a0a95ff5d": {
      "#name": "parameters",
      "Description": "The options to use for deallocating the Compute Node.",
      "Required": false,
      "$schema": {
        "Description": "Options for deallocating a Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeDeallocateOption",
            "Description": "When to deallocate the Compute Node and what to do with currently running Tasks. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Deallocate the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Deallocate the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Deallocate the Compute Node when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Deallocate the Compute Node when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /pools/{poolId}/nodes/{nodeId}/deallocate
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
poolId: string ,
nodeId: string ,
options:
{
nodeDeallocateOption: enum ,
}
,
}

⚐ Response (202)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Nodes_DisableNodeScheduling (updated)
Description You can disable Task scheduling on a Compute Node only if its current scheduling state is enabled.
Reference Link ¶

⚶ Changes

{
  "#id": "Nodes_DisableNodeScheduling",
  "$parameters": {
    "@added_9b931572d1ad4de09e54e94ef8675eec": {
      "#name": "options",
      "Description": "The options to use for disabling scheduling on the Compute Node.",
      "Required": false,
      "$schema": {
        "Description": "Parameters for disabling scheduling on an Azure Batch Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeDisableSchedulingOption",
            "Description": "What to do with currently running Tasks when disabling Task scheduling on the Compute Node. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "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 Compute Node. Enter offline state as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "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."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Enter offline state when all Tasks have completed."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_b7e4f16e86524527852008ccc891a0d1": {
      "#name": "parameters",
      "Description": "The options to use for disabling scheduling on the Compute Node.",
      "Required": false,
      "$schema": {
        "Description": "Parameters for disabling scheduling on an Azure Batch Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeDisableSchedulingOption",
            "Description": "What to do with currently running Tasks when disabling Task scheduling on the Compute Node. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "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 Compute Node. Enter offline state as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "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."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Enter offline state when all Tasks have completed."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /pools/{poolId}/nodes/{nodeId}/disablescheduling
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
poolId: string ,
nodeId: string ,
options:
{
nodeDisableSchedulingOption: enum ,
}
,
}

⚐ Response (200)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Nodes_RebootNode (updated)
Description You can restart a Compute Node only if it is in an idle or running state.
Reference Link ¶

⚶ Changes

{
  "#id": "Nodes_RebootNode",
  "$parameters": {
    "@added_1a146a65456642259df2b3136cc7050c": {
      "#name": "options",
      "Description": "The options to use for rebooting the Compute Node.",
      "Required": false,
      "$schema": {
        "Description": "Parameters for rebooting an Azure Batch Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeRebootOption",
            "Description": "When to reboot the Compute Node and what to do with currently running Tasks. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Restart the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Restart the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Restart the Compute Node when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Restart the Compute Node when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_de896172e9ac4d12a448471379d56f86": {
      "#name": "parameters",
      "Description": "The options to use for rebooting the Compute Node.",
      "Required": false,
      "$schema": {
        "Description": "Parameters for rebooting an Azure Batch Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeRebootOption",
            "Description": "When to reboot the Compute Node and what to do with currently running Tasks. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Restart the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Restart the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Restart the Compute Node when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Restart the Compute Node when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /pools/{poolId}/nodes/{nodeId}/reboot
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
poolId: string ,
nodeId: string ,
options:
{
nodeRebootOption: enum ,
}
,
}

⚐ Response (202)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Nodes_ReimageNode (updated)
Description You can reinstall the operating system on a Compute 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.
Reference Link ¶

⚶ Changes

{
  "#id": "Nodes_ReimageNode",
  "$parameters": {
    "@added_f754ecf91f73480fb08ab975ac6cd367": {
      "#name": "options",
      "Description": "The options to use for reimaging the Compute Node.",
      "Required": false,
      "$schema": {
        "Description": "Parameters for reimaging an Azure Batch Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeReimageOption",
            "Description": "When to reimage the Compute Node and what to do with currently running Tasks. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Reimage the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Reimage the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Reimage the Compute Node when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Reimage the Compute Node when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_d7c4067e356540b09710a512f8482bd8": {
      "#name": "parameters",
      "Description": "The options to use for reimaging the Compute Node.",
      "Required": false,
      "$schema": {
        "Description": "Parameters for reimaging an Azure Batch Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeReimageOption",
            "Description": "When to reimage the Compute Node and what to do with currently running Tasks. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Reimage the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Reimage the Compute Node as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Reimage the Compute Node when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Reimage the Compute Node when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /pools/{poolId}/nodes/{nodeId}/reimage
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
poolId: string ,
nodeId: string ,
options:
{
nodeReimageOption: enum ,
}
,
}

⚐ Response (202)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Nodes_UploadNodeLogs (updated)
Description This is for gathering Azure Batch service log files in an automated fashion from Compute 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.
Reference Link ¶

⚶ Changes

{
  "#id": "Nodes_UploadNodeLogs",
  "$parameters": {
    "@added_26eec063722f4e1db0b319fa663eb741": {
      "#name": "uploadOptions",
      "Description": "The Azure Batch service log files upload options.",
      "Required": true,
      "$schema": {
        "Description": "The Azure Batch service log files upload parameters for a Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "containerUrl",
            "Description": "The URL of the container within Azure Blob Storage to which to upload the Batch Service log file(s). If a user assigned managed identity is not being used, 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.",
            "Format": "uri",
            "Required": true,
            "Type": "string"
          },
          {
            "#name": "startTime",
            "Description": "The start of the time range from which to upload Batch Service log file(s). 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",
            "Required": true,
            "Type": "string"
          },
          {
            "#name": "endTime",
            "Description": "The end of the time range from which to upload Batch Service log file(s). 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",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "identityReference",
            "Description": "The reference to the user assigned identity to use to access Azure Blob Storage specified by containerUrl. The identity must have write access to the Azure Blob Storage container.",
            "Required": false,
            "Type": "object",
            "$properties": [
              {
                "#name": "resourceId",
                "Description": "The ARM resource id of the user assigned identity.",
                "Format": "arm-id",
                "Required": false,
                "Type": "string"
              }
            ]
          }
        ]
      }
    },
    "@removed_3353034df79544b4afcca2d155d1ae17": {
      "#name": "content",
      "Description": "The Azure Batch service log files upload options.",
      "Required": true,
      "$schema": {
        "Description": "The Azure Batch service log files upload parameters for a Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "containerUrl",
            "Description": "The URL of the container within Azure Blob Storage to which to upload the Batch Service log file(s). If a user assigned managed identity is not being used, 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.",
            "Required": true,
            "Type": "string"
          },
          {
            "#name": "startTime",
            "Description": "The start of the time range from which to upload Batch Service log file(s). 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",
            "Required": true,
            "Type": "string"
          },
          {
            "#name": "endTime",
            "Description": "The end of the time range from which to upload Batch Service log file(s). 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",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "identityReference",
            "Description": "The reference to the user assigned identity to use to access Azure Blob Storage specified by containerUrl. The identity must have write access to the Azure Blob Storage container.",
            "Required": false,
            "Type": "object",
            "$properties": [
              {
                "#name": "resourceId",
                "Description": "The ARM resource id of the user assigned identity.",
                "Required": false,
                "Type": "string"
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
poolId: string ,
nodeId: string ,
uploadOptions:
{
containerUrl: string ,
startTime: string ,
endTime: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}
,
$schema:
{
virtualDirectoryName: string ,
numberOfFilesUploaded: integer ,
}
,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Nodes_ReplaceNodeUser (updated)
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 Compute Node only when it is in the idle or running state.
Reference Link ¶

⚶ Changes

{
  "#id": "Nodes_ReplaceNodeUser",
  "$parameters": {
    "@added_55f4c617430746ccab547a7a8fe8480f": {
      "#name": "updateOptions",
      "Description": "The options to use for updating the user.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for updating a user account for RDP or SSH access on an Azure Batch Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "password",
            "Description": "The password of the Account. The password is required for Windows Compute Nodes. For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed.",
            "Format": "password",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "expiryTime",
            "Description": "The time at which the Account should expire. 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",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "sshPublicKey",
            "Description": "The SSH public key that can be used for remote login to the Compute Node. The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute 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.",
            "Required": false,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_fb28ec8be4fe4a439603d25e3bf41d55": {
      "#name": "content",
      "Description": "The options to use for updating the user.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for updating a user account for RDP or SSH access on an Azure Batch Compute Node.",
        "Type": "object",
        "$properties": [
          {
            "#name": "password",
            "Description": "The password of the Account. The password is required for Windows Compute Nodes. For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed.",
            "Format": "password",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "expiryTime",
            "Description": "The time at which the Account should expire. 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",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "sshPublicKey",
            "Description": "The SSH public key that can be used for remote login to the Compute Node. The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute 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.",
            "Required": false,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /pools/{poolId}/nodes/{nodeId}/users/{userName}
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
poolId: string ,
nodeId: string ,
userName: string ,
updateOptions:
{
password: string ,
expiryTime: string ,
sshPublicKey: string ,
}
,
}

⚐ Response (200)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Pools_RemoveNodes (updated)
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. Each request may remove up to 100 nodes.
Reference Link ¶

⚶ Changes

{
  "#id": "Pools_RemoveNodes",
  "$parameters": {
    "@added_aa3633138dde4bc097525bd974d3cdc0": {
      "#name": "removeOptions",
      "Description": "The options to use for removing the node.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for removing nodes from an Azure Batch Pool.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeList",
            "Description": "A list containing the IDs of the Compute Nodes to be removed from the specified Pool. A maximum of 100 nodes may be removed per request.",
            "Required": true,
            "Type": "array",
            "$items": {
              "Type": "string"
            }
          },
          {
            "#name": "resizeTimeout",
            "Description": "The timeout for removal of Compute Nodes to the Pool. 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",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "nodeDeallocationOption",
            "Description": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Remove Compute Nodes as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove Compute Nodes as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Remove Compute Nodes when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Remove Compute Nodes when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_866865113a7244779465fd2d1b9b89b9": {
      "#name": "content",
      "Description": "The options to use for removing the node.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for removing nodes from an Azure Batch Pool.",
        "Type": "object",
        "$properties": [
          {
            "#name": "nodeList",
            "Description": "A list containing the IDs of the Compute Nodes to be removed from the specified Pool. A maximum of 100 nodes may be removed per request.",
            "Required": true,
            "Type": "array",
            "$items": {
              "Type": "string"
            }
          },
          {
            "#name": "resizeTimeout",
            "Description": "The timeout for removal of Compute Nodes to the Pool. 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",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "nodeDeallocationOption",
            "Description": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Remove Compute Nodes as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove Compute Nodes as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Remove Compute Nodes when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Remove Compute Nodes when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /pools/{poolId}/removenodes
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
poolId: string ,
removeOptions:
{
nodeList:
[
string ,
]
,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
}
,
}

⚐ Response (202)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}
Pools_ResizePool (updated)
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 Compute Nodes to remove. To remove specific Compute Nodes, use the Pool remove Compute Nodes API instead.
Reference Link ¶

⚶ Changes

{
  "#id": "Pools_ResizePool",
  "$parameters": {
    "@added_68f9a9c7ed6f4caeb305da1e84f2923e": {
      "#name": "resizeOptions",
      "Description": "The options to use for resizing the pool.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for changing the size of an Azure Batch Pool.",
        "Type": "object",
        "$properties": [
          {
            "#name": "targetDedicatedNodes",
            "Description": "The desired number of dedicated Compute Nodes in the Pool.",
            "Format": "int32",
            "Required": false,
            "Type": "integer"
          },
          {
            "#name": "targetLowPriorityNodes",
            "Description": "The desired number of Spot/Low-priority Compute Nodes in the Pool.",
            "Format": "int32",
            "Required": false,
            "Type": "integer"
          },
          {
            "#name": "resizeTimeout",
            "Description": "The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool. 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",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "nodeDeallocationOption",
            "Description": "Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Remove Compute Nodes as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove Compute Nodes as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Remove Compute Nodes when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Remove Compute Nodes when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    },
    "@removed_c24f06b58ddb487db139d8e7924ae819": {
      "#name": "content",
      "Description": "The options to use for resizing the pool.",
      "Required": true,
      "$schema": {
        "Description": "Parameters for changing the size of an Azure Batch Pool.",
        "Type": "object",
        "$properties": [
          {
            "#name": "targetDedicatedNodes",
            "Description": "The desired number of dedicated Compute Nodes in the Pool.",
            "Format": "int32",
            "Required": false,
            "Type": "integer"
          },
          {
            "#name": "targetLowPriorityNodes",
            "Description": "The desired number of Spot/Low-priority Compute Nodes in the Pool.",
            "Format": "int32",
            "Required": false,
            "Type": "integer"
          },
          {
            "#name": "resizeTimeout",
            "Description": "The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool. 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",
            "Required": false,
            "Type": "string"
          },
          {
            "#name": "nodeDeallocationOption",
            "Description": "Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing. The default value is requeue.",
            "Enum": [
              [
                "requeue",
                "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Remove Compute Nodes as soon as Tasks have been terminated."
              ],
              [
                "terminate",
                "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove Compute Nodes as soon as Tasks have been terminated."
              ],
              [
                "taskcompletion",
                "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Remove Compute Nodes when all Tasks have completed."
              ],
              [
                "retaineddata",
                "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Remove Compute Nodes when all Task retention periods have expired."
              ]
            ],
            "Required": false,
            "Type": "string"
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /pools/{poolId}/resize
{
api-version: string ,
timeOut: integer ,
client-request-id: string ,
return-client-request-id: boolean ,
ocp-date: string ,
If-Modified-Since: string ,
If-Unmodified-Since: string ,
If-Match: string ,
If-None-Match: string ,
poolId: string ,
resizeOptions:
{
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
}
,
}

⚐ Response (202)

{
dataserviceid: string ,
etag: string ,
last-modified: string ,
client-request-id: string ,
request-id: string ,
}

⚐ Response (default)

{
code: string ,
message:
{
lang: string ,
value: string ,
}
,
values:
[
{
key: string ,
value: string ,
}
,
]
,
}