Microsoft.Batch (stable:2024-07-01)

2025/01/10 • 7 updated methods

Pool_ListByBatchAccount (updated)
Description Lists all of the pools in the specified account.
Reference Link ¶

⚶ Changes

{
  "#id": "Pool_ListByBatchAccount",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "#name": "vmSize",
                "Description": {
                  "new": "For information about available VM sizes, see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).",
                  "old": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
                }
              },
              {
                "deploymentConfiguration": [
                  {
                    "virtualMachineConfiguration": [
                      {
                        "imageReference": [
                          {
                            "#name": "id",
                            "Description": {
                              "new": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.",
                              "old": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration."
                            }
                          }
                        ]
                      },
                      {
                        "osDisk": [
                          {
                            "ephemeralOSDiskSettings": [
                              {
                                "#name": "placement",
                                "Description": {
                                  "new": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.",
                                  "old": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements."
                                }
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "networkConfiguration": [
                  {
                    "#name": "subnetId",
                    "Description": {
                      "new": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
                      "old": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration"
                    }
                  }
                ]
              },
              {
                "upgradePolicy": [
                  {
                    "automaticOSUpgradePolicy": [
                      {
                        "#name": "enableAutomaticOSUpgrade",
                        "Description": {
                          "new": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. 

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.", "old": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true." } } ] } ] } ] } } } } } }

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools
{
resourceGroupName: string ,
accountName: string ,
maxresults: integer ,
$select: string ,
$filter: string ,
api-version: string ,
subscriptionId: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
displayName: string ,
lastModified: string ,
creationTime: string ,
provisioningState: enum ,
provisioningStateTransitionTime: string ,
allocationState: enum ,
allocationStateTransitionTime: string ,
vmSize: string ,
deploymentConfiguration:
{
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
id: 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 ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
diskSizeGB: integer ,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
securityType: enum ,
encryptionAtHost: boolean ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
}
,
currentDedicatedNodes: integer ,
currentLowPriorityNodes: integer ,
scaleSettings:
{
fixedScale:
{
resizeTimeout: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
nodeDeallocationOption: enum ,
}
,
autoScale:
{
formula: string ,
evaluationInterval: string ,
}
,
}
,
autoScaleRun:
{
evaluationTime: string ,
results: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
}
,
}
,
interNodeCommunication: enum ,
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 ,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
startTask:
{
commandLine: string ,
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 ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
}
,
certificates:
[
{
id: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackages:
[
{
id: string ,
version: string ,
}
,
]
,
applicationLicenses:
[
string ,
]
,
resizeOperationStatus:
{
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
startTime: string ,
errors:
[
{
code: string ,
message: string ,
details:
[
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 ,
azureFileUrl: string ,
accountKey: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
currentNodeCommunicationMode: 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 ,
}
,
}
,
resourceTags: object ,
}
,
identity:
{
type: enum ,
userAssignedIdentities: object ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
}
,
}
Pool_Create (updated)
Description Creates a new pool inside the specified account.
Reference Link ¶

⚶ Changes

{
  "#id": "Pool_Create",
  "$parameters": {
    "parameters": {
      "$properties": {
        "properties": [
          {
            "#name": "vmSize",
            "Description": {
              "new": "For information about available VM sizes, see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).",
              "old": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
            }
          },
          {
            "deploymentConfiguration": [
              {
                "virtualMachineConfiguration": [
                  {
                    "imageReference": [
                      {
                        "#name": "id",
                        "Description": {
                          "new": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.",
                          "old": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration."
                        }
                      }
                    ]
                  },
                  {
                    "osDisk": [
                      {
                        "ephemeralOSDiskSettings": [
                          {
                            "#name": "placement",
                            "Description": {
                              "new": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.",
                              "old": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements."
                            }
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "networkConfiguration": [
              {
                "#name": "subnetId",
                "Description": {
                  "new": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
                  "old": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration"
                }
              }
            ]
          },
          {
            "upgradePolicy": [
              {
                "automaticOSUpgradePolicy": [
                  {
                    "#name": "enableAutomaticOSUpgrade",
                    "Description": {
                      "new": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. 

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.", "old": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true." } } ] } ] } ] } } }, "$responses": { "200": { "$properties": { "properties": [ { "#name": "vmSize", "Description": { "new": "For information about available VM sizes, see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).", "old": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." } }, { "deploymentConfiguration": [ { "virtualMachineConfiguration": [ { "imageReference": [ { "#name": "id", "Description": { "new": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.", "old": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." } } ] }, { "osDisk": [ { "ephemeralOSDiskSettings": [ { "#name": "placement", "Description": { "new": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.", "old": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements." } } ] } ] } ] } ] }, { "networkConfiguration": [ { "#name": "subnetId", "Description": { "new": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", "old": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration" } } ] }, { "upgradePolicy": [ { "automaticOSUpgradePolicy": [ { "#name": "enableAutomaticOSUpgrade", "Description": { "new": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.", "old": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true." } } ] } ] } ] } } } }

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}
{
resourceGroupName: string ,
accountName: string ,
poolName: string ,
parameters:
{
properties:
{
displayName: string ,
lastModified: string ,
creationTime: string ,
provisioningState: enum ,
provisioningStateTransitionTime: string ,
allocationState: enum ,
allocationStateTransitionTime: string ,
vmSize: string ,
deploymentConfiguration:
{
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
id: 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 ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
diskSizeGB: integer ,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
securityType: enum ,
encryptionAtHost: boolean ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
}
,
currentDedicatedNodes: integer ,
currentLowPriorityNodes: integer ,
scaleSettings:
{
fixedScale:
{
resizeTimeout: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
nodeDeallocationOption: enum ,
}
,
autoScale:
{
formula: string ,
evaluationInterval: string ,
}
,
}
,
autoScaleRun:
{
evaluationTime: string ,
results: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
}
,
}
,
interNodeCommunication: enum ,
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 ,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
startTask:
{
commandLine: string ,
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 ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
}
,
certificates:
[
{
id: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackages:
[
{
id: string ,
version: string ,
}
,
]
,
applicationLicenses:
[
string ,
]
,
resizeOperationStatus:
{
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
startTime: string ,
errors:
[
{
code: string ,
message: string ,
details:
[
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 ,
azureFileUrl: string ,
accountKey: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
currentNodeCommunicationMode: 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 ,
}
,
}
,
resourceTags: object ,
}
,
identity:
{
type: enum ,
userAssignedIdentities: object ,
}
,
}
,
If-Match: string ,
If-None-Match: string ,
api-version: string ,
subscriptionId: string ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
}
,
$schema:
{
properties:
{
displayName: string ,
lastModified: string ,
creationTime: string ,
provisioningState: enum ,
provisioningStateTransitionTime: string ,
allocationState: enum ,
allocationStateTransitionTime: string ,
vmSize: string ,
deploymentConfiguration:
{
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
id: 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 ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
diskSizeGB: integer ,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
securityType: enum ,
encryptionAtHost: boolean ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
}
,
currentDedicatedNodes: integer ,
currentLowPriorityNodes: integer ,
scaleSettings:
{
fixedScale:
{
resizeTimeout: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
nodeDeallocationOption: enum ,
}
,
autoScale:
{
formula: string ,
evaluationInterval: string ,
}
,
}
,
autoScaleRun:
{
evaluationTime: string ,
results: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
}
,
}
,
interNodeCommunication: enum ,
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 ,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
startTask:
{
commandLine: string ,
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 ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
}
,
certificates:
[
{
id: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackages:
[
{
id: string ,
version: string ,
}
,
]
,
applicationLicenses:
[
string ,
]
,
resizeOperationStatus:
{
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
startTime: string ,
errors:
[
{
code: string ,
message: string ,
details:
[
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 ,
azureFileUrl: string ,
accountKey: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
currentNodeCommunicationMode: 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 ,
}
,
}
,
resourceTags: object ,
}
,
identity:
{
type: enum ,
userAssignedIdentities: object ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
}
,
}
Pool_Update (updated)
Description Updates the properties of an existing pool.
Reference Link ¶

⚶ Changes

{
  "#id": "Pool_Update",
  "$parameters": {
    "parameters": {
      "$properties": {
        "properties": [
          {
            "#name": "vmSize",
            "Description": {
              "new": "For information about available VM sizes, see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).",
              "old": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
            }
          },
          {
            "deploymentConfiguration": [
              {
                "virtualMachineConfiguration": [
                  {
                    "imageReference": [
                      {
                        "#name": "id",
                        "Description": {
                          "new": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.",
                          "old": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration."
                        }
                      }
                    ]
                  },
                  {
                    "osDisk": [
                      {
                        "ephemeralOSDiskSettings": [
                          {
                            "#name": "placement",
                            "Description": {
                              "new": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.",
                              "old": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements."
                            }
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "networkConfiguration": [
              {
                "#name": "subnetId",
                "Description": {
                  "new": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
                  "old": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration"
                }
              }
            ]
          },
          {
            "upgradePolicy": [
              {
                "automaticOSUpgradePolicy": [
                  {
                    "#name": "enableAutomaticOSUpgrade",
                    "Description": {
                      "new": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. 

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.", "old": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true." } } ] } ] } ] } } }, "$responses": { "200": { "$properties": { "properties": [ { "#name": "vmSize", "Description": { "new": "For information about available VM sizes, see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).", "old": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." } }, { "deploymentConfiguration": [ { "virtualMachineConfiguration": [ { "imageReference": [ { "#name": "id", "Description": { "new": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.", "old": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." } } ] }, { "osDisk": [ { "ephemeralOSDiskSettings": [ { "#name": "placement", "Description": { "new": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.", "old": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements." } } ] } ] } ] } ] }, { "networkConfiguration": [ { "#name": "subnetId", "Description": { "new": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", "old": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration" } } ] }, { "upgradePolicy": [ { "automaticOSUpgradePolicy": [ { "#name": "enableAutomaticOSUpgrade", "Description": { "new": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.", "old": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true." } } ] } ] } ] } } } }

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}
{
resourceGroupName: string ,
accountName: string ,
poolName: string ,
parameters:
{
properties:
{
displayName: string ,
lastModified: string ,
creationTime: string ,
provisioningState: enum ,
provisioningStateTransitionTime: string ,
allocationState: enum ,
allocationStateTransitionTime: string ,
vmSize: string ,
deploymentConfiguration:
{
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
id: 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 ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
diskSizeGB: integer ,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
securityType: enum ,
encryptionAtHost: boolean ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
}
,
currentDedicatedNodes: integer ,
currentLowPriorityNodes: integer ,
scaleSettings:
{
fixedScale:
{
resizeTimeout: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
nodeDeallocationOption: enum ,
}
,
autoScale:
{
formula: string ,
evaluationInterval: string ,
}
,
}
,
autoScaleRun:
{
evaluationTime: string ,
results: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
}
,
}
,
interNodeCommunication: enum ,
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 ,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
startTask:
{
commandLine: string ,
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 ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
}
,
certificates:
[
{
id: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackages:
[
{
id: string ,
version: string ,
}
,
]
,
applicationLicenses:
[
string ,
]
,
resizeOperationStatus:
{
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
startTime: string ,
errors:
[
{
code: string ,
message: string ,
details:
[
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 ,
azureFileUrl: string ,
accountKey: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
currentNodeCommunicationMode: 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 ,
}
,
}
,
resourceTags: object ,
}
,
identity:
{
type: enum ,
userAssignedIdentities: object ,
}
,
}
,
If-Match: string ,
api-version: string ,
subscriptionId: string ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
}
,
$schema:
{
properties:
{
displayName: string ,
lastModified: string ,
creationTime: string ,
provisioningState: enum ,
provisioningStateTransitionTime: string ,
allocationState: enum ,
allocationStateTransitionTime: string ,
vmSize: string ,
deploymentConfiguration:
{
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
id: 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 ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
diskSizeGB: integer ,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
securityType: enum ,
encryptionAtHost: boolean ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
}
,
currentDedicatedNodes: integer ,
currentLowPriorityNodes: integer ,
scaleSettings:
{
fixedScale:
{
resizeTimeout: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
nodeDeallocationOption: enum ,
}
,
autoScale:
{
formula: string ,
evaluationInterval: string ,
}
,
}
,
autoScaleRun:
{
evaluationTime: string ,
results: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
}
,
}
,
interNodeCommunication: enum ,
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 ,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
startTask:
{
commandLine: string ,
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 ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
}
,
certificates:
[
{
id: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackages:
[
{
id: string ,
version: string ,
}
,
]
,
applicationLicenses:
[
string ,
]
,
resizeOperationStatus:
{
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
startTime: string ,
errors:
[
{
code: string ,
message: string ,
details:
[
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 ,
azureFileUrl: string ,
accountKey: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
currentNodeCommunicationMode: 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 ,
}
,
}
,
resourceTags: object ,
}
,
identity:
{
type: enum ,
userAssignedIdentities: object ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
}
,
}
Pool_Get (updated)
Description Gets information about the specified pool.
Reference Link ¶

⚶ Changes

{
  "#id": "Pool_Get",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "vmSize",
            "Description": {
              "new": "For information about available VM sizes, see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).",
              "old": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
            }
          },
          {
            "deploymentConfiguration": [
              {
                "virtualMachineConfiguration": [
                  {
                    "imageReference": [
                      {
                        "#name": "id",
                        "Description": {
                          "new": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.",
                          "old": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration."
                        }
                      }
                    ]
                  },
                  {
                    "osDisk": [
                      {
                        "ephemeralOSDiskSettings": [
                          {
                            "#name": "placement",
                            "Description": {
                              "new": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.",
                              "old": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements."
                            }
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "networkConfiguration": [
              {
                "#name": "subnetId",
                "Description": {
                  "new": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
                  "old": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration"
                }
              }
            ]
          },
          {
            "upgradePolicy": [
              {
                "automaticOSUpgradePolicy": [
                  {
                    "#name": "enableAutomaticOSUpgrade",
                    "Description": {
                      "new": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. 

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.", "old": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true." } } ] } ] } ] } } } }

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}
{
resourceGroupName: string ,
accountName: string ,
poolName: string ,
api-version: string ,
subscriptionId: string ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
}
,
$schema:
{
properties:
{
displayName: string ,
lastModified: string ,
creationTime: string ,
provisioningState: enum ,
provisioningStateTransitionTime: string ,
allocationState: enum ,
allocationStateTransitionTime: string ,
vmSize: string ,
deploymentConfiguration:
{
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
id: 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 ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
diskSizeGB: integer ,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
securityType: enum ,
encryptionAtHost: boolean ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
}
,
currentDedicatedNodes: integer ,
currentLowPriorityNodes: integer ,
scaleSettings:
{
fixedScale:
{
resizeTimeout: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
nodeDeallocationOption: enum ,
}
,
autoScale:
{
formula: string ,
evaluationInterval: string ,
}
,
}
,
autoScaleRun:
{
evaluationTime: string ,
results: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
}
,
}
,
interNodeCommunication: enum ,
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 ,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
startTask:
{
commandLine: string ,
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 ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
}
,
certificates:
[
{
id: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackages:
[
{
id: string ,
version: string ,
}
,
]
,
applicationLicenses:
[
string ,
]
,
resizeOperationStatus:
{
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
startTime: string ,
errors:
[
{
code: string ,
message: string ,
details:
[
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 ,
azureFileUrl: string ,
accountKey: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
currentNodeCommunicationMode: 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 ,
}
,
}
,
resourceTags: object ,
}
,
identity:
{
type: enum ,
userAssignedIdentities: object ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
}
,
}
Pool_DisableAutoScale (updated)
Description Disables automatic scaling for a pool.
Reference Link ¶

⚶ Changes

{
  "#id": "Pool_DisableAutoScale",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "vmSize",
            "Description": {
              "new": "For information about available VM sizes, see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).",
              "old": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
            }
          },
          {
            "deploymentConfiguration": [
              {
                "virtualMachineConfiguration": [
                  {
                    "imageReference": [
                      {
                        "#name": "id",
                        "Description": {
                          "new": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.",
                          "old": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration."
                        }
                      }
                    ]
                  },
                  {
                    "osDisk": [
                      {
                        "ephemeralOSDiskSettings": [
                          {
                            "#name": "placement",
                            "Description": {
                              "new": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.",
                              "old": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements."
                            }
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "networkConfiguration": [
              {
                "#name": "subnetId",
                "Description": {
                  "new": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
                  "old": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration"
                }
              }
            ]
          },
          {
            "upgradePolicy": [
              {
                "automaticOSUpgradePolicy": [
                  {
                    "#name": "enableAutomaticOSUpgrade",
                    "Description": {
                      "new": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. 

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.", "old": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true." } } ] } ] } ] } } } }

⚼ Request

POST:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale
{
resourceGroupName: string ,
accountName: string ,
poolName: string ,
api-version: string ,
subscriptionId: string ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
}
,
$schema:
{
properties:
{
displayName: string ,
lastModified: string ,
creationTime: string ,
provisioningState: enum ,
provisioningStateTransitionTime: string ,
allocationState: enum ,
allocationStateTransitionTime: string ,
vmSize: string ,
deploymentConfiguration:
{
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
id: 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 ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
diskSizeGB: integer ,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
securityType: enum ,
encryptionAtHost: boolean ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
}
,
currentDedicatedNodes: integer ,
currentLowPriorityNodes: integer ,
scaleSettings:
{
fixedScale:
{
resizeTimeout: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
nodeDeallocationOption: enum ,
}
,
autoScale:
{
formula: string ,
evaluationInterval: string ,
}
,
}
,
autoScaleRun:
{
evaluationTime: string ,
results: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
}
,
}
,
interNodeCommunication: enum ,
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 ,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
startTask:
{
commandLine: string ,
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 ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
}
,
certificates:
[
{
id: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackages:
[
{
id: string ,
version: string ,
}
,
]
,
applicationLicenses:
[
string ,
]
,
resizeOperationStatus:
{
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
startTime: string ,
errors:
[
{
code: string ,
message: string ,
details:
[
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 ,
azureFileUrl: string ,
accountKey: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
currentNodeCommunicationMode: 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 ,
}
,
}
,
resourceTags: object ,
}
,
identity:
{
type: enum ,
userAssignedIdentities: object ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
}
,
}
Pool_StopResize (updated)
Description This does not restore the pool to its previous state before the resize operation: it only stops any further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this API can also be used to halt the initial sizing of the pool when it is created.
Reference Link ¶

⚶ Changes

{
  "#id": "Pool_StopResize",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "vmSize",
            "Description": {
              "new": "For information about available VM sizes, see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).",
              "old": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
            }
          },
          {
            "deploymentConfiguration": [
              {
                "virtualMachineConfiguration": [
                  {
                    "imageReference": [
                      {
                        "#name": "id",
                        "Description": {
                          "new": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.",
                          "old": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration."
                        }
                      }
                    ]
                  },
                  {
                    "osDisk": [
                      {
                        "ephemeralOSDiskSettings": [
                          {
                            "#name": "placement",
                            "Description": {
                              "new": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.",
                              "old": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements."
                            }
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "networkConfiguration": [
              {
                "#name": "subnetId",
                "Description": {
                  "new": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
                  "old": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication\uff0cincluding ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration"
                }
              }
            ]
          },
          {
            "upgradePolicy": [
              {
                "automaticOSUpgradePolicy": [
                  {
                    "#name": "enableAutomaticOSUpgrade",
                    "Description": {
                      "new": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. 

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.", "old": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true." } } ] } ] } ] } } } }

⚼ Request

POST:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize
{
resourceGroupName: string ,
accountName: string ,
poolName: string ,
api-version: string ,
subscriptionId: string ,
}

⚐ Response (200)

{
$headers:
{
etag: string ,
}
,
$schema:
{
properties:
{
displayName: string ,
lastModified: string ,
creationTime: string ,
provisioningState: enum ,
provisioningStateTransitionTime: string ,
allocationState: enum ,
allocationStateTransitionTime: string ,
vmSize: string ,
deploymentConfiguration:
{
virtualMachineConfiguration:
{
imageReference:
{
publisher: string ,
offer: string ,
sku: string ,
version: string ,
id: 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 ,
managedDisk:
{
storageAccountType: enum ,
securityProfile:
{
securityEncryptionType: enum ,
}
,
}
,
diskSizeGB: integer ,
writeAcceleratorEnabled: boolean ,
}
,
securityProfile:
{
securityType: enum ,
encryptionAtHost: boolean ,
uefiSettings:
{
secureBootEnabled: boolean ,
vTpmEnabled: boolean ,
}
,
}
,
serviceArtifactReference:
{
id: string ,
}
,
}
,
}
,
currentDedicatedNodes: integer ,
currentLowPriorityNodes: integer ,
scaleSettings:
{
fixedScale:
{
resizeTimeout: string ,
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
nodeDeallocationOption: enum ,
}
,
autoScale:
{
formula: string ,
evaluationInterval: string ,
}
,
}
,
autoScaleRun:
{
evaluationTime: string ,
results: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
}
,
}
,
interNodeCommunication: enum ,
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 ,
}
,
taskSlotsPerNode: integer ,
taskSchedulingPolicy:
{
nodeFillType: enum ,
}
,
userAccounts:
[
{
name: string ,
password: string ,
elevationLevel: enum ,
linuxUserConfiguration:
{
uid: integer ,
gid: integer ,
sshPrivateKey: string ,
}
,
windowsUserConfiguration:
{
loginMode: enum ,
}
,
}
,
]
,
metadata:
[
{
name: string ,
value: string ,
}
,
]
,
startTask:
{
commandLine: string ,
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 ,
containerSettings:
{
containerRunOptions: string ,
imageName: string ,
registry:
{
username: string ,
password: string ,
registryServer: string ,
identityReference:
{
resourceId: string ,
}
,
}
,
workingDirectory: enum ,
containerHostBatchBindMounts:
[
{
source: enum ,
isReadOnly: boolean ,
}
,
]
,
}
,
}
,
certificates:
[
{
id: string ,
storeLocation: enum ,
storeName: string ,
visibility:
[
string ,
]
,
}
,
]
,
applicationPackages:
[
{
id: string ,
version: string ,
}
,
]
,
applicationLicenses:
[
string ,
]
,
resizeOperationStatus:
{
targetDedicatedNodes: integer ,
targetLowPriorityNodes: integer ,
resizeTimeout: string ,
nodeDeallocationOption: enum ,
startTime: string ,
errors:
[
{
code: string ,
message: string ,
details:
[
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 ,
azureFileUrl: string ,
accountKey: string ,
relativeMountPath: string ,
mountOptions: string ,
}
,
}
,
]
,
targetNodeCommunicationMode: enum ,
currentNodeCommunicationMode: 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 ,
}
,
}
,
resourceTags: object ,
}
,
identity:
{
type: enum ,
userAssignedIdentities: object ,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
}
,
}
BatchAccount_ListOutboundNetworkDependenciesEndpoints (updated)
Description Lists the endpoints that a Batch Compute Node under this Batch Account may call as part of Batch service administration. If you are deploying a Pool inside of a virtual network that you specify, you must make sure your network allows outbound access to these endpoints. Failure to allow access to these endpoints may cause Batch to mark the affected nodes as unusable. For more information about creating a pool inside of a virtual network, see https://learn.microsoft.com/azure/batch/batch-virtual-network.
Reference Link ¶

⚶ Changes

{
  "#id": "BatchAccount_ListOutboundNetworkDependenciesEndpoints",
  "Description": {
    "new": "Lists the endpoints that a Batch Compute Node under this Batch Account may call as part of Batch service administration. If you are deploying a Pool inside of a virtual network that you specify, you must make sure your network allows outbound access to these endpoints. Failure to allow access to these endpoints may cause Batch to mark the affected nodes as unusable. For more information about creating a pool inside of a virtual network, see https://learn.microsoft.com/azure/batch/batch-virtual-network.",
    "old": "Lists the endpoints that a Batch Compute Node under this Batch Account may call as part of Batch service administration. If you are deploying a Pool inside of a virtual network that you specify, you must make sure your network allows outbound access to these endpoints. Failure to allow access to these endpoints may cause Batch to mark the affected nodes as unusable. For more information about creating a pool inside of a virtual network, see https://docs.microsoft.com/en-us/azure/batch/batch-virtual-network."
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/outboundNetworkDependenciesEndpoints
{
resourceGroupName: string ,
accountName: string ,
api-version: string ,
subscriptionId: string ,
}

⚐ Response (200)

{
value:
[
{
category: string ,
endpoints:
[
{
domainName: string ,
description: string ,
endpointDetails:
[
{
port: integer ,
}
,
]
,
}
,
]
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
string ,
]
,
}
,
}