All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing AliCloud resources.
// *** 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.alicloud.emrv2.inputs;
import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupCostOptimizedConfigArgs;
import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupDataDiskArgs;
import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupSpotBidPriceArgs;
import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupSubscriptionConfigArgs;
import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupSystemDiskArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ClusterNodeGroupArgs extends com.pulumi.resources.ResourceArgs {
public static final ClusterNodeGroupArgs Empty = new ClusterNodeGroupArgs();
/**
* Additional security Group IDS for Cluster, you can also specify this key for each node group.
*
*/
@Import(name="additionalSecurityGroupIds")
private @Nullable Output> additionalSecurityGroupIds;
/**
* @return Additional security Group IDS for Cluster, you can also specify this key for each node group.
*
*/
public Optional>> additionalSecurityGroupIds() {
return Optional.ofNullable(this.additionalSecurityGroupIds);
}
/**
* The detail cost optimized configuration of emr cluster. See `cost_optimized_config` below.
*
*/
@Import(name="costOptimizedConfig")
private @Nullable Output costOptimizedConfig;
/**
* @return The detail cost optimized configuration of emr cluster. See `cost_optimized_config` below.
*
*/
public Optional> costOptimizedConfig() {
return Optional.ofNullable(this.costOptimizedConfig);
}
/**
* Host Ecs data disks information in this node group. See `data_disks` below.
*
*/
@Import(name="dataDisks", required=true)
private Output> dataDisks;
/**
* @return Host Ecs data disks information in this node group. See `data_disks` below.
*
*/
public Output> dataDisks() {
return this.dataDisks;
}
/**
* Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
*
*/
@Import(name="deploymentSetStrategy")
private @Nullable Output deploymentSetStrategy;
/**
* @return Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
*
*/
public Optional> deploymentSetStrategy() {
return Optional.ofNullable(this.deploymentSetStrategy);
}
/**
* Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
*
*/
@Import(name="gracefulShutdown")
private @Nullable Output gracefulShutdown;
/**
* @return Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
*
*/
public Optional> gracefulShutdown() {
return Optional.ofNullable(this.gracefulShutdown);
}
/**
* Host Ecs instance types.
*
*/
@Import(name="instanceTypes", required=true)
private Output> instanceTypes;
/**
* @return Host Ecs instance types.
*
*/
public Output> instanceTypes() {
return this.instanceTypes;
}
/**
* Host Ecs number in this node group.
*
*/
@Import(name="nodeCount", required=true)
private Output nodeCount;
/**
* @return Host Ecs number in this node group.
*
*/
public Output nodeCount() {
return this.nodeCount;
}
/**
* The node group name of emr cluster.
*
*/
@Import(name="nodeGroupName", required=true)
private Output nodeGroupName;
/**
* @return The node group name of emr cluster.
*
*/
public Output nodeGroupName() {
return this.nodeGroupName;
}
/**
* The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
*
*/
@Import(name="nodeGroupType", required=true)
private Output nodeGroupType;
/**
* @return The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
*
*/
public Output nodeGroupType() {
return this.nodeGroupType;
}
/**
* Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
*
*/
@Import(name="nodeResizeStrategy")
private @Nullable Output nodeResizeStrategy;
/**
* @return Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
*
*/
public Optional> nodeResizeStrategy() {
return Optional.ofNullable(this.nodeResizeStrategy);
}
/**
* Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
*
*/
@Import(name="paymentType")
private @Nullable Output paymentType;
/**
* @return Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
*
*/
public Optional> paymentType() {
return Optional.ofNullable(this.paymentType);
}
/**
* The spot bid prices of a PayAsYouGo instance. See `spot_bid_prices` below.
*
*/
@Import(name="spotBidPrices")
private @Nullable Output> spotBidPrices;
/**
* @return The spot bid prices of a PayAsYouGo instance. See `spot_bid_prices` below.
*
*/
public Optional>> spotBidPrices() {
return Optional.ofNullable(this.spotBidPrices);
}
/**
* Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
*
*/
@Import(name="spotInstanceRemedy")
private @Nullable Output spotInstanceRemedy;
/**
* @return Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
*
*/
public Optional> spotInstanceRemedy() {
return Optional.ofNullable(this.spotInstanceRemedy);
}
/**
* The detail configuration of subscription payment type. See `subscription_config` below.
*
*/
@Import(name="subscriptionConfig")
private @Nullable Output subscriptionConfig;
/**
* @return The detail configuration of subscription payment type. See `subscription_config` below.
*
*/
public Optional> subscriptionConfig() {
return Optional.ofNullable(this.subscriptionConfig);
}
/**
* Host Ecs system disk information in this node group. See `system_disk` below.
*
*/
@Import(name="systemDisk", required=true)
private Output systemDisk;
/**
* @return Host Ecs system disk information in this node group. See `system_disk` below.
*
*/
public Output systemDisk() {
return this.systemDisk;
}
/**
* Global vSwitch ids, you can also specify it in node group.
*
*/
@Import(name="vswitchIds")
private @Nullable Output> vswitchIds;
/**
* @return Global vSwitch ids, you can also specify it in node group.
*
*/
public Optional>> vswitchIds() {
return Optional.ofNullable(this.vswitchIds);
}
/**
* Whether the node has a public IP address enabled.
*
*/
@Import(name="withPublicIp")
private @Nullable Output withPublicIp;
/**
* @return Whether the node has a public IP address enabled.
*
*/
public Optional> withPublicIp() {
return Optional.ofNullable(this.withPublicIp);
}
private ClusterNodeGroupArgs() {}
private ClusterNodeGroupArgs(ClusterNodeGroupArgs $) {
this.additionalSecurityGroupIds = $.additionalSecurityGroupIds;
this.costOptimizedConfig = $.costOptimizedConfig;
this.dataDisks = $.dataDisks;
this.deploymentSetStrategy = $.deploymentSetStrategy;
this.gracefulShutdown = $.gracefulShutdown;
this.instanceTypes = $.instanceTypes;
this.nodeCount = $.nodeCount;
this.nodeGroupName = $.nodeGroupName;
this.nodeGroupType = $.nodeGroupType;
this.nodeResizeStrategy = $.nodeResizeStrategy;
this.paymentType = $.paymentType;
this.spotBidPrices = $.spotBidPrices;
this.spotInstanceRemedy = $.spotInstanceRemedy;
this.subscriptionConfig = $.subscriptionConfig;
this.systemDisk = $.systemDisk;
this.vswitchIds = $.vswitchIds;
this.withPublicIp = $.withPublicIp;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ClusterNodeGroupArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ClusterNodeGroupArgs $;
public Builder() {
$ = new ClusterNodeGroupArgs();
}
public Builder(ClusterNodeGroupArgs defaults) {
$ = new ClusterNodeGroupArgs(Objects.requireNonNull(defaults));
}
/**
* @param additionalSecurityGroupIds Additional security Group IDS for Cluster, you can also specify this key for each node group.
*
* @return builder
*
*/
public Builder additionalSecurityGroupIds(@Nullable Output> additionalSecurityGroupIds) {
$.additionalSecurityGroupIds = additionalSecurityGroupIds;
return this;
}
/**
* @param additionalSecurityGroupIds Additional security Group IDS for Cluster, you can also specify this key for each node group.
*
* @return builder
*
*/
public Builder additionalSecurityGroupIds(List additionalSecurityGroupIds) {
return additionalSecurityGroupIds(Output.of(additionalSecurityGroupIds));
}
/**
* @param additionalSecurityGroupIds Additional security Group IDS for Cluster, you can also specify this key for each node group.
*
* @return builder
*
*/
public Builder additionalSecurityGroupIds(String... additionalSecurityGroupIds) {
return additionalSecurityGroupIds(List.of(additionalSecurityGroupIds));
}
/**
* @param costOptimizedConfig The detail cost optimized configuration of emr cluster. See `cost_optimized_config` below.
*
* @return builder
*
*/
public Builder costOptimizedConfig(@Nullable Output costOptimizedConfig) {
$.costOptimizedConfig = costOptimizedConfig;
return this;
}
/**
* @param costOptimizedConfig The detail cost optimized configuration of emr cluster. See `cost_optimized_config` below.
*
* @return builder
*
*/
public Builder costOptimizedConfig(ClusterNodeGroupCostOptimizedConfigArgs costOptimizedConfig) {
return costOptimizedConfig(Output.of(costOptimizedConfig));
}
/**
* @param dataDisks Host Ecs data disks information in this node group. See `data_disks` below.
*
* @return builder
*
*/
public Builder dataDisks(Output> dataDisks) {
$.dataDisks = dataDisks;
return this;
}
/**
* @param dataDisks Host Ecs data disks information in this node group. See `data_disks` below.
*
* @return builder
*
*/
public Builder dataDisks(List dataDisks) {
return dataDisks(Output.of(dataDisks));
}
/**
* @param dataDisks Host Ecs data disks information in this node group. See `data_disks` below.
*
* @return builder
*
*/
public Builder dataDisks(ClusterNodeGroupDataDiskArgs... dataDisks) {
return dataDisks(List.of(dataDisks));
}
/**
* @param deploymentSetStrategy Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
*
* @return builder
*
*/
public Builder deploymentSetStrategy(@Nullable Output deploymentSetStrategy) {
$.deploymentSetStrategy = deploymentSetStrategy;
return this;
}
/**
* @param deploymentSetStrategy Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
*
* @return builder
*
*/
public Builder deploymentSetStrategy(String deploymentSetStrategy) {
return deploymentSetStrategy(Output.of(deploymentSetStrategy));
}
/**
* @param gracefulShutdown Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
*
* @return builder
*
*/
public Builder gracefulShutdown(@Nullable Output gracefulShutdown) {
$.gracefulShutdown = gracefulShutdown;
return this;
}
/**
* @param gracefulShutdown Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
*
* @return builder
*
*/
public Builder gracefulShutdown(Boolean gracefulShutdown) {
return gracefulShutdown(Output.of(gracefulShutdown));
}
/**
* @param instanceTypes Host Ecs instance types.
*
* @return builder
*
*/
public Builder instanceTypes(Output> instanceTypes) {
$.instanceTypes = instanceTypes;
return this;
}
/**
* @param instanceTypes Host Ecs instance types.
*
* @return builder
*
*/
public Builder instanceTypes(List instanceTypes) {
return instanceTypes(Output.of(instanceTypes));
}
/**
* @param instanceTypes Host Ecs instance types.
*
* @return builder
*
*/
public Builder instanceTypes(String... instanceTypes) {
return instanceTypes(List.of(instanceTypes));
}
/**
* @param nodeCount Host Ecs number in this node group.
*
* @return builder
*
*/
public Builder nodeCount(Output nodeCount) {
$.nodeCount = nodeCount;
return this;
}
/**
* @param nodeCount Host Ecs number in this node group.
*
* @return builder
*
*/
public Builder nodeCount(Integer nodeCount) {
return nodeCount(Output.of(nodeCount));
}
/**
* @param nodeGroupName The node group name of emr cluster.
*
* @return builder
*
*/
public Builder nodeGroupName(Output nodeGroupName) {
$.nodeGroupName = nodeGroupName;
return this;
}
/**
* @param nodeGroupName The node group name of emr cluster.
*
* @return builder
*
*/
public Builder nodeGroupName(String nodeGroupName) {
return nodeGroupName(Output.of(nodeGroupName));
}
/**
* @param nodeGroupType The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
*
* @return builder
*
*/
public Builder nodeGroupType(Output nodeGroupType) {
$.nodeGroupType = nodeGroupType;
return this;
}
/**
* @param nodeGroupType The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
*
* @return builder
*
*/
public Builder nodeGroupType(String nodeGroupType) {
return nodeGroupType(Output.of(nodeGroupType));
}
/**
* @param nodeResizeStrategy Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
*
* @return builder
*
*/
public Builder nodeResizeStrategy(@Nullable Output nodeResizeStrategy) {
$.nodeResizeStrategy = nodeResizeStrategy;
return this;
}
/**
* @param nodeResizeStrategy Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
*
* @return builder
*
*/
public Builder nodeResizeStrategy(String nodeResizeStrategy) {
return nodeResizeStrategy(Output.of(nodeResizeStrategy));
}
/**
* @param paymentType Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
*
* @return builder
*
*/
public Builder paymentType(@Nullable Output paymentType) {
$.paymentType = paymentType;
return this;
}
/**
* @param paymentType Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
*
* @return builder
*
*/
public Builder paymentType(String paymentType) {
return paymentType(Output.of(paymentType));
}
/**
* @param spotBidPrices The spot bid prices of a PayAsYouGo instance. See `spot_bid_prices` below.
*
* @return builder
*
*/
public Builder spotBidPrices(@Nullable Output> spotBidPrices) {
$.spotBidPrices = spotBidPrices;
return this;
}
/**
* @param spotBidPrices The spot bid prices of a PayAsYouGo instance. See `spot_bid_prices` below.
*
* @return builder
*
*/
public Builder spotBidPrices(List spotBidPrices) {
return spotBidPrices(Output.of(spotBidPrices));
}
/**
* @param spotBidPrices The spot bid prices of a PayAsYouGo instance. See `spot_bid_prices` below.
*
* @return builder
*
*/
public Builder spotBidPrices(ClusterNodeGroupSpotBidPriceArgs... spotBidPrices) {
return spotBidPrices(List.of(spotBidPrices));
}
/**
* @param spotInstanceRemedy Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
*
* @return builder
*
*/
public Builder spotInstanceRemedy(@Nullable Output spotInstanceRemedy) {
$.spotInstanceRemedy = spotInstanceRemedy;
return this;
}
/**
* @param spotInstanceRemedy Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
*
* @return builder
*
*/
public Builder spotInstanceRemedy(Boolean spotInstanceRemedy) {
return spotInstanceRemedy(Output.of(spotInstanceRemedy));
}
/**
* @param subscriptionConfig The detail configuration of subscription payment type. See `subscription_config` below.
*
* @return builder
*
*/
public Builder subscriptionConfig(@Nullable Output subscriptionConfig) {
$.subscriptionConfig = subscriptionConfig;
return this;
}
/**
* @param subscriptionConfig The detail configuration of subscription payment type. See `subscription_config` below.
*
* @return builder
*
*/
public Builder subscriptionConfig(ClusterNodeGroupSubscriptionConfigArgs subscriptionConfig) {
return subscriptionConfig(Output.of(subscriptionConfig));
}
/**
* @param systemDisk Host Ecs system disk information in this node group. See `system_disk` below.
*
* @return builder
*
*/
public Builder systemDisk(Output systemDisk) {
$.systemDisk = systemDisk;
return this;
}
/**
* @param systemDisk Host Ecs system disk information in this node group. See `system_disk` below.
*
* @return builder
*
*/
public Builder systemDisk(ClusterNodeGroupSystemDiskArgs systemDisk) {
return systemDisk(Output.of(systemDisk));
}
/**
* @param vswitchIds Global vSwitch ids, you can also specify it in node group.
*
* @return builder
*
*/
public Builder vswitchIds(@Nullable Output> vswitchIds) {
$.vswitchIds = vswitchIds;
return this;
}
/**
* @param vswitchIds Global vSwitch ids, you can also specify it in node group.
*
* @return builder
*
*/
public Builder vswitchIds(List vswitchIds) {
return vswitchIds(Output.of(vswitchIds));
}
/**
* @param vswitchIds Global vSwitch ids, you can also specify it in node group.
*
* @return builder
*
*/
public Builder vswitchIds(String... vswitchIds) {
return vswitchIds(List.of(vswitchIds));
}
/**
* @param withPublicIp Whether the node has a public IP address enabled.
*
* @return builder
*
*/
public Builder withPublicIp(@Nullable Output withPublicIp) {
$.withPublicIp = withPublicIp;
return this;
}
/**
* @param withPublicIp Whether the node has a public IP address enabled.
*
* @return builder
*
*/
public Builder withPublicIp(Boolean withPublicIp) {
return withPublicIp(Output.of(withPublicIp));
}
public ClusterNodeGroupArgs build() {
if ($.dataDisks == null) {
throw new MissingRequiredPropertyException("ClusterNodeGroupArgs", "dataDisks");
}
if ($.instanceTypes == null) {
throw new MissingRequiredPropertyException("ClusterNodeGroupArgs", "instanceTypes");
}
if ($.nodeCount == null) {
throw new MissingRequiredPropertyException("ClusterNodeGroupArgs", "nodeCount");
}
if ($.nodeGroupName == null) {
throw new MissingRequiredPropertyException("ClusterNodeGroupArgs", "nodeGroupName");
}
if ($.nodeGroupType == null) {
throw new MissingRequiredPropertyException("ClusterNodeGroupArgs", "nodeGroupType");
}
if ($.systemDisk == null) {
throw new MissingRequiredPropertyException("ClusterNodeGroupArgs", "systemDisk");
}
return $;
}
}
}