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

com.pulumi.alicloud.emrv2.inputs.ClusterState Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.emrv2.inputs;

import com.pulumi.alicloud.emrv2.inputs.ClusterApplicationConfigArgs;
import com.pulumi.alicloud.emrv2.inputs.ClusterBootstrapScriptArgs;
import com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs;
import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupArgs;
import com.pulumi.alicloud.emrv2.inputs.ClusterSubscriptionConfigArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ClusterState extends com.pulumi.resources.ResourceArgs {

    public static final ClusterState Empty = new ClusterState();

    /**
     * The application configurations of EMR cluster. See `application_configs` below.
     * 
     */
    @Import(name="applicationConfigs")
    private @Nullable Output> applicationConfigs;

    /**
     * @return The application configurations of EMR cluster. See `application_configs` below.
     * 
     */
    public Optional>> applicationConfigs() {
        return Optional.ofNullable(this.applicationConfigs);
    }

    /**
     * The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
     * 
     */
    @Import(name="applications")
    private @Nullable Output> applications;

    /**
     * @return The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
     * 
     */
    public Optional>> applications() {
        return Optional.ofNullable(this.applications);
    }

    /**
     * The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster, if priority is not specified, the scripts will execute in the declared order. See `bootstrap_scripts` below.
     * 
     */
    @Import(name="bootstrapScripts")
    private @Nullable Output> bootstrapScripts;

    /**
     * @return The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster, if priority is not specified, the scripts will execute in the declared order. See `bootstrap_scripts` below.
     * 
     */
    public Optional>> bootstrapScripts() {
        return Optional.ofNullable(this.bootstrapScripts);
    }

    /**
     * The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
     * 
     */
    @Import(name="clusterName")
    private @Nullable Output clusterName;

    /**
     * @return The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
     * 
     */
    public Optional> clusterName() {
        return Optional.ofNullable(this.clusterName);
    }

    /**
     * EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
     * 
     */
    @Import(name="clusterType")
    private @Nullable Output clusterType;

    /**
     * @return EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
     * 
     */
    public Optional> clusterType() {
        return Optional.ofNullable(this.clusterType);
    }

    /**
     * The deploy mode of EMR cluster. Supported value: NORMAL or HA.
     * 
     */
    @Import(name="deployMode")
    private @Nullable Output deployMode;

    /**
     * @return The deploy mode of EMR cluster. Supported value: NORMAL or HA.
     * 
     */
    public Optional> deployMode() {
        return Optional.ofNullable(this.deployMode);
    }

    /**
     * The log collect strategy of EMR cluster.
     * 
     */
    @Import(name="logCollectStrategy")
    private @Nullable Output logCollectStrategy;

    /**
     * @return The log collect strategy of EMR cluster.
     * 
     */
    public Optional> logCollectStrategy() {
        return Optional.ofNullable(this.logCollectStrategy);
    }

    /**
     * The node attributes of ecs instances which the emr-cluster belongs. See `node_attributes` below.
     * 
     */
    @Import(name="nodeAttributes")
    private @Nullable Output> nodeAttributes;

    /**
     * @return The node attributes of ecs instances which the emr-cluster belongs. See `node_attributes` below.
     * 
     */
    public Optional>> nodeAttributes() {
        return Optional.ofNullable(this.nodeAttributes);
    }

    /**
     * Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See `node_groups` below. **NOTE:** Since version 1.227.0, the type of `node_groups` changed from Set to List.
     * 
     */
    @Import(name="nodeGroups")
    private @Nullable Output> nodeGroups;

    /**
     * @return Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See `node_groups` below. **NOTE:** Since version 1.227.0, the type of `node_groups` changed from Set to List.
     * 
     */
    public Optional>> nodeGroups() {
        return Optional.ofNullable(this.nodeGroups);
    }

    /**
     * Payment Type for this cluster. Supported value: PayAsYouGo or Subscription. **NOTE:** From version 1.227.0, `payment_type` can be modified.
     * 
     */
    @Import(name="paymentType")
    private @Nullable Output paymentType;

    /**
     * @return Payment Type for this cluster. Supported value: PayAsYouGo or Subscription. **NOTE:** From version 1.227.0, `payment_type` can be modified.
     * 
     */
    public Optional> paymentType() {
        return Optional.ofNullable(this.paymentType);
    }

    /**
     * EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
     * 
     */
    @Import(name="releaseVersion")
    private @Nullable Output releaseVersion;

    /**
     * @return EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
     * 
     */
    public Optional> releaseVersion() {
        return Optional.ofNullable(this.releaseVersion);
    }

    /**
     * The Id of resource group which the emr-cluster belongs.
     * 
     */
    @Import(name="resourceGroupId")
    private @Nullable Output resourceGroupId;

    /**
     * @return The Id of resource group which the emr-cluster belongs.
     * 
     */
    public Optional> resourceGroupId() {
        return Optional.ofNullable(this.resourceGroupId);
    }

    /**
     * The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
     * 
     */
    @Import(name="securityMode")
    private @Nullable Output securityMode;

    /**
     * @return The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
     * 
     */
    public Optional> securityMode() {
        return Optional.ofNullable(this.securityMode);
    }

    /**
     * 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);
    }

    /**
     * A mapping of tags to assign to the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags to assign to the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private ClusterState() {}

    private ClusterState(ClusterState $) {
        this.applicationConfigs = $.applicationConfigs;
        this.applications = $.applications;
        this.bootstrapScripts = $.bootstrapScripts;
        this.clusterName = $.clusterName;
        this.clusterType = $.clusterType;
        this.deployMode = $.deployMode;
        this.logCollectStrategy = $.logCollectStrategy;
        this.nodeAttributes = $.nodeAttributes;
        this.nodeGroups = $.nodeGroups;
        this.paymentType = $.paymentType;
        this.releaseVersion = $.releaseVersion;
        this.resourceGroupId = $.resourceGroupId;
        this.securityMode = $.securityMode;
        this.subscriptionConfig = $.subscriptionConfig;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private ClusterState $;

        public Builder() {
            $ = new ClusterState();
        }

        public Builder(ClusterState defaults) {
            $ = new ClusterState(Objects.requireNonNull(defaults));
        }

        /**
         * @param applicationConfigs The application configurations of EMR cluster. See `application_configs` below.
         * 
         * @return builder
         * 
         */
        public Builder applicationConfigs(@Nullable Output> applicationConfigs) {
            $.applicationConfigs = applicationConfigs;
            return this;
        }

        /**
         * @param applicationConfigs The application configurations of EMR cluster. See `application_configs` below.
         * 
         * @return builder
         * 
         */
        public Builder applicationConfigs(List applicationConfigs) {
            return applicationConfigs(Output.of(applicationConfigs));
        }

        /**
         * @param applicationConfigs The application configurations of EMR cluster. See `application_configs` below.
         * 
         * @return builder
         * 
         */
        public Builder applicationConfigs(ClusterApplicationConfigArgs... applicationConfigs) {
            return applicationConfigs(List.of(applicationConfigs));
        }

        /**
         * @param applications The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
         * 
         * @return builder
         * 
         */
        public Builder applications(@Nullable Output> applications) {
            $.applications = applications;
            return this;
        }

        /**
         * @param applications The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
         * 
         * @return builder
         * 
         */
        public Builder applications(List applications) {
            return applications(Output.of(applications));
        }

        /**
         * @param applications The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
         * 
         * @return builder
         * 
         */
        public Builder applications(String... applications) {
            return applications(List.of(applications));
        }

        /**
         * @param bootstrapScripts The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster, if priority is not specified, the scripts will execute in the declared order. See `bootstrap_scripts` below.
         * 
         * @return builder
         * 
         */
        public Builder bootstrapScripts(@Nullable Output> bootstrapScripts) {
            $.bootstrapScripts = bootstrapScripts;
            return this;
        }

        /**
         * @param bootstrapScripts The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster, if priority is not specified, the scripts will execute in the declared order. See `bootstrap_scripts` below.
         * 
         * @return builder
         * 
         */
        public Builder bootstrapScripts(List bootstrapScripts) {
            return bootstrapScripts(Output.of(bootstrapScripts));
        }

        /**
         * @param bootstrapScripts The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster, if priority is not specified, the scripts will execute in the declared order. See `bootstrap_scripts` below.
         * 
         * @return builder
         * 
         */
        public Builder bootstrapScripts(ClusterBootstrapScriptArgs... bootstrapScripts) {
            return bootstrapScripts(List.of(bootstrapScripts));
        }

        /**
         * @param clusterName The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
         * 
         * @return builder
         * 
         */
        public Builder clusterName(@Nullable Output clusterName) {
            $.clusterName = clusterName;
            return this;
        }

        /**
         * @param clusterName The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
         * 
         * @return builder
         * 
         */
        public Builder clusterName(String clusterName) {
            return clusterName(Output.of(clusterName));
        }

        /**
         * @param clusterType EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
         * 
         * @return builder
         * 
         */
        public Builder clusterType(@Nullable Output clusterType) {
            $.clusterType = clusterType;
            return this;
        }

        /**
         * @param clusterType EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
         * 
         * @return builder
         * 
         */
        public Builder clusterType(String clusterType) {
            return clusterType(Output.of(clusterType));
        }

        /**
         * @param deployMode The deploy mode of EMR cluster. Supported value: NORMAL or HA.
         * 
         * @return builder
         * 
         */
        public Builder deployMode(@Nullable Output deployMode) {
            $.deployMode = deployMode;
            return this;
        }

        /**
         * @param deployMode The deploy mode of EMR cluster. Supported value: NORMAL or HA.
         * 
         * @return builder
         * 
         */
        public Builder deployMode(String deployMode) {
            return deployMode(Output.of(deployMode));
        }

        /**
         * @param logCollectStrategy The log collect strategy of EMR cluster.
         * 
         * @return builder
         * 
         */
        public Builder logCollectStrategy(@Nullable Output logCollectStrategy) {
            $.logCollectStrategy = logCollectStrategy;
            return this;
        }

        /**
         * @param logCollectStrategy The log collect strategy of EMR cluster.
         * 
         * @return builder
         * 
         */
        public Builder logCollectStrategy(String logCollectStrategy) {
            return logCollectStrategy(Output.of(logCollectStrategy));
        }

        /**
         * @param nodeAttributes The node attributes of ecs instances which the emr-cluster belongs. See `node_attributes` below.
         * 
         * @return builder
         * 
         */
        public Builder nodeAttributes(@Nullable Output> nodeAttributes) {
            $.nodeAttributes = nodeAttributes;
            return this;
        }

        /**
         * @param nodeAttributes The node attributes of ecs instances which the emr-cluster belongs. See `node_attributes` below.
         * 
         * @return builder
         * 
         */
        public Builder nodeAttributes(List nodeAttributes) {
            return nodeAttributes(Output.of(nodeAttributes));
        }

        /**
         * @param nodeAttributes The node attributes of ecs instances which the emr-cluster belongs. See `node_attributes` below.
         * 
         * @return builder
         * 
         */
        public Builder nodeAttributes(ClusterNodeAttributeArgs... nodeAttributes) {
            return nodeAttributes(List.of(nodeAttributes));
        }

        /**
         * @param nodeGroups Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See `node_groups` below. **NOTE:** Since version 1.227.0, the type of `node_groups` changed from Set to List.
         * 
         * @return builder
         * 
         */
        public Builder nodeGroups(@Nullable Output> nodeGroups) {
            $.nodeGroups = nodeGroups;
            return this;
        }

        /**
         * @param nodeGroups Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See `node_groups` below. **NOTE:** Since version 1.227.0, the type of `node_groups` changed from Set to List.
         * 
         * @return builder
         * 
         */
        public Builder nodeGroups(List nodeGroups) {
            return nodeGroups(Output.of(nodeGroups));
        }

        /**
         * @param nodeGroups Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See `node_groups` below. **NOTE:** Since version 1.227.0, the type of `node_groups` changed from Set to List.
         * 
         * @return builder
         * 
         */
        public Builder nodeGroups(ClusterNodeGroupArgs... nodeGroups) {
            return nodeGroups(List.of(nodeGroups));
        }

        /**
         * @param paymentType Payment Type for this cluster. Supported value: PayAsYouGo or Subscription. **NOTE:** From version 1.227.0, `payment_type` can be modified.
         * 
         * @return builder
         * 
         */
        public Builder paymentType(@Nullable Output paymentType) {
            $.paymentType = paymentType;
            return this;
        }

        /**
         * @param paymentType Payment Type for this cluster. Supported value: PayAsYouGo or Subscription. **NOTE:** From version 1.227.0, `payment_type` can be modified.
         * 
         * @return builder
         * 
         */
        public Builder paymentType(String paymentType) {
            return paymentType(Output.of(paymentType));
        }

        /**
         * @param releaseVersion EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
         * 
         * @return builder
         * 
         */
        public Builder releaseVersion(@Nullable Output releaseVersion) {
            $.releaseVersion = releaseVersion;
            return this;
        }

        /**
         * @param releaseVersion EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
         * 
         * @return builder
         * 
         */
        public Builder releaseVersion(String releaseVersion) {
            return releaseVersion(Output.of(releaseVersion));
        }

        /**
         * @param resourceGroupId The Id of resource group which the emr-cluster belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(@Nullable Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

        /**
         * @param resourceGroupId The Id of resource group which the emr-cluster belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(String resourceGroupId) {
            return resourceGroupId(Output.of(resourceGroupId));
        }

        /**
         * @param securityMode The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
         * 
         * @return builder
         * 
         */
        public Builder securityMode(@Nullable Output securityMode) {
            $.securityMode = securityMode;
            return this;
        }

        /**
         * @param securityMode The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
         * 
         * @return builder
         * 
         */
        public Builder securityMode(String securityMode) {
            return securityMode(Output.of(securityMode));
        }

        /**
         * @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(ClusterSubscriptionConfigArgs subscriptionConfig) {
            return subscriptionConfig(Output.of(subscriptionConfig));
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public ClusterState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy