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

com.pulumi.alicloud.cs.ClusterArgs 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.cs;

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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ClusterArgs Empty = new ClusterArgs();

    @Import(name="cidrBlock", required=true)
    private Output cidrBlock;

    public Output cidrBlock() {
        return this.cidrBlock;
    }

    @Import(name="diskCategory")
    private @Nullable Output diskCategory;

    public Optional> diskCategory() {
        return Optional.ofNullable(this.diskCategory);
    }

    @Import(name="diskSize")
    private @Nullable Output diskSize;

    public Optional> diskSize() {
        return Optional.ofNullable(this.diskSize);
    }

    @Import(name="imageId")
    private @Nullable Output imageId;

    public Optional> imageId() {
        return Optional.ofNullable(this.imageId);
    }

    @Import(name="instanceType", required=true)
    private Output instanceType;

    public Output instanceType() {
        return this.instanceType;
    }

    @Import(name="isOutdated")
    private @Nullable Output isOutdated;

    public Optional> isOutdated() {
        return Optional.ofNullable(this.isOutdated);
    }

    @Import(name="name")
    private @Nullable Output name;

    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    @Import(name="namePrefix")
    private @Nullable Output namePrefix;

    public Optional> namePrefix() {
        return Optional.ofNullable(this.namePrefix);
    }

    @Import(name="needSlb")
    private @Nullable Output needSlb;

    public Optional> needSlb() {
        return Optional.ofNullable(this.needSlb);
    }

    @Import(name="nodeNumber")
    private @Nullable Output nodeNumber;

    public Optional> nodeNumber() {
        return Optional.ofNullable(this.nodeNumber);
    }

    @Import(name="password", required=true)
    private Output password;

    public Output password() {
        return this.password;
    }

    @Import(name="releaseEip")
    private @Nullable Output releaseEip;

    public Optional> releaseEip() {
        return Optional.ofNullable(this.releaseEip);
    }

    /**
     * @deprecated
     * Field 'size' has been deprecated from provider version 1.9.1. New field 'node_number' replaces it.
     * 
     */
    @Deprecated /* Field 'size' has been deprecated from provider version 1.9.1. New field 'node_number' replaces it. */
    @Import(name="size")
    private @Nullable Output size;

    /**
     * @deprecated
     * Field 'size' has been deprecated from provider version 1.9.1. New field 'node_number' replaces it.
     * 
     */
    @Deprecated /* Field 'size' has been deprecated from provider version 1.9.1. New field 'node_number' replaces it. */
    public Optional> size() {
        return Optional.ofNullable(this.size);
    }

    @Import(name="vswitchId", required=true)
    private Output vswitchId;

    public Output vswitchId() {
        return this.vswitchId;
    }

    private ClusterArgs() {}

    private ClusterArgs(ClusterArgs $) {
        this.cidrBlock = $.cidrBlock;
        this.diskCategory = $.diskCategory;
        this.diskSize = $.diskSize;
        this.imageId = $.imageId;
        this.instanceType = $.instanceType;
        this.isOutdated = $.isOutdated;
        this.name = $.name;
        this.namePrefix = $.namePrefix;
        this.needSlb = $.needSlb;
        this.nodeNumber = $.nodeNumber;
        this.password = $.password;
        this.releaseEip = $.releaseEip;
        this.size = $.size;
        this.vswitchId = $.vswitchId;
    }

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

    public static final class Builder {
        private ClusterArgs $;

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

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

        public Builder cidrBlock(Output cidrBlock) {
            $.cidrBlock = cidrBlock;
            return this;
        }

        public Builder cidrBlock(String cidrBlock) {
            return cidrBlock(Output.of(cidrBlock));
        }

        public Builder diskCategory(@Nullable Output diskCategory) {
            $.diskCategory = diskCategory;
            return this;
        }

        public Builder diskCategory(String diskCategory) {
            return diskCategory(Output.of(diskCategory));
        }

        public Builder diskSize(@Nullable Output diskSize) {
            $.diskSize = diskSize;
            return this;
        }

        public Builder diskSize(Integer diskSize) {
            return diskSize(Output.of(diskSize));
        }

        public Builder imageId(@Nullable Output imageId) {
            $.imageId = imageId;
            return this;
        }

        public Builder imageId(String imageId) {
            return imageId(Output.of(imageId));
        }

        public Builder instanceType(Output instanceType) {
            $.instanceType = instanceType;
            return this;
        }

        public Builder instanceType(String instanceType) {
            return instanceType(Output.of(instanceType));
        }

        public Builder isOutdated(@Nullable Output isOutdated) {
            $.isOutdated = isOutdated;
            return this;
        }

        public Builder isOutdated(Boolean isOutdated) {
            return isOutdated(Output.of(isOutdated));
        }

        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        public Builder name(String name) {
            return name(Output.of(name));
        }

        public Builder namePrefix(@Nullable Output namePrefix) {
            $.namePrefix = namePrefix;
            return this;
        }

        public Builder namePrefix(String namePrefix) {
            return namePrefix(Output.of(namePrefix));
        }

        public Builder needSlb(@Nullable Output needSlb) {
            $.needSlb = needSlb;
            return this;
        }

        public Builder needSlb(Boolean needSlb) {
            return needSlb(Output.of(needSlb));
        }

        public Builder nodeNumber(@Nullable Output nodeNumber) {
            $.nodeNumber = nodeNumber;
            return this;
        }

        public Builder nodeNumber(Integer nodeNumber) {
            return nodeNumber(Output.of(nodeNumber));
        }

        public Builder password(Output password) {
            $.password = password;
            return this;
        }

        public Builder password(String password) {
            return password(Output.of(password));
        }

        public Builder releaseEip(@Nullable Output releaseEip) {
            $.releaseEip = releaseEip;
            return this;
        }

        public Builder releaseEip(Boolean releaseEip) {
            return releaseEip(Output.of(releaseEip));
        }

        /**
         * @return builder
         * 
         * @deprecated
         * Field 'size' has been deprecated from provider version 1.9.1. New field 'node_number' replaces it.
         * 
         */
        @Deprecated /* Field 'size' has been deprecated from provider version 1.9.1. New field 'node_number' replaces it. */
        public Builder size(@Nullable Output size) {
            $.size = size;
            return this;
        }

        /**
         * @return builder
         * 
         * @deprecated
         * Field 'size' has been deprecated from provider version 1.9.1. New field 'node_number' replaces it.
         * 
         */
        @Deprecated /* Field 'size' has been deprecated from provider version 1.9.1. New field 'node_number' replaces it. */
        public Builder size(Integer size) {
            return size(Output.of(size));
        }

        public Builder vswitchId(Output vswitchId) {
            $.vswitchId = vswitchId;
            return this;
        }

        public Builder vswitchId(String vswitchId) {
            return vswitchId(Output.of(vswitchId));
        }

        public ClusterArgs build() {
            if ($.cidrBlock == null) {
                throw new MissingRequiredPropertyException("ClusterArgs", "cidrBlock");
            }
            if ($.instanceType == null) {
                throw new MissingRequiredPropertyException("ClusterArgs", "instanceType");
            }
            if ($.password == null) {
                throw new MissingRequiredPropertyException("ClusterArgs", "password");
            }
            if ($.vswitchId == null) {
                throw new MissingRequiredPropertyException("ClusterArgs", "vswitchId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy