Class PoolAddParameter
- java.lang.Object
-
- com.microsoft.azure.batch.protocol.models.PoolAddParameter
-
public class PoolAddParameter extends Object
A Pool in the Azure Batch service to add.
-
-
Constructor Summary
Constructors Constructor Description PoolAddParameter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<String>
applicationLicenses()
Get the list of application licenses must be a subset of available Batch service application licenses.List<ApplicationPackageReference>
applicationPackageReferences()
Get when creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}).org.joda.time.Period
autoScaleEvaluationInterval()
Get the default value is 15 minutes.String
autoScaleFormula()
Get this property must not be specified if enableAutoScale is set to false.List<CertificateReference>
certificateReferences()
Get for Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location.CloudServiceConfiguration
cloudServiceConfiguration()
Get this property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified.String
displayName()
Get the display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.Boolean
enableAutoScale()
Get if false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified.Boolean
enableInterNodeCommunication()
Get enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool.String
id()
Get the ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters.List<MetadataItem>
metadata()
Get the Batch service does not assign any meaning to metadata; it is solely for the use of user code.List<MountConfiguration>
mountConfiguration()
Get mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system.NetworkConfiguration
networkConfiguration()
Get the networkConfiguration value.org.joda.time.Period
resizeTimeout()
Get this timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true.StartTask
startTask()
Get the Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.Integer
targetDedicatedNodes()
Get this property must not be specified if enableAutoScale is set to true.Integer
targetLowPriorityNodes()
Get this property must not be specified if enableAutoScale is set to true.NodeCommunicationMode
targetNodeCommunicationMode()
Get if omitted, the default value is Default.TaskSchedulingPolicy
taskSchedulingPolicy()
Get if not specified, the default is spread.Integer
taskSlotsPerNode()
Get the default value is 1.List<UserAccount>
userAccounts()
Get the userAccounts value.VirtualMachineConfiguration
virtualMachineConfiguration()
Get this property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified.String
vmSize()
Get for information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/).PoolAddParameter
withApplicationLicenses(List<String> applicationLicenses)
Set the list of application licenses must be a subset of available Batch service application licenses.PoolAddParameter
withApplicationPackageReferences(List<ApplicationPackageReference> applicationPackageReferences)
Set when creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}).PoolAddParameter
withAutoScaleEvaluationInterval(org.joda.time.Period autoScaleEvaluationInterval)
Set the default value is 15 minutes.PoolAddParameter
withAutoScaleFormula(String autoScaleFormula)
Set this property must not be specified if enableAutoScale is set to false.PoolAddParameter
withCertificateReferences(List<CertificateReference> certificateReferences)
Set for Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location.PoolAddParameter
withCloudServiceConfiguration(CloudServiceConfiguration cloudServiceConfiguration)
Set this property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified.PoolAddParameter
withDisplayName(String displayName)
Set the display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.PoolAddParameter
withEnableAutoScale(Boolean enableAutoScale)
Set if false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified.PoolAddParameter
withEnableInterNodeCommunication(Boolean enableInterNodeCommunication)
Set enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool.PoolAddParameter
withId(String id)
Set the ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters.PoolAddParameter
withMetadata(List<MetadataItem> metadata)
Set the Batch service does not assign any meaning to metadata; it is solely for the use of user code.PoolAddParameter
withMountConfiguration(List<MountConfiguration> mountConfiguration)
Set mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system.PoolAddParameter
withNetworkConfiguration(NetworkConfiguration networkConfiguration)
Set the networkConfiguration value.PoolAddParameter
withResizeTimeout(org.joda.time.Period resizeTimeout)
Set this timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true.PoolAddParameter
withStartTask(StartTask startTask)
Set the Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.PoolAddParameter
withTargetDedicatedNodes(Integer targetDedicatedNodes)
Set this property must not be specified if enableAutoScale is set to true.PoolAddParameter
withTargetLowPriorityNodes(Integer targetLowPriorityNodes)
Set this property must not be specified if enableAutoScale is set to true.PoolAddParameter
withTargetNodeCommunicationMode(NodeCommunicationMode targetNodeCommunicationMode)
Set if omitted, the default value is Default.PoolAddParameter
withTaskSchedulingPolicy(TaskSchedulingPolicy taskSchedulingPolicy)
Set if not specified, the default is spread.PoolAddParameter
withTaskSlotsPerNode(Integer taskSlotsPerNode)
Set the default value is 1.PoolAddParameter
withUserAccounts(List<UserAccount> userAccounts)
Set the userAccounts value.PoolAddParameter
withVirtualMachineConfiguration(VirtualMachineConfiguration virtualMachineConfiguration)
Set this property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified.PoolAddParameter
withVmSize(String vmSize)
Set for information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/).
-
-
-
Method Detail
-
id
public String id()
Get the ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two Pool IDs within an Account that differ only by case).- Returns:
- the id value
-
withId
public PoolAddParameter withId(String id)
Set the ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two Pool IDs within an Account that differ only by case).- Parameters:
id
- the id value to set- Returns:
- the PoolAddParameter object itself.
-
displayName
public String displayName()
Get the display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.- Returns:
- the displayName value
-
withDisplayName
public PoolAddParameter withDisplayName(String displayName)
Set the display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.- Parameters:
displayName
- the displayName value to set- Returns:
- the PoolAddParameter object itself.
-
vmSize
public String vmSize()
Get for information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).- Returns:
- the vmSize value
-
withVmSize
public PoolAddParameter withVmSize(String vmSize)
Set for information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series).- Parameters:
vmSize
- the vmSize value to set- Returns:
- the PoolAddParameter object itself.
-
cloudServiceConfiguration
public CloudServiceConfiguration cloudServiceConfiguration()
Get this property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'.- Returns:
- the cloudServiceConfiguration value
-
withCloudServiceConfiguration
public PoolAddParameter withCloudServiceConfiguration(CloudServiceConfiguration cloudServiceConfiguration)
Set this property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'.- Parameters:
cloudServiceConfiguration
- the cloudServiceConfiguration value to set- Returns:
- the PoolAddParameter object itself.
-
virtualMachineConfiguration
public VirtualMachineConfiguration virtualMachineConfiguration()
Get this property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified.- Returns:
- the virtualMachineConfiguration value
-
withVirtualMachineConfiguration
public PoolAddParameter withVirtualMachineConfiguration(VirtualMachineConfiguration virtualMachineConfiguration)
Set this property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified.- Parameters:
virtualMachineConfiguration
- the virtualMachineConfiguration value to set- Returns:
- the PoolAddParameter object itself.
-
resizeTimeout
public org.joda.time.Period resizeTimeout()
Get this timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).- Returns:
- the resizeTimeout value
-
withResizeTimeout
public PoolAddParameter withResizeTimeout(org.joda.time.Period resizeTimeout)
Set this timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).- Parameters:
resizeTimeout
- the resizeTimeout value to set- Returns:
- the PoolAddParameter object itself.
-
targetDedicatedNodes
public Integer targetDedicatedNodes()
Get this property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both.- Returns:
- the targetDedicatedNodes value
-
withTargetDedicatedNodes
public PoolAddParameter withTargetDedicatedNodes(Integer targetDedicatedNodes)
Set this property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both.- Parameters:
targetDedicatedNodes
- the targetDedicatedNodes value to set- Returns:
- the PoolAddParameter object itself.
-
targetLowPriorityNodes
public Integer targetLowPriorityNodes()
Get this property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both.- Returns:
- the targetLowPriorityNodes value
-
withTargetLowPriorityNodes
public PoolAddParameter withTargetLowPriorityNodes(Integer targetLowPriorityNodes)
Set this property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both.- Parameters:
targetLowPriorityNodes
- the targetLowPriorityNodes value to set- Returns:
- the PoolAddParameter object itself.
-
enableAutoScale
public Boolean enableAutoScale()
Get if false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false.- Returns:
- the enableAutoScale value
-
withEnableAutoScale
public PoolAddParameter withEnableAutoScale(Boolean enableAutoScale)
Set if false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false.- Parameters:
enableAutoScale
- the enableAutoScale value to set- Returns:
- the PoolAddParameter object itself.
-
autoScaleFormula
public String autoScaleFormula()
Get this property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale Compute Nodes in an Azure Batch Pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/).- Returns:
- the autoScaleFormula value
-
withAutoScaleFormula
public PoolAddParameter withAutoScaleFormula(String autoScaleFormula)
Set this property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale Compute Nodes in an Azure Batch Pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/).- Parameters:
autoScaleFormula
- the autoScaleFormula value to set- Returns:
- the PoolAddParameter object itself.
-
autoScaleEvaluationInterval
public org.joda.time.Period autoScaleEvaluationInterval()
Get the default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).- Returns:
- the autoScaleEvaluationInterval value
-
withAutoScaleEvaluationInterval
public PoolAddParameter withAutoScaleEvaluationInterval(org.joda.time.Period autoScaleEvaluationInterval)
Set the default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).- Parameters:
autoScaleEvaluationInterval
- the autoScaleEvaluationInterval value to set- Returns:
- the PoolAddParameter object itself.
-
enableInterNodeCommunication
public Boolean enableInterNodeCommunication()
Get enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false.- Returns:
- the enableInterNodeCommunication value
-
withEnableInterNodeCommunication
public PoolAddParameter withEnableInterNodeCommunication(Boolean enableInterNodeCommunication)
Set enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false.- Parameters:
enableInterNodeCommunication
- the enableInterNodeCommunication value to set- Returns:
- the PoolAddParameter object itself.
-
networkConfiguration
public NetworkConfiguration networkConfiguration()
Get the networkConfiguration value.- Returns:
- the networkConfiguration value
-
withNetworkConfiguration
public PoolAddParameter withNetworkConfiguration(NetworkConfiguration networkConfiguration)
Set the networkConfiguration value.- Parameters:
networkConfiguration
- the networkConfiguration value to set- Returns:
- the PoolAddParameter object itself.
-
startTask
public StartTask startTask()
Get the Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.- Returns:
- the startTask value
-
withStartTask
public PoolAddParameter withStartTask(StartTask startTask)
Set the Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.- Parameters:
startTask
- the startTask value to set- Returns:
- the PoolAddParameter object itself.
-
certificateReferences
public List<CertificateReference> certificateReferences()
Get for Windows 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](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.- Returns:
- the certificateReferences value
-
withCertificateReferences
public PoolAddParameter withCertificateReferences(List<CertificateReference> certificateReferences)
Set for Windows 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](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.- Parameters:
certificateReferences
- the certificateReferences value to set- Returns:
- the PoolAddParameter object itself.
-
applicationPackageReferences
public List<ApplicationPackageReference> applicationPackageReferences()
Get when creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Changes to Package references affect all new 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 Package references on any given Pool.- Returns:
- the applicationPackageReferences value
-
withApplicationPackageReferences
public PoolAddParameter withApplicationPackageReferences(List<ApplicationPackageReference> applicationPackageReferences)
Set when creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Changes to Package references affect all new 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 Package references on any given Pool.- Parameters:
applicationPackageReferences
- the applicationPackageReferences value to set- Returns:
- the PoolAddParameter object itself.
-
applicationLicenses
public List<String> applicationLicenses()
Get 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.- Returns:
- the applicationLicenses value
-
withApplicationLicenses
public PoolAddParameter withApplicationLicenses(List<String> applicationLicenses)
Set 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.- Parameters:
applicationLicenses
- the applicationLicenses value to set- Returns:
- the PoolAddParameter object itself.
-
taskSlotsPerNode
public Integer taskSlotsPerNode()
Get 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.- Returns:
- the taskSlotsPerNode value
-
withTaskSlotsPerNode
public PoolAddParameter withTaskSlotsPerNode(Integer taskSlotsPerNode)
Set 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.- Parameters:
taskSlotsPerNode
- the taskSlotsPerNode value to set- Returns:
- the PoolAddParameter object itself.
-
taskSchedulingPolicy
public TaskSchedulingPolicy taskSchedulingPolicy()
Get if not specified, the default is spread.- Returns:
- the taskSchedulingPolicy value
-
withTaskSchedulingPolicy
public PoolAddParameter withTaskSchedulingPolicy(TaskSchedulingPolicy taskSchedulingPolicy)
Set if not specified, the default is spread.- Parameters:
taskSchedulingPolicy
- the taskSchedulingPolicy value to set- Returns:
- the PoolAddParameter object itself.
-
userAccounts
public List<UserAccount> userAccounts()
Get the userAccounts value.- Returns:
- the userAccounts value
-
withUserAccounts
public PoolAddParameter withUserAccounts(List<UserAccount> userAccounts)
Set the userAccounts value.- Parameters:
userAccounts
- the userAccounts value to set- Returns:
- the PoolAddParameter object itself.
-
metadata
public List<MetadataItem> metadata()
Get the Batch service does not assign any meaning to metadata; it is solely for the use of user code.- Returns:
- the metadata value
-
withMetadata
public PoolAddParameter withMetadata(List<MetadataItem> metadata)
Set the Batch service does not assign any meaning to metadata; it is solely for the use of user code.- Parameters:
metadata
- the metadata value to set- Returns:
- the PoolAddParameter object itself.
-
mountConfiguration
public List<MountConfiguration> mountConfiguration()
Get mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system.- Returns:
- the mountConfiguration value
-
withMountConfiguration
public PoolAddParameter withMountConfiguration(List<MountConfiguration> mountConfiguration)
Set mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system.- Parameters:
mountConfiguration
- the mountConfiguration value to set- Returns:
- the PoolAddParameter object itself.
-
targetNodeCommunicationMode
public NodeCommunicationMode targetNodeCommunicationMode()
Get if omitted, the default value is Default. Possible values include: 'default', 'classic', 'simplified'.- Returns:
- the targetNodeCommunicationMode value
-
withTargetNodeCommunicationMode
public PoolAddParameter withTargetNodeCommunicationMode(NodeCommunicationMode targetNodeCommunicationMode)
Set if omitted, the default value is Default. Possible values include: 'default', 'classic', 'simplified'.- Parameters:
targetNodeCommunicationMode
- the targetNodeCommunicationMode value to set- Returns:
- the PoolAddParameter object itself.
-
-