com.pulumi.azure.hdinsight.outputs.SparkClusterRolesWorkerNode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** 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.azure.hdinsight.outputs;
import com.pulumi.azure.hdinsight.outputs.SparkClusterRolesWorkerNodeAutoscale;
import com.pulumi.azure.hdinsight.outputs.SparkClusterRolesWorkerNodeScriptAction;
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 SparkClusterRolesWorkerNode {
/**
* @return A `autoscale` block as defined below.
*
*/
private @Nullable SparkClusterRolesWorkerNodeAutoscale autoscale;
/**
* @return The Password associated with the local administrator for the Worker Nodes. Changing this forces a new resource to be created.
*
* > **NOTE:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' " ` \).
*
*/
private @Nullable String password;
/**
* @return The script action which will run on the cluster. One or more `script_actions` blocks as defined above.
*
*/
private @Nullable List scriptActions;
/**
* @return A list of SSH Keys which should be used for the local administrator on the Worker Nodes. Changing this forces a new resource to be created.
*
* > **NOTE:** Either a `password` or one or more `ssh_keys` must be specified - but not both.
*
*/
private @Nullable List sshKeys;
/**
* @return The ID of the Subnet within the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.
*
*/
private @Nullable String subnetId;
/**
* @return The number of instances which should be run for the Worker Nodes.
*
*/
private Integer targetInstanceCount;
/**
* @return The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.
*
*/
private String username;
/**
* @return The ID of the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.
*
*/
private @Nullable String virtualNetworkId;
/**
* @return The Size of the Virtual Machine which should be used as the Worker Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.
*
*/
private String vmSize;
private SparkClusterRolesWorkerNode() {}
/**
* @return A `autoscale` block as defined below.
*
*/
public Optional autoscale() {
return Optional.ofNullable(this.autoscale);
}
/**
* @return The Password associated with the local administrator for the Worker Nodes. Changing this forces a new resource to be created.
*
* > **NOTE:** If specified, this password must be at least 10 characters in length and must contain at least one digit, one uppercase and one lower case letter, one non-alphanumeric character (except characters ' " ` \).
*
*/
public Optional password() {
return Optional.ofNullable(this.password);
}
/**
* @return The script action which will run on the cluster. One or more `script_actions` blocks as defined above.
*
*/
public List scriptActions() {
return this.scriptActions == null ? List.of() : this.scriptActions;
}
/**
* @return A list of SSH Keys which should be used for the local administrator on the Worker Nodes. Changing this forces a new resource to be created.
*
* > **NOTE:** Either a `password` or one or more `ssh_keys` must be specified - but not both.
*
*/
public List sshKeys() {
return this.sshKeys == null ? List.of() : this.sshKeys;
}
/**
* @return The ID of the Subnet within the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.
*
*/
public Optional subnetId() {
return Optional.ofNullable(this.subnetId);
}
/**
* @return The number of instances which should be run for the Worker Nodes.
*
*/
public Integer targetInstanceCount() {
return this.targetInstanceCount;
}
/**
* @return The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.
*
*/
public String username() {
return this.username;
}
/**
* @return The ID of the Virtual Network where the Worker Nodes should be provisioned within. Changing this forces a new resource to be created.
*
*/
public Optional virtualNetworkId() {
return Optional.ofNullable(this.virtualNetworkId);
}
/**
* @return The Size of the Virtual Machine which should be used as the Worker Nodes. Possible values are `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`, `A5`, `A6`, `A7`, `A8`, `A9`, `A10`, `A11`, `Standard_A1_V2`, `Standard_A2_V2`, `Standard_A2m_V2`, `Standard_A3`, `Standard_A4_V2`, `Standard_A4m_V2`, `Standard_A8_V2`, `Standard_A8m_V2`, `Standard_D1`, `Standard_D2`, `Standard_D3`, `Standard_D4`, `Standard_D11`, `Standard_D12`, `Standard_D13`, `Standard_D14`, `Standard_D1_V2`, `Standard_D2_V2`, `Standard_D3_V2`, `Standard_D4_V2`, `Standard_D5_V2`, `Standard_D11_V2`, `Standard_D12_V2`, `Standard_D13_V2`, `Standard_D14_V2`, `Standard_DS1_V2`, `Standard_DS2_V2`, `Standard_DS3_V2`, `Standard_DS4_V2`, `Standard_DS5_V2`, `Standard_DS11_V2`, `Standard_DS12_V2`, `Standard_DS13_V2`, `Standard_DS14_V2`, `Standard_E2_V3`, `Standard_E4_V3`, `Standard_E8_V3`, `Standard_E16_V3`, `Standard_E20_V3`, `Standard_E32_V3`, `Standard_E64_V3`, `Standard_E64i_V3`, `Standard_E2s_V3`, `Standard_E4s_V3`, `Standard_E8s_V3`, `Standard_E16s_V3`, `Standard_E20s_V3`, `Standard_E32s_V3`, `Standard_E64s_V3`, `Standard_E64is_V3`, `Standard_D2a_V4`, `Standard_D4a_V4`, `Standard_D8a_V4`, `Standard_D16a_V4`, `Standard_D32a_V4`, `Standard_D48a_V4`, `Standard_D64a_V4`, `Standard_D96a_V4`, `Standard_E2a_V4`, `Standard_E4a_V4`, `Standard_E8a_V4`, `Standard_E16a_V4`, `Standard_E20a_V4`, `Standard_E32a_V4`, `Standard_E48a_V4`, `Standard_E64a_V4`, `Standard_E96a_V4`, `Standard_D2ads_V5`, `Standard_D4ads_V5`, `Standard_D8ads_V5`, `Standard_D16ads_V5`, `Standard_D32ads_V5`, `Standard_D48ads_V5`, `Standard_D64ads_V5`, `Standard_D96ads_V5`, `Standard_E2ads_V5`, `Standard_E4ads_V5`, `Standard_E8ads_V5`, `Standard_E16ads_V5`, `Standard_E20ads_V5`, `Standard_E32ads_V5`, `Standard_E48ads_V5`, `Standard_E64ads_V5`, `Standard_E96ads_V5`, `Standard_G1`, `Standard_G2`, `Standard_G3`, `Standard_G4`, `Standard_G5`, `Standard_F2s_V2`, `Standard_F4s_V2`, `Standard_F8s_V2`, `Standard_F16s_V2`, `Standard_F32s_V2`, `Standard_F64s_V2`, `Standard_F72s_V2`, `Standard_GS1`, `Standard_GS2`, `Standard_GS3`, `Standard_GS4`, `Standard_GS5` and `Standard_NC24`. Changing this forces a new resource to be created.
*
*/
public String vmSize() {
return this.vmSize;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(SparkClusterRolesWorkerNode defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable SparkClusterRolesWorkerNodeAutoscale autoscale;
private @Nullable String password;
private @Nullable List scriptActions;
private @Nullable List sshKeys;
private @Nullable String subnetId;
private Integer targetInstanceCount;
private String username;
private @Nullable String virtualNetworkId;
private String vmSize;
public Builder() {}
public Builder(SparkClusterRolesWorkerNode defaults) {
Objects.requireNonNull(defaults);
this.autoscale = defaults.autoscale;
this.password = defaults.password;
this.scriptActions = defaults.scriptActions;
this.sshKeys = defaults.sshKeys;
this.subnetId = defaults.subnetId;
this.targetInstanceCount = defaults.targetInstanceCount;
this.username = defaults.username;
this.virtualNetworkId = defaults.virtualNetworkId;
this.vmSize = defaults.vmSize;
}
@CustomType.Setter
public Builder autoscale(@Nullable SparkClusterRolesWorkerNodeAutoscale autoscale) {
this.autoscale = autoscale;
return this;
}
@CustomType.Setter
public Builder password(@Nullable String password) {
this.password = password;
return this;
}
@CustomType.Setter
public Builder scriptActions(@Nullable List scriptActions) {
this.scriptActions = scriptActions;
return this;
}
public Builder scriptActions(SparkClusterRolesWorkerNodeScriptAction... scriptActions) {
return scriptActions(List.of(scriptActions));
}
@CustomType.Setter
public Builder sshKeys(@Nullable List sshKeys) {
this.sshKeys = sshKeys;
return this;
}
public Builder sshKeys(String... sshKeys) {
return sshKeys(List.of(sshKeys));
}
@CustomType.Setter
public Builder subnetId(@Nullable String subnetId) {
this.subnetId = subnetId;
return this;
}
@CustomType.Setter
public Builder targetInstanceCount(Integer targetInstanceCount) {
if (targetInstanceCount == null) {
throw new MissingRequiredPropertyException("SparkClusterRolesWorkerNode", "targetInstanceCount");
}
this.targetInstanceCount = targetInstanceCount;
return this;
}
@CustomType.Setter
public Builder username(String username) {
if (username == null) {
throw new MissingRequiredPropertyException("SparkClusterRolesWorkerNode", "username");
}
this.username = username;
return this;
}
@CustomType.Setter
public Builder virtualNetworkId(@Nullable String virtualNetworkId) {
this.virtualNetworkId = virtualNetworkId;
return this;
}
@CustomType.Setter
public Builder vmSize(String vmSize) {
if (vmSize == null) {
throw new MissingRequiredPropertyException("SparkClusterRolesWorkerNode", "vmSize");
}
this.vmSize = vmSize;
return this;
}
public SparkClusterRolesWorkerNode build() {
final var _resultValue = new SparkClusterRolesWorkerNode();
_resultValue.autoscale = autoscale;
_resultValue.password = password;
_resultValue.scriptActions = scriptActions;
_resultValue.sshKeys = sshKeys;
_resultValue.subnetId = subnetId;
_resultValue.targetInstanceCount = targetInstanceCount;
_resultValue.username = username;
_resultValue.virtualNetworkId = virtualNetworkId;
_resultValue.vmSize = vmSize;
return _resultValue;
}
}
}