All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.batch.outputs.GetPoolResult Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.batch.outputs;

import com.pulumi.azurenative.batch.outputs.ApplicationPackageReferenceResponse;
import com.pulumi.azurenative.batch.outputs.AutoScaleRunResponse;
import com.pulumi.azurenative.batch.outputs.BatchPoolIdentityResponse;
import com.pulumi.azurenative.batch.outputs.CertificateReferenceResponse;
import com.pulumi.azurenative.batch.outputs.DeploymentConfigurationResponse;
import com.pulumi.azurenative.batch.outputs.MetadataItemResponse;
import com.pulumi.azurenative.batch.outputs.MountConfigurationResponse;
import com.pulumi.azurenative.batch.outputs.NetworkConfigurationResponse;
import com.pulumi.azurenative.batch.outputs.ResizeOperationStatusResponse;
import com.pulumi.azurenative.batch.outputs.ScaleSettingsResponse;
import com.pulumi.azurenative.batch.outputs.StartTaskResponse;
import com.pulumi.azurenative.batch.outputs.TaskSchedulingPolicyResponse;
import com.pulumi.azurenative.batch.outputs.UserAccountResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GetPoolResult {
    private String allocationState;
    private String allocationStateTransitionTime;
    /**
     * @return 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.
     * 
     */
    private @Nullable List applicationLicenses;
    /**
     * @return 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.
     * 
     */
    private @Nullable List applicationPackages;
    /**
     * @return This property is set only if the pool automatically scales, i.e. autoScaleSettings are used.
     * 
     */
    private AutoScaleRunResponse autoScaleRun;
    /**
     * @return 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](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.
     * 
     */
    private @Nullable List certificates;
    private String creationTime;
    private Integer currentDedicatedNodes;
    private Integer currentLowPriorityNodes;
    private String currentNodeCommunicationMode;
    /**
     * @return Using CloudServiceConfiguration specifies that the nodes should be creating using Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines (IaaS).
     * 
     */
    private @Nullable DeploymentConfigurationResponse deploymentConfiguration;
    /**
     * @return The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
     * 
     */
    private @Nullable String displayName;
    /**
     * @return The ETag of the resource, used for concurrency statements.
     * 
     */
    private String etag;
    /**
     * @return The ID of the resource.
     * 
     */
    private String id;
    /**
     * @return The type of identity used for the Batch Pool.
     * 
     */
    private @Nullable BatchPoolIdentityResponse identity;
    /**
     * @return 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'.
     * 
     */
    private @Nullable String interNodeCommunication;
    /**
     * @return 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.
     * 
     */
    private String lastModified;
    /**
     * @return The Batch service does not assign any meaning to metadata; it is solely for the use of user code.
     * 
     */
    private @Nullable List metadata;
    /**
     * @return This supports Azure Files, NFS, CIFS/SMB, and Blobfuse.
     * 
     */
    private @Nullable List mountConfiguration;
    /**
     * @return The name of the resource.
     * 
     */
    private String name;
    /**
     * @return The network configuration for a pool.
     * 
     */
    private @Nullable NetworkConfigurationResponse networkConfiguration;
    private String provisioningState;
    private String provisioningStateTransitionTime;
    /**
     * @return Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady).
     * 
     */
    private ResizeOperationStatusResponse resizeOperationStatus;
    /**
     * @return 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.
     * 
     */
    private @Nullable ScaleSettingsResponse scaleSettings;
    /**
     * @return In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool.
     * 
     */
    private @Nullable StartTaskResponse startTask;
    /**
     * @return If omitted, the default value is Default.
     * 
     */
    private @Nullable String targetNodeCommunicationMode;
    /**
     * @return If not specified, the default is spread.
     * 
     */
    private @Nullable TaskSchedulingPolicyResponse taskSchedulingPolicy;
    /**
     * @return 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.
     * 
     */
    private @Nullable Integer taskSlotsPerNode;
    /**
     * @return The type of the resource.
     * 
     */
    private String type;
    private @Nullable List userAccounts;
    /**
     * @return 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. 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).
     * 
     */
    private @Nullable String vmSize;

    private GetPoolResult() {}
    public String allocationState() {
        return this.allocationState;
    }
    public String allocationStateTransitionTime() {
        return this.allocationStateTransitionTime;
    }
    /**
     * @return 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.
     * 
     */
    public List applicationLicenses() {
        return this.applicationLicenses == null ? List.of() : this.applicationLicenses;
    }
    /**
     * @return 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.
     * 
     */
    public List applicationPackages() {
        return this.applicationPackages == null ? List.of() : this.applicationPackages;
    }
    /**
     * @return This property is set only if the pool automatically scales, i.e. autoScaleSettings are used.
     * 
     */
    public AutoScaleRunResponse autoScaleRun() {
        return this.autoScaleRun;
    }
    /**
     * @return 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](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.
     * 
     */
    public List certificates() {
        return this.certificates == null ? List.of() : this.certificates;
    }
    public String creationTime() {
        return this.creationTime;
    }
    public Integer currentDedicatedNodes() {
        return this.currentDedicatedNodes;
    }
    public Integer currentLowPriorityNodes() {
        return this.currentLowPriorityNodes;
    }
    public String currentNodeCommunicationMode() {
        return this.currentNodeCommunicationMode;
    }
    /**
     * @return Using CloudServiceConfiguration specifies that the nodes should be creating using Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines (IaaS).
     * 
     */
    public Optional deploymentConfiguration() {
        return Optional.ofNullable(this.deploymentConfiguration);
    }
    /**
     * @return The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.
     * 
     */
    public Optional displayName() {
        return Optional.ofNullable(this.displayName);
    }
    /**
     * @return The ETag of the resource, used for concurrency statements.
     * 
     */
    public String etag() {
        return this.etag;
    }
    /**
     * @return The ID of the resource.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return The type of identity used for the Batch Pool.
     * 
     */
    public Optional identity() {
        return Optional.ofNullable(this.identity);
    }
    /**
     * @return 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'.
     * 
     */
    public Optional interNodeCommunication() {
        return Optional.ofNullable(this.interNodeCommunication);
    }
    /**
     * @return 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.
     * 
     */
    public String lastModified() {
        return this.lastModified;
    }
    /**
     * @return The Batch service does not assign any meaning to metadata; it is solely for the use of user code.
     * 
     */
    public List metadata() {
        return this.metadata == null ? List.of() : this.metadata;
    }
    /**
     * @return This supports Azure Files, NFS, CIFS/SMB, and Blobfuse.
     * 
     */
    public List mountConfiguration() {
        return this.mountConfiguration == null ? List.of() : this.mountConfiguration;
    }
    /**
     * @return The name of the resource.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return The network configuration for a pool.
     * 
     */
    public Optional networkConfiguration() {
        return Optional.ofNullable(this.networkConfiguration);
    }
    public String provisioningState() {
        return this.provisioningState;
    }
    public String provisioningStateTransitionTime() {
        return this.provisioningStateTransitionTime;
    }
    /**
     * @return Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady).
     * 
     */
    public ResizeOperationStatusResponse resizeOperationStatus() {
        return this.resizeOperationStatus;
    }
    /**
     * @return 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.
     * 
     */
    public Optional scaleSettings() {
        return Optional.ofNullable(this.scaleSettings);
    }
    /**
     * @return In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool.
     * 
     */
    public Optional startTask() {
        return Optional.ofNullable(this.startTask);
    }
    /**
     * @return If omitted, the default value is Default.
     * 
     */
    public Optional targetNodeCommunicationMode() {
        return Optional.ofNullable(this.targetNodeCommunicationMode);
    }
    /**
     * @return If not specified, the default is spread.
     * 
     */
    public Optional taskSchedulingPolicy() {
        return Optional.ofNullable(this.taskSchedulingPolicy);
    }
    /**
     * @return 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.
     * 
     */
    public Optional taskSlotsPerNode() {
        return Optional.ofNullable(this.taskSlotsPerNode);
    }
    /**
     * @return The type of the resource.
     * 
     */
    public String type() {
        return this.type;
    }
    public List userAccounts() {
        return this.userAccounts == null ? List.of() : this.userAccounts;
    }
    /**
     * @return 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. 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).
     * 
     */
    public Optional vmSize() {
        return Optional.ofNullable(this.vmSize);
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(GetPoolResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String allocationState;
        private String allocationStateTransitionTime;
        private @Nullable List applicationLicenses;
        private @Nullable List applicationPackages;
        private AutoScaleRunResponse autoScaleRun;
        private @Nullable List certificates;
        private String creationTime;
        private Integer currentDedicatedNodes;
        private Integer currentLowPriorityNodes;
        private String currentNodeCommunicationMode;
        private @Nullable DeploymentConfigurationResponse deploymentConfiguration;
        private @Nullable String displayName;
        private String etag;
        private String id;
        private @Nullable BatchPoolIdentityResponse identity;
        private @Nullable String interNodeCommunication;
        private String lastModified;
        private @Nullable List metadata;
        private @Nullable List mountConfiguration;
        private String name;
        private @Nullable NetworkConfigurationResponse networkConfiguration;
        private String provisioningState;
        private String provisioningStateTransitionTime;
        private ResizeOperationStatusResponse resizeOperationStatus;
        private @Nullable ScaleSettingsResponse scaleSettings;
        private @Nullable StartTaskResponse startTask;
        private @Nullable String targetNodeCommunicationMode;
        private @Nullable TaskSchedulingPolicyResponse taskSchedulingPolicy;
        private @Nullable Integer taskSlotsPerNode;
        private String type;
        private @Nullable List userAccounts;
        private @Nullable String vmSize;
        public Builder() {}
        public Builder(GetPoolResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.allocationState = defaults.allocationState;
    	      this.allocationStateTransitionTime = defaults.allocationStateTransitionTime;
    	      this.applicationLicenses = defaults.applicationLicenses;
    	      this.applicationPackages = defaults.applicationPackages;
    	      this.autoScaleRun = defaults.autoScaleRun;
    	      this.certificates = defaults.certificates;
    	      this.creationTime = defaults.creationTime;
    	      this.currentDedicatedNodes = defaults.currentDedicatedNodes;
    	      this.currentLowPriorityNodes = defaults.currentLowPriorityNodes;
    	      this.currentNodeCommunicationMode = defaults.currentNodeCommunicationMode;
    	      this.deploymentConfiguration = defaults.deploymentConfiguration;
    	      this.displayName = defaults.displayName;
    	      this.etag = defaults.etag;
    	      this.id = defaults.id;
    	      this.identity = defaults.identity;
    	      this.interNodeCommunication = defaults.interNodeCommunication;
    	      this.lastModified = defaults.lastModified;
    	      this.metadata = defaults.metadata;
    	      this.mountConfiguration = defaults.mountConfiguration;
    	      this.name = defaults.name;
    	      this.networkConfiguration = defaults.networkConfiguration;
    	      this.provisioningState = defaults.provisioningState;
    	      this.provisioningStateTransitionTime = defaults.provisioningStateTransitionTime;
    	      this.resizeOperationStatus = defaults.resizeOperationStatus;
    	      this.scaleSettings = defaults.scaleSettings;
    	      this.startTask = defaults.startTask;
    	      this.targetNodeCommunicationMode = defaults.targetNodeCommunicationMode;
    	      this.taskSchedulingPolicy = defaults.taskSchedulingPolicy;
    	      this.taskSlotsPerNode = defaults.taskSlotsPerNode;
    	      this.type = defaults.type;
    	      this.userAccounts = defaults.userAccounts;
    	      this.vmSize = defaults.vmSize;
        }

        @CustomType.Setter
        public Builder allocationState(String allocationState) {
            if (allocationState == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "allocationState");
            }
            this.allocationState = allocationState;
            return this;
        }
        @CustomType.Setter
        public Builder allocationStateTransitionTime(String allocationStateTransitionTime) {
            if (allocationStateTransitionTime == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "allocationStateTransitionTime");
            }
            this.allocationStateTransitionTime = allocationStateTransitionTime;
            return this;
        }
        @CustomType.Setter
        public Builder applicationLicenses(@Nullable List applicationLicenses) {

            this.applicationLicenses = applicationLicenses;
            return this;
        }
        public Builder applicationLicenses(String... applicationLicenses) {
            return applicationLicenses(List.of(applicationLicenses));
        }
        @CustomType.Setter
        public Builder applicationPackages(@Nullable List applicationPackages) {

            this.applicationPackages = applicationPackages;
            return this;
        }
        public Builder applicationPackages(ApplicationPackageReferenceResponse... applicationPackages) {
            return applicationPackages(List.of(applicationPackages));
        }
        @CustomType.Setter
        public Builder autoScaleRun(AutoScaleRunResponse autoScaleRun) {
            if (autoScaleRun == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "autoScaleRun");
            }
            this.autoScaleRun = autoScaleRun;
            return this;
        }
        @CustomType.Setter
        public Builder certificates(@Nullable List certificates) {

            this.certificates = certificates;
            return this;
        }
        public Builder certificates(CertificateReferenceResponse... certificates) {
            return certificates(List.of(certificates));
        }
        @CustomType.Setter
        public Builder creationTime(String creationTime) {
            if (creationTime == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "creationTime");
            }
            this.creationTime = creationTime;
            return this;
        }
        @CustomType.Setter
        public Builder currentDedicatedNodes(Integer currentDedicatedNodes) {
            if (currentDedicatedNodes == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "currentDedicatedNodes");
            }
            this.currentDedicatedNodes = currentDedicatedNodes;
            return this;
        }
        @CustomType.Setter
        public Builder currentLowPriorityNodes(Integer currentLowPriorityNodes) {
            if (currentLowPriorityNodes == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "currentLowPriorityNodes");
            }
            this.currentLowPriorityNodes = currentLowPriorityNodes;
            return this;
        }
        @CustomType.Setter
        public Builder currentNodeCommunicationMode(String currentNodeCommunicationMode) {
            if (currentNodeCommunicationMode == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "currentNodeCommunicationMode");
            }
            this.currentNodeCommunicationMode = currentNodeCommunicationMode;
            return this;
        }
        @CustomType.Setter
        public Builder deploymentConfiguration(@Nullable DeploymentConfigurationResponse deploymentConfiguration) {

            this.deploymentConfiguration = deploymentConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder displayName(@Nullable String displayName) {

            this.displayName = displayName;
            return this;
        }
        @CustomType.Setter
        public Builder etag(String etag) {
            if (etag == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "etag");
            }
            this.etag = etag;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder identity(@Nullable BatchPoolIdentityResponse identity) {

            this.identity = identity;
            return this;
        }
        @CustomType.Setter
        public Builder interNodeCommunication(@Nullable String interNodeCommunication) {

            this.interNodeCommunication = interNodeCommunication;
            return this;
        }
        @CustomType.Setter
        public Builder lastModified(String lastModified) {
            if (lastModified == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "lastModified");
            }
            this.lastModified = lastModified;
            return this;
        }
        @CustomType.Setter
        public Builder metadata(@Nullable List metadata) {

            this.metadata = metadata;
            return this;
        }
        public Builder metadata(MetadataItemResponse... metadata) {
            return metadata(List.of(metadata));
        }
        @CustomType.Setter
        public Builder mountConfiguration(@Nullable List mountConfiguration) {

            this.mountConfiguration = mountConfiguration;
            return this;
        }
        public Builder mountConfiguration(MountConfigurationResponse... mountConfiguration) {
            return mountConfiguration(List.of(mountConfiguration));
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder networkConfiguration(@Nullable NetworkConfigurationResponse networkConfiguration) {

            this.networkConfiguration = networkConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningStateTransitionTime(String provisioningStateTransitionTime) {
            if (provisioningStateTransitionTime == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "provisioningStateTransitionTime");
            }
            this.provisioningStateTransitionTime = provisioningStateTransitionTime;
            return this;
        }
        @CustomType.Setter
        public Builder resizeOperationStatus(ResizeOperationStatusResponse resizeOperationStatus) {
            if (resizeOperationStatus == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "resizeOperationStatus");
            }
            this.resizeOperationStatus = resizeOperationStatus;
            return this;
        }
        @CustomType.Setter
        public Builder scaleSettings(@Nullable ScaleSettingsResponse scaleSettings) {

            this.scaleSettings = scaleSettings;
            return this;
        }
        @CustomType.Setter
        public Builder startTask(@Nullable StartTaskResponse startTask) {

            this.startTask = startTask;
            return this;
        }
        @CustomType.Setter
        public Builder targetNodeCommunicationMode(@Nullable String targetNodeCommunicationMode) {

            this.targetNodeCommunicationMode = targetNodeCommunicationMode;
            return this;
        }
        @CustomType.Setter
        public Builder taskSchedulingPolicy(@Nullable TaskSchedulingPolicyResponse taskSchedulingPolicy) {

            this.taskSchedulingPolicy = taskSchedulingPolicy;
            return this;
        }
        @CustomType.Setter
        public Builder taskSlotsPerNode(@Nullable Integer taskSlotsPerNode) {

            this.taskSlotsPerNode = taskSlotsPerNode;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetPoolResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder userAccounts(@Nullable List userAccounts) {

            this.userAccounts = userAccounts;
            return this;
        }
        public Builder userAccounts(UserAccountResponse... userAccounts) {
            return userAccounts(List.of(userAccounts));
        }
        @CustomType.Setter
        public Builder vmSize(@Nullable String vmSize) {

            this.vmSize = vmSize;
            return this;
        }
        public GetPoolResult build() {
            final var _resultValue = new GetPoolResult();
            _resultValue.allocationState = allocationState;
            _resultValue.allocationStateTransitionTime = allocationStateTransitionTime;
            _resultValue.applicationLicenses = applicationLicenses;
            _resultValue.applicationPackages = applicationPackages;
            _resultValue.autoScaleRun = autoScaleRun;
            _resultValue.certificates = certificates;
            _resultValue.creationTime = creationTime;
            _resultValue.currentDedicatedNodes = currentDedicatedNodes;
            _resultValue.currentLowPriorityNodes = currentLowPriorityNodes;
            _resultValue.currentNodeCommunicationMode = currentNodeCommunicationMode;
            _resultValue.deploymentConfiguration = deploymentConfiguration;
            _resultValue.displayName = displayName;
            _resultValue.etag = etag;
            _resultValue.id = id;
            _resultValue.identity = identity;
            _resultValue.interNodeCommunication = interNodeCommunication;
            _resultValue.lastModified = lastModified;
            _resultValue.metadata = metadata;
            _resultValue.mountConfiguration = mountConfiguration;
            _resultValue.name = name;
            _resultValue.networkConfiguration = networkConfiguration;
            _resultValue.provisioningState = provisioningState;
            _resultValue.provisioningStateTransitionTime = provisioningStateTransitionTime;
            _resultValue.resizeOperationStatus = resizeOperationStatus;
            _resultValue.scaleSettings = scaleSettings;
            _resultValue.startTask = startTask;
            _resultValue.targetNodeCommunicationMode = targetNodeCommunicationMode;
            _resultValue.taskSchedulingPolicy = taskSchedulingPolicy;
            _resultValue.taskSlotsPerNode = taskSlotsPerNode;
            _resultValue.type = type;
            _resultValue.userAccounts = userAccounts;
            _resultValue.vmSize = vmSize;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy