Pool interface

Contains information about a pool.

Extends

Properties

allocationState

Whether the pool is resizing. NOTE: This property will not be serialized. It can only be populated by the server.

allocationStateTransitionTime

The time at which the pool entered its current allocation state. NOTE: This property will not be serialized. It can only be populated by the server.

applicationLicenses

The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail.

applicationPackages

Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. There is a maximum of 10 application package references on any given pool.

autoScaleRun

This property is set only if the pool automatically scales, i.e. autoScaleSettings are used. NOTE: This property will not be serialized. It can only be populated by the server.

certificates

For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

Warning: This property is deprecated and will be removed after February, 2024. Please use the Azure KeyVault Extension instead.

creationTime

The creation time of the pool. NOTE: This property will not be serialized. It can only be populated by the server.

currentDedicatedNodes

The number of dedicated compute nodes currently in the pool. NOTE: This property will not be serialized. It can only be populated by the server.

currentLowPriorityNodes

The number of Spot/low-priority compute nodes currently in the pool. NOTE: This property will not be serialized. It can only be populated by the server.

currentNodeCommunicationMode

Determines how a pool communicates with the Batch service. NOTE: This property will not be serialized. It can only be populated by the server.

deploymentConfiguration

Deployment configuration properties.

displayName

The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.

identity

The type of identity used for the Batch Pool.

interNodeCommunication

This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. If not specified, this value defaults to 'Disabled'.

lastModified

This is the last time at which the pool level data, such as the targetDedicatedNodes or autoScaleSettings, changed. It does not factor in node-level changes such as a compute node changing state. NOTE: This property will not be serialized. It can only be populated by the server.

metadata

The Batch service does not assign any meaning to metadata; it is solely for the use of user code.

mountConfiguration

This supports Azure Files, NFS, CIFS/SMB, and Blobfuse.

networkConfiguration

The network configuration for a pool.

provisioningState

The current state of the pool. NOTE: This property will not be serialized. It can only be populated by the server.

provisioningStateTransitionTime

The time at which the pool entered its current state. NOTE: This property will not be serialized. It can only be populated by the server.

resizeOperationStatus

Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady). NOTE: This property will not be serialized. It can only be populated by the server.

resourceTags

The user-defined tags to be associated with the Azure Batch Pool. When specified, these tags are propagated to the backing Azure resources associated with the pool. This property can only be specified when the Batch account was created with the poolAllocationMode property set to 'UserSubscription'.

scaleSettings

Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes.

startTask

In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool.

targetNodeCommunicationMode

If omitted, the default value is Default.

taskSchedulingPolicy

If not specified, the default is spread.

taskSlotsPerNode

The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256.

upgradePolicy

Describes an upgrade policy - automatic, manual, or rolling.

userAccounts

The list of user accounts to be created on each node in the pool.

vmSize

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).

Inherited Properties

etag

The ETag of the resource, used for concurrency statements. NOTE: This property will not be serialized. It can only be populated by the server.

id

The ID of the resource. NOTE: This property will not be serialized. It can only be populated by the server.

name

The name of the resource. NOTE: This property will not be serialized. It can only be populated by the server.

tags

The tags of the resource.

type

The type of the resource. NOTE: This property will not be serialized. It can only be populated by the server.

Property Details

allocationState

Whether the pool is resizing. NOTE: This property will not be serialized. It can only be populated by the server.

allocationState?: AllocationState

Property Value

allocationStateTransitionTime

The time at which the pool entered its current allocation state. NOTE: This property will not be serialized. It can only be populated by the server.

allocationStateTransitionTime?: Date

Property Value

Date

applicationLicenses

The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail.

applicationLicenses?: string[]

Property Value

string[]

applicationPackages

Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. There is a maximum of 10 application package references on any given pool.

applicationPackages?: ApplicationPackageReference[]

Property Value

autoScaleRun

This property is set only if the pool automatically scales, i.e. autoScaleSettings are used. NOTE: This property will not be serialized. It can only be populated by the server.

autoScaleRun?: AutoScaleRun

Property Value

certificates

For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

Warning: This property is deprecated and will be removed after February, 2024. Please use the Azure KeyVault Extension instead.

certificates?: CertificateReference[]

Property Value

creationTime

The creation time of the pool. NOTE: This property will not be serialized. It can only be populated by the server.

creationTime?: Date

Property Value

Date

currentDedicatedNodes

The number of dedicated compute nodes currently in the pool. NOTE: This property will not be serialized. It can only be populated by the server.

currentDedicatedNodes?: number

Property Value

number

currentLowPriorityNodes

The number of Spot/low-priority compute nodes currently in the pool. NOTE: This property will not be serialized. It can only be populated by the server.

currentLowPriorityNodes?: number

Property Value

number

currentNodeCommunicationMode

Determines how a pool communicates with the Batch service. NOTE: This property will not be serialized. It can only be populated by the server.

currentNodeCommunicationMode?: NodeCommunicationMode

Property Value

deploymentConfiguration

Deployment configuration properties.

deploymentConfiguration?: DeploymentConfiguration

Property Value

displayName

The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.

displayName?: string

Property Value

string

identity

The type of identity used for the Batch Pool.

identity?: BatchPoolIdentity

Property Value

interNodeCommunication

This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. If not specified, this value defaults to 'Disabled'.

interNodeCommunication?: InterNodeCommunicationState

Property Value

lastModified

This is the last time at which the pool level data, such as the targetDedicatedNodes or autoScaleSettings, changed. It does not factor in node-level changes such as a compute node changing state. NOTE: This property will not be serialized. It can only be populated by the server.

lastModified?: Date

Property Value

Date

metadata

The Batch service does not assign any meaning to metadata; it is solely for the use of user code.

metadata?: MetadataItem[]

Property Value

mountConfiguration

This supports Azure Files, NFS, CIFS/SMB, and Blobfuse.

mountConfiguration?: MountConfiguration[]

Property Value

networkConfiguration

The network configuration for a pool.

networkConfiguration?: NetworkConfiguration

Property Value

provisioningState

The current state of the pool. NOTE: This property will not be serialized. It can only be populated by the server.

provisioningState?: PoolProvisioningState

Property Value

provisioningStateTransitionTime

The time at which the pool entered its current state. NOTE: This property will not be serialized. It can only be populated by the server.

provisioningStateTransitionTime?: Date

Property Value

Date

resizeOperationStatus

Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady). NOTE: This property will not be serialized. It can only be populated by the server.

resizeOperationStatus?: ResizeOperationStatus

Property Value

resourceTags

The user-defined tags to be associated with the Azure Batch Pool. When specified, these tags are propagated to the backing Azure resources associated with the pool. This property can only be specified when the Batch account was created with the poolAllocationMode property set to 'UserSubscription'.

resourceTags?: {[propertyName: string]: string}

Property Value

{[propertyName: string]: string}

scaleSettings

Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes.

scaleSettings?: ScaleSettings

Property Value

startTask

In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool.

startTask?: StartTask

Property Value

targetNodeCommunicationMode

If omitted, the default value is Default.

targetNodeCommunicationMode?: NodeCommunicationMode

Property Value

taskSchedulingPolicy

If not specified, the default is spread.

taskSchedulingPolicy?: TaskSchedulingPolicy

Property Value

taskSlotsPerNode

The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256.

taskSlotsPerNode?: number

Property Value

number

upgradePolicy

Describes an upgrade policy - automatic, manual, or rolling.

upgradePolicy?: UpgradePolicy

Property Value

userAccounts

The list of user accounts to be created on each node in the pool.

userAccounts?: UserAccount[]

Property Value

vmSize

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).

vmSize?: string

Property Value

string

Inherited Property Details

etag

The ETag of the resource, used for concurrency statements. NOTE: This property will not be serialized. It can only be populated by the server.

etag?: string

Property Value

string

Inherited From AzureProxyResource.etag

id

The ID of the resource. NOTE: This property will not be serialized. It can only be populated by the server.

id?: string

Property Value

string

Inherited From AzureProxyResource.id

name

The name of the resource. NOTE: This property will not be serialized. It can only be populated by the server.

name?: string

Property Value

string

Inherited From AzureProxyResource.name

tags

The tags of the resource.

tags?: {[propertyName: string]: string}

Property Value

{[propertyName: string]: string}

Inherited From AzureProxyResource.tags

type

The type of the resource. NOTE: This property will not be serialized. It can only be populated by the server.

type?: string

Property Value

string

Inherited From AzureProxyResource.type