Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See License.txt in the project root for
license information.
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*/
package com.microsoft.azure.management.batch;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.batch.implementation.PoolInner;
import com.microsoft.azure.management.resources.fluentcore.arm.models.ExternalChildResource;
import com.microsoft.azure.management.resources.fluentcore.model.Attachable;
import com.microsoft.azure.management.resources.fluentcore.model.HasInner;
import com.microsoft.azure.management.resources.fluentcore.model.Settable;
import java.util.List;
An immutable client-side representation of an Azure Batch account pool.
/**
* An immutable client-side representation of an Azure Batch account pool.
*/
@Fluent
public interface Pool extends
ExternalChildResource<Pool, BatchAccount>,
HasInner<PoolInner> {
Returns: the networkConfiguration value
/**
* @return the networkConfiguration value
*/
NetworkConfiguration networkConfiguration();
Returns: the mountConfiguration value
/**
* @return the mountConfiguration value
*/
List<MountConfiguration> mountConfiguration();
Returns: the scaleSettings value
/**
* @return the scaleSettings value
*/
ScaleSettings scaleSettings();
Returns: the startTask value
/**
* @return the startTask value
*/
StartTask startTask();
Returns: the metadata value
/**
* @return the metadata value
*/
List<MetadataItem> metadata();
Returns: the applicationPackages value
/**
* @return the applicationPackages value
*/
List<ApplicationPackageReference> applicationPackages();
Returns: the certificates value
/**
* @return the certificates value
*/
List<CertificateReference> certificates();
Returns: the size of virtual machine in the pool
/**
* @return the size of virtual machine in the pool
*/
String vmSize();
Returns: the deployment configuration value
/**
* @return the deployment configuration value
*/
DeploymentConfiguration deploymentConfiguration();
Returns: the display name for the pool
/**
* @return the display name for the pool
*/
String displayName();
Returns: the interNodeCommunication value
/**
* @return the interNodeCommunication value
*/
InterNodeCommunicationState interNodeCommunication();
Returns: the maxTasksPerNode value
/**
* @return the maxTasksPerNode value
*/
@Deprecated
Integer maxTasksPerNode();
Returns: the number of task slots that can be used to run concurrent tasks on a single compute node in the pool
/**
* @return the number of task slots that can be used to run concurrent tasks on a single compute node in the pool
*/
Integer taskSlotsPerNode();
Returns: the taskSchedulingPolicy value
/**
* @return the taskSchedulingPolicy value
*/
TaskSchedulingPolicy taskSchedulingPolicy();
Returns: the userAccounts value
/**
* @return the userAccounts value
*/
List<UserAccount> userAccounts();
Returns: the applicationLicenses value
/**
* @return the applicationLicenses value
*/
List<String> applicationLicenses();
The entirety of a Batch pool definition as a part of a Batch account definition.
Type parameters: - <ParentT> – the stage of the parent Batch account definition to return to after attaching this definition
/**
* The entirety of a Batch pool definition as a part of a Batch account definition.
*
* @param <ParentT> the stage of the parent Batch account definition to return to after attaching this definition
*/
interface Definition<ParentT> extends
DefinitionStages.Blank<ParentT>,
DefinitionStages.WithAttach<ParentT> {
}
Grouping of all the pool definition stages.
/**
* Grouping of all the pool definition stages.
*/
interface DefinitionStages {
The first stage of a batch pool definition.
Type parameters: - <ParentT> – the stage of the parent Batch account definition to return to after attaching this definition
/**
* The first stage of a batch pool definition.
*
* @param <ParentT> the stage of the parent Batch account definition to return to after attaching this definition
*/
interface Blank<ParentT> extends WithAttach<ParentT> {
}
The stage of a Batch pool definition that allows the creation of a pool.
Type parameters: - <ParentT> – the stage of the parent Batch account definition to return to after attaching this definition
/**
* The stage of a Batch pool definition that allows the creation of a pool.
*
* @param <ParentT> the stage of the parent Batch account definition to return to after attaching this definition
*/
interface WithAttach<ParentT> extends
Attachable.InDefinition<ParentT> {
Specifies the network configuration for the pool.
Params: - networkConfiguration – network configuration value
Returns: the next stage of the definition
/**
* Specifies the network configuration for the pool.
*
* @param networkConfiguration network configuration value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withNetworkConfiguration(NetworkConfiguration networkConfiguration);
Specifies the file system configuration for the pool to mount on each node.
Params: - mountConfigurations – mount configuration value
Returns: the next stage of the definition
/**
* Specifies the file system configuration for the pool to mount on each node.
*
* @param mountConfigurations mount configuration value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withMountConfiguration(List<MountConfiguration> mountConfigurations);
Specifies the scale settings for the pool.
Params: - scaleSettings – scale settings value
Returns: the next stage of the definition
/**
* Specifies the scale settings for the pool.
*
* @param scaleSettings scale settings value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withScaleSettings(ScaleSettings scaleSettings);
Specifies the start task for the pool.
Params: - startTask – start task value
Returns: the next stage of the definition
/**
* Specifies the start task for the pool.
*
* @param startTask start task value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withStartTask(StartTask startTask);
Specifies the metadata for the use of user code.
Params: - metadata – metadata value
Returns: the next stage of the definition
/**
* Specifies the metadata for the use of user code.
*
* @param metadata metadata value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withMetadata(List<MetadataItem> metadata);
Specifies the application package references affect all new compute nodes joining the pool.
Params: - applicationPackages – applicationPackages value
Returns: the next stage of the definition
/**
* Specifies the application package references affect all new compute nodes joining the pool.
*
* @param applicationPackages applicationPackages value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withApplicationPackages(List<ApplicationPackageReference> applicationPackages);
Specifies the certificates for compute nodes.
Params: - certificates – certificates value
Returns: the next stage of the definition
/**
* Specifies the certificates for compute nodes.
*
* @param certificates certificates value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withCertificates(List<CertificateReference> certificates);
Specifies the available sizes of virtual machine for Cloud Services pools.
Params: - vmSize – vmSize value
Returns: the next stage of the definition
/**
* Specifies the available sizes of virtual machine for Cloud Services pools.
*
* @param vmSize vmSize value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withVmSize(String vmSize);
Specifies the creation of nodes using CloudServiceConfiguration/VirtualMachineConfiguration.
Params: - deploymentConfiguration – deploymentConfiguration value
Returns: the next stage of the definition
/**
* Specifies the creation of nodes using CloudServiceConfiguration/VirtualMachineConfiguration.
*
* @param deploymentConfiguration deploymentConfiguration value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withDeploymentConfiguration(DeploymentConfiguration deploymentConfiguration);
Specifies the display name for the pool.
Params: - displayName – displayName value
Returns: the next stage of the definition
/**
* Specifies the display name for the pool.
*
* @param displayName displayName value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withDisplayName(String displayName);
Specifies the restrictions on which nodes can be assigned to the pool.
Params: - interNodeCommunication – interNodeCommunication value
Returns: the next stage of the definition
/**
* Specifies the restrictions on which nodes can be assigned to the pool.
*
* @param interNodeCommunication interNodeCommunication value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withInterNodeCommunication(InterNodeCommunicationState interNodeCommunication);
Specifies the maximum value of tasks to run on each node.
Params: - maxTasksPerNode – maxTasksPerNode value
Returns: the next stage of the definition
/**
* Specifies the maximum value of tasks to run on each node.
*
* @param maxTasksPerNode maxTasksPerNode value
* @return the next stage of the definition
*/
@Deprecated
DefinitionStages.WithAttach<ParentT> withMaxTasksPerNode(Integer maxTasksPerNode);
Specifies the number of task slots that can be used to run
concurrent tasks on a single compute node in the pool.
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.
Params: - taskSlotsPerNode – the number of task slots
Returns: the next stage of the definition
/**
* Specifies the number of task slots that can be used to run
* concurrent tasks on a single compute node in the pool.
* 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.
*
* @param taskSlotsPerNode the number of task slots
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withTaskSlotsPerNode(Integer taskSlotsPerNode);
Specifies the task scheduling policy.
Params: - taskSchedulingPolicy – taskSchedulingPolicy value
Returns: the next stage of the definition
/**
* Specifies the task scheduling policy.
*
* @param taskSchedulingPolicy taskSchedulingPolicy value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withTaskSchedulingPolicy(TaskSchedulingPolicy taskSchedulingPolicy);
Specifies the user accounts value.
Params: - userAccounts – userAccounts value
Returns: the next stage of the definition
/**
* Specifies the user accounts value.
*
* @param userAccounts userAccounts value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withUserAccounts(List<UserAccount> userAccounts);
Specifies the list of application licenses.
Params: - applicationLicenses – applicationLicenses value
Returns: the next stage of the definition
/**
* Specifies the list of application licenses.
*
* @param applicationLicenses applicationLicenses value
* @return the next stage of the definition
*/
DefinitionStages.WithAttach<ParentT> withApplicationLicenses(List<String> applicationLicenses);
}
}
The entirety of a Batch pool definition as a part of parent update.
Type parameters: - <ParentT> – the stage of the parent Batch account update to return to after attaching this definition
/**
* The entirety of a Batch pool definition as a part of parent update.
*
* @param <ParentT> the stage of the parent Batch account update to return to after attaching this definition
*/
interface UpdateDefinition<ParentT> extends
UpdateDefinitionStages.Blank<ParentT>,
UpdateDefinitionStages.WithAttach<ParentT> {
}
Grouping of pool definition stages as part of a Batch account update.
/**
* Grouping of pool definition stages as part of a Batch account update.
*/
interface UpdateDefinitionStages {
The first stage of a Batch pool definition.
Type parameters: - <ParentT> – the stage of the parent Batch account definition to return to after attaching this definition
/**
* The first stage of a Batch pool definition.
*
* @param <ParentT> the stage of the parent Batch account definition to return to after attaching this definition
*/
interface Blank<ParentT> extends WithAttach<ParentT> {
}
The stage of a Batch pool definition allowing the creation of configurations.
Type parameters: - <ParentT> – the stage of the parent Batch account definition to return to after attaching this definition
/**
* The stage of a Batch pool definition allowing the creation of configurations.
*
* @param <ParentT> the stage of the parent Batch account definition to return to after attaching this definition
*/
interface WithAttach<ParentT> extends
Attachable.InUpdate<ParentT> {
Specifies the network configuration for the pool.
Params: - networkConfiguration – network configuration value
Returns: the next stage of the definition
/**
* Specifies the network configuration for the pool.
*
* @param networkConfiguration network configuration value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withNetworkConfiguration(NetworkConfiguration networkConfiguration);
Specifies the file system configuration for the pool to mount on each node.
Params: - mountConfigurations – mount configuration value
Returns: the next stage of the definition
/**
* Specifies the file system configuration for the pool to mount on each node.
*
* @param mountConfigurations mount configuration value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withMountConfiguration(List<MountConfiguration> mountConfigurations);
Specifies the scale settings for the pool.
Params: - scaleSettings – scale settings value
Returns: the next stage of the definition
/**
* Specifies the scale settings for the pool.
*
* @param scaleSettings scale settings value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withScaleSettings(ScaleSettings scaleSettings);
Specifies the start task for the pool.
Params: - startTask – start task value
Returns: the next stage of the definition
/**
* Specifies the start task for the pool.
*
* @param startTask start task value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withStartTask(StartTask startTask);
Specifies the metadata for the use of user code.
Params: - metadata – metadata value
Returns: the next stage of the definition
/**
* Specifies the metadata for the use of user code.
*
* @param metadata metadata value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withMetadata(List<MetadataItem> metadata);
Specifies the application package references affect all new compute nodes joining the pool.
Params: - applicationPackages – applicationPackages value
Returns: the next stage of the definition
/**
* Specifies the application package references affect all new compute nodes joining the pool.
*
* @param applicationPackages applicationPackages value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withApplicationPackages(List<ApplicationPackageReference> applicationPackages);
Specifies the certificates for compute nodes.
Params: - certificates – certificates value
Returns: the next stage of the definition
/**
* Specifies the certificates for compute nodes.
*
* @param certificates certificates value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withCertificates(List<CertificateReference> certificates);
Specifies the available sizes of virtual machine for Cloud Services pools.
Params: - vmSize – vmSize value
Returns: the next stage of the definition
/**
* Specifies the available sizes of virtual machine for Cloud Services pools.
*
* @param vmSize vmSize value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withVmSize(String vmSize);
Specifies the creation of nodes using CloudServiceConfiguration/VirtualMachineConfiguration.
Params: - deploymentConfiguration – deploymentConfiguration value
Returns: the next stage of the definition
/**
* Specifies the creation of nodes using CloudServiceConfiguration/VirtualMachineConfiguration.
*
* @param deploymentConfiguration deploymentConfiguration value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withDeploymentConfiguration(DeploymentConfiguration deploymentConfiguration);
Specifies the display name for the pool.
Params: - displayName – displayName value
Returns: the next stage of the definition
/**
* Specifies the display name for the pool.
*
* @param displayName displayName value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withDisplayName(String displayName);
Specifies the restrictions on which nodes can be assigned to the pool.
Params: - interNodeCommunication – interNodeCommunication value
Returns: the next stage of the definition
/**
* Specifies the restrictions on which nodes can be assigned to the pool.
*
* @param interNodeCommunication interNodeCommunication value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withInterNodeCommunication(InterNodeCommunicationState interNodeCommunication);
Specifies the maximum value of tasks to run on each node.
Params: - maxTasksPerNode – maxTasksPerNode value
Returns: the next stage of the definition
/**
* Specifies the maximum value of tasks to run on each node.
*
* @param maxTasksPerNode maxTasksPerNode value
* @return the next stage of the definition
*/
@Deprecated
UpdateDefinitionStages.WithAttach<ParentT> withMaxTasksPerNode(Integer maxTasksPerNode);
Specifies the number of task slots that can be used to run
concurrent tasks on a single compute node in the pool.
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.
Params: - taskSlotsPerNode – the number of task slots
Returns: the next stage of the definition
/**
* Specifies the number of task slots that can be used to run
* concurrent tasks on a single compute node in the pool.
* 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.
*
* @param taskSlotsPerNode the number of task slots
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withTaskSlotsPerNode(Integer taskSlotsPerNode);
Specifies the task scheduling policy.
Params: - taskSchedulingPolicy – taskSchedulingPolicy value
Returns: the next stage of the definition
/**
* Specifies the task scheduling policy.
*
* @param taskSchedulingPolicy taskSchedulingPolicy value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withTaskSchedulingPolicy(TaskSchedulingPolicy taskSchedulingPolicy);
Specifies the user accounts value.
Params: - userAccounts – userAccounts value
Returns: the next stage of the definition
/**
* Specifies the user accounts value.
*
* @param userAccounts userAccounts value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withUserAccounts(List<UserAccount> userAccounts);
Specifies the list of application licenses.
Params: - applicationLicenses – applicationLicenses value
Returns: the next stage of the definition
/**
* Specifies the list of application licenses.
*
* @param applicationLicenses applicationLicenses value
* @return the next stage of the definition
*/
UpdateDefinitionStages.WithAttach<ParentT> withApplicationLicenses(List<String> applicationLicenses);
}
}
Grouping of Batch pool update stages.
/**
* Grouping of Batch pool update stages.
*/
interface UpdateStages {
The stage of a Batch pool update allowing the creation of configurations.
/**
* The stage of a Batch pool update allowing the creation of configurations.
*/
interface WithAttach {
Specifies the network configuration for the pool.
Params: - networkConfiguration – network configuration value
Returns: the next stage of the update
/**
* Specifies the network configuration for the pool.
*
* @param networkConfiguration network configuration value
* @return the next stage of the update
*/
Update withNetworkConfiguration(NetworkConfiguration networkConfiguration);
Specifies the file system configuration for the pool to mount on each node.
Params: - mountConfigurations – mount configuration value
Returns: the next stage of the update
/**
* Specifies the file system configuration for the pool to mount on each node.
*
* @param mountConfigurations mount configuration value
* @return the next stage of the update
*/
Update withMountConfiguration(List<MountConfiguration> mountConfigurations);
Specifies the scale settings for the pool.
Params: - scaleSettings – scale settings value
Returns: the next stage of the update
/**
* Specifies the scale settings for the pool.
*
* @param scaleSettings scale settings value
* @return the next stage of the update
*/
Update withScaleSettings(ScaleSettings scaleSettings);
Specifies the start task for the pool.
Params: - startTask – start task value
Returns: the next stage of the update
/**
* Specifies the start task for the pool.
*
* @param startTask start task value
* @return the next stage of the update
*/
Update withStartTask(StartTask startTask);
Specifies the metadata for the use of user code.
Params: - metadata – metadata value
Returns: the next stage of the update
/**
* Specifies the metadata for the use of user code.
*
* @param metadata metadata value
* @return the next stage of the update
*/
Update withMetadata(List<MetadataItem> metadata);
Specifies the application package references affect all new compute nodes joining the pool.
Params: - applicationPackages – applicationPackages value
Returns: the next stage of the update
/**
* Specifies the application package references affect all new compute nodes joining the pool.
*
* @param applicationPackages applicationPackages value
* @return the next stage of the update
*/
Update withApplicationPackages(List<ApplicationPackageReference> applicationPackages);
Specifies the certificates for compute nodes.
Params: - certificates – certificates value
Returns: the next stage of the update
/**
* Specifies the certificates for compute nodes.
*
* @param certificates certificates value
* @return the next stage of the update
*/
Update withCertificates(List<CertificateReference> certificates);
Specifies the available sizes of virtual machine for Cloud Services pools.
Params: - vmSize – vmSize value
Returns: the next stage of the update
/**
* Specifies the available sizes of virtual machine for Cloud Services pools.
*
* @param vmSize vmSize value
* @return the next stage of the update
*/
Update withVmSize(String vmSize);
Specifies the creation of nodes using CloudServiceConfiguration/VirtualMachineConfiguration.
Params: - deploymentConfiguration – deploymentConfiguration value
Returns: the next stage of the update
/**
* Specifies the creation of nodes using CloudServiceConfiguration/VirtualMachineConfiguration.
*
* @param deploymentConfiguration deploymentConfiguration value
* @return the next stage of the update
*/
Update withDeploymentConfiguration(DeploymentConfiguration deploymentConfiguration);
Specifies the display name for the pool.
Params: - displayName – displayName value
Returns: the next stage of the update
/**
* Specifies the display name for the pool.
*
* @param displayName displayName value
* @return the next stage of the update
*/
Update withDisplayName(String displayName);
Specifies the restrictions on which nodes can be assigned to the pool.
Params: - interNodeCommunication – interNodeCommunication value
Returns: the next stage of the update
/**
* Specifies the restrictions on which nodes can be assigned to the pool.
*
* @param interNodeCommunication interNodeCommunication value
* @return the next stage of the update
*/
Update withInterNodeCommunication(InterNodeCommunicationState interNodeCommunication);
Specifies the maximum value of tasks to run on each node.
Params: - maxTasksPerNode – maxTasksPerNode value
Returns: the next stage of the update
/**
* Specifies the maximum value of tasks to run on each node.
*
* @param maxTasksPerNode maxTasksPerNode value
* @return the next stage of the update
*/
@Deprecated
Update withMaxTasksPerNode(Integer maxTasksPerNode);
Specifies the number of task slots that can be used to run
concurrent tasks on a single compute node in the pool.
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.
Params: - taskSlotsPerNode – the number of task slots
Returns: the next stage of the update
/**
* Specifies the number of task slots that can be used to run
* concurrent tasks on a single compute node in the pool.
* 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.
*
* @param taskSlotsPerNode the number of task slots
* @return the next stage of the update
*/
Update withTaskSlotsPerNode(Integer taskSlotsPerNode);
Specifies the task scheduling policy.
Params: - taskSchedulingPolicy – taskSchedulingPolicy value
Returns: the next stage of the update
/**
* Specifies the task scheduling policy.
*
* @param taskSchedulingPolicy taskSchedulingPolicy value
* @return the next stage of the update
*/
Update withTaskSchedulingPolicy(TaskSchedulingPolicy taskSchedulingPolicy);
Specifies the user accounts value.
Params: - userAccounts – userAccounts value
Returns: the next stage of the update
/**
* Specifies the user accounts value.
*
* @param userAccounts userAccounts value
* @return the next stage of the update
*/
Update withUserAccounts(List<UserAccount> userAccounts);
Specifies the list of application licenses.
Params: - applicationLicenses – applicationLicenses value
Returns: the next stage of the update
/**
* Specifies the list of application licenses.
*
* @param applicationLicenses applicationLicenses value
* @return the next stage of the update
*/
Update withApplicationLicenses(List<String> applicationLicenses);
}
}
The entirety of a Batch pool update as a part of a Batch account update.
/**
* The entirety of a Batch pool update as a part of a Batch account update.
*/
interface Update extends
Settable<BatchAccount.Update>,
UpdateStages.WithAttach {
}
}