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

com.pulumi.azurenative.hdinsight.inputs.RoleArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.hdinsight.inputs;

import com.pulumi.azurenative.hdinsight.inputs.AutoscaleArgs;
import com.pulumi.azurenative.hdinsight.inputs.DataDisksGroupsArgs;
import com.pulumi.azurenative.hdinsight.inputs.HardwareProfileArgs;
import com.pulumi.azurenative.hdinsight.inputs.OsProfileArgs;
import com.pulumi.azurenative.hdinsight.inputs.ScriptActionArgs;
import com.pulumi.azurenative.hdinsight.inputs.VirtualNetworkProfileArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
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;


/**
 * Describes a role on the cluster.
 * 
 */
public final class RoleArgs extends com.pulumi.resources.ResourceArgs {

    public static final RoleArgs Empty = new RoleArgs();

    /**
     * The autoscale configurations.
     * 
     */
    @Import(name="autoscaleConfiguration")
    private @Nullable Output autoscaleConfiguration;

    /**
     * @return The autoscale configurations.
     * 
     */
    public Optional> autoscaleConfiguration() {
        return Optional.ofNullable(this.autoscaleConfiguration);
    }

    /**
     * The data disks groups for the role.
     * 
     */
    @Import(name="dataDisksGroups")
    private @Nullable Output> dataDisksGroups;

    /**
     * @return The data disks groups for the role.
     * 
     */
    public Optional>> dataDisksGroups() {
        return Optional.ofNullable(this.dataDisksGroups);
    }

    /**
     * Indicates whether encrypt the data disks.
     * 
     */
    @Import(name="encryptDataDisks")
    private @Nullable Output encryptDataDisks;

    /**
     * @return Indicates whether encrypt the data disks.
     * 
     */
    public Optional> encryptDataDisks() {
        return Optional.ofNullable(this.encryptDataDisks);
    }

    /**
     * The hardware profile.
     * 
     */
    @Import(name="hardwareProfile")
    private @Nullable Output hardwareProfile;

    /**
     * @return The hardware profile.
     * 
     */
    public Optional> hardwareProfile() {
        return Optional.ofNullable(this.hardwareProfile);
    }

    /**
     * The minimum instance count of the cluster.
     * 
     */
    @Import(name="minInstanceCount")
    private @Nullable Output minInstanceCount;

    /**
     * @return The minimum instance count of the cluster.
     * 
     */
    public Optional> minInstanceCount() {
        return Optional.ofNullable(this.minInstanceCount);
    }

    /**
     * The name of the role.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the role.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The operating system profile.
     * 
     */
    @Import(name="osProfile")
    private @Nullable Output osProfile;

    /**
     * @return The operating system profile.
     * 
     */
    public Optional> osProfile() {
        return Optional.ofNullable(this.osProfile);
    }

    /**
     * The list of script actions on the role.
     * 
     */
    @Import(name="scriptActions")
    private @Nullable Output> scriptActions;

    /**
     * @return The list of script actions on the role.
     * 
     */
    public Optional>> scriptActions() {
        return Optional.ofNullable(this.scriptActions);
    }

    /**
     * The instance count of the cluster.
     * 
     */
    @Import(name="targetInstanceCount")
    private @Nullable Output targetInstanceCount;

    /**
     * @return The instance count of the cluster.
     * 
     */
    public Optional> targetInstanceCount() {
        return Optional.ofNullable(this.targetInstanceCount);
    }

    /**
     * The name of the virtual machine group.
     * 
     */
    @Import(name="vMGroupName")
    private @Nullable Output vMGroupName;

    /**
     * @return The name of the virtual machine group.
     * 
     */
    public Optional> vMGroupName() {
        return Optional.ofNullable(this.vMGroupName);
    }

    /**
     * The virtual network profile.
     * 
     */
    @Import(name="virtualNetworkProfile")
    private @Nullable Output virtualNetworkProfile;

    /**
     * @return The virtual network profile.
     * 
     */
    public Optional> virtualNetworkProfile() {
        return Optional.ofNullable(this.virtualNetworkProfile);
    }

    private RoleArgs() {}

    private RoleArgs(RoleArgs $) {
        this.autoscaleConfiguration = $.autoscaleConfiguration;
        this.dataDisksGroups = $.dataDisksGroups;
        this.encryptDataDisks = $.encryptDataDisks;
        this.hardwareProfile = $.hardwareProfile;
        this.minInstanceCount = $.minInstanceCount;
        this.name = $.name;
        this.osProfile = $.osProfile;
        this.scriptActions = $.scriptActions;
        this.targetInstanceCount = $.targetInstanceCount;
        this.vMGroupName = $.vMGroupName;
        this.virtualNetworkProfile = $.virtualNetworkProfile;
    }

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

    public static final class Builder {
        private RoleArgs $;

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

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

        /**
         * @param autoscaleConfiguration The autoscale configurations.
         * 
         * @return builder
         * 
         */
        public Builder autoscaleConfiguration(@Nullable Output autoscaleConfiguration) {
            $.autoscaleConfiguration = autoscaleConfiguration;
            return this;
        }

        /**
         * @param autoscaleConfiguration The autoscale configurations.
         * 
         * @return builder
         * 
         */
        public Builder autoscaleConfiguration(AutoscaleArgs autoscaleConfiguration) {
            return autoscaleConfiguration(Output.of(autoscaleConfiguration));
        }

        /**
         * @param dataDisksGroups The data disks groups for the role.
         * 
         * @return builder
         * 
         */
        public Builder dataDisksGroups(@Nullable Output> dataDisksGroups) {
            $.dataDisksGroups = dataDisksGroups;
            return this;
        }

        /**
         * @param dataDisksGroups The data disks groups for the role.
         * 
         * @return builder
         * 
         */
        public Builder dataDisksGroups(List dataDisksGroups) {
            return dataDisksGroups(Output.of(dataDisksGroups));
        }

        /**
         * @param dataDisksGroups The data disks groups for the role.
         * 
         * @return builder
         * 
         */
        public Builder dataDisksGroups(DataDisksGroupsArgs... dataDisksGroups) {
            return dataDisksGroups(List.of(dataDisksGroups));
        }

        /**
         * @param encryptDataDisks Indicates whether encrypt the data disks.
         * 
         * @return builder
         * 
         */
        public Builder encryptDataDisks(@Nullable Output encryptDataDisks) {
            $.encryptDataDisks = encryptDataDisks;
            return this;
        }

        /**
         * @param encryptDataDisks Indicates whether encrypt the data disks.
         * 
         * @return builder
         * 
         */
        public Builder encryptDataDisks(Boolean encryptDataDisks) {
            return encryptDataDisks(Output.of(encryptDataDisks));
        }

        /**
         * @param hardwareProfile The hardware profile.
         * 
         * @return builder
         * 
         */
        public Builder hardwareProfile(@Nullable Output hardwareProfile) {
            $.hardwareProfile = hardwareProfile;
            return this;
        }

        /**
         * @param hardwareProfile The hardware profile.
         * 
         * @return builder
         * 
         */
        public Builder hardwareProfile(HardwareProfileArgs hardwareProfile) {
            return hardwareProfile(Output.of(hardwareProfile));
        }

        /**
         * @param minInstanceCount The minimum instance count of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder minInstanceCount(@Nullable Output minInstanceCount) {
            $.minInstanceCount = minInstanceCount;
            return this;
        }

        /**
         * @param minInstanceCount The minimum instance count of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder minInstanceCount(Integer minInstanceCount) {
            return minInstanceCount(Output.of(minInstanceCount));
        }

        /**
         * @param name The name of the role.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the role.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param osProfile The operating system profile.
         * 
         * @return builder
         * 
         */
        public Builder osProfile(@Nullable Output osProfile) {
            $.osProfile = osProfile;
            return this;
        }

        /**
         * @param osProfile The operating system profile.
         * 
         * @return builder
         * 
         */
        public Builder osProfile(OsProfileArgs osProfile) {
            return osProfile(Output.of(osProfile));
        }

        /**
         * @param scriptActions The list of script actions on the role.
         * 
         * @return builder
         * 
         */
        public Builder scriptActions(@Nullable Output> scriptActions) {
            $.scriptActions = scriptActions;
            return this;
        }

        /**
         * @param scriptActions The list of script actions on the role.
         * 
         * @return builder
         * 
         */
        public Builder scriptActions(List scriptActions) {
            return scriptActions(Output.of(scriptActions));
        }

        /**
         * @param scriptActions The list of script actions on the role.
         * 
         * @return builder
         * 
         */
        public Builder scriptActions(ScriptActionArgs... scriptActions) {
            return scriptActions(List.of(scriptActions));
        }

        /**
         * @param targetInstanceCount The instance count of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder targetInstanceCount(@Nullable Output targetInstanceCount) {
            $.targetInstanceCount = targetInstanceCount;
            return this;
        }

        /**
         * @param targetInstanceCount The instance count of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder targetInstanceCount(Integer targetInstanceCount) {
            return targetInstanceCount(Output.of(targetInstanceCount));
        }

        /**
         * @param vMGroupName The name of the virtual machine group.
         * 
         * @return builder
         * 
         */
        public Builder vMGroupName(@Nullable Output vMGroupName) {
            $.vMGroupName = vMGroupName;
            return this;
        }

        /**
         * @param vMGroupName The name of the virtual machine group.
         * 
         * @return builder
         * 
         */
        public Builder vMGroupName(String vMGroupName) {
            return vMGroupName(Output.of(vMGroupName));
        }

        /**
         * @param virtualNetworkProfile The virtual network profile.
         * 
         * @return builder
         * 
         */
        public Builder virtualNetworkProfile(@Nullable Output virtualNetworkProfile) {
            $.virtualNetworkProfile = virtualNetworkProfile;
            return this;
        }

        /**
         * @param virtualNetworkProfile The virtual network profile.
         * 
         * @return builder
         * 
         */
        public Builder virtualNetworkProfile(VirtualNetworkProfileArgs virtualNetworkProfile) {
            return virtualNetworkProfile(Output.of(virtualNetworkProfile));
        }

        public RoleArgs build() {
            $.encryptDataDisks = Codegen.booleanProp("encryptDataDisks").output().arg($.encryptDataDisks).def(false).getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy