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

com.pulumi.alicloud.cddc.inputs.DedicatedHostGroupState 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.cddc.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 DedicatedHostGroupState extends com.pulumi.resources.ResourceArgs {

    public static final DedicatedHostGroupState Empty = new DedicatedHostGroupState();

    /**
     * AThe policy that is used to allocate resources in the dedicated cluster. Valid values:`Evenly`,`Intensively`
     * 
     */
    @Import(name="allocationPolicy")
    private @Nullable Output allocationPolicy;

    /**
     * @return AThe policy that is used to allocate resources in the dedicated cluster. Valid values:`Evenly`,`Intensively`
     * 
     */
    public Optional> allocationPolicy() {
        return Optional.ofNullable(this.allocationPolicy);
    }

    /**
     * The CPU overcommitment ratio of the dedicated cluster.Valid values: 100 to 300. Default value: 200.
     * 
     */
    @Import(name="cpuAllocationRatio")
    private @Nullable Output cpuAllocationRatio;

    /**
     * @return The CPU overcommitment ratio of the dedicated cluster.Valid values: 100 to 300. Default value: 200.
     * 
     */
    public Optional> cpuAllocationRatio() {
        return Optional.ofNullable(this.cpuAllocationRatio);
    }

    /**
     * The name of the dedicated cluster. The name must be 1 to 64 characters in length and can contain letters, digits, underscores (_), and hyphens (-). It must start with a letter.
     * 
     */
    @Import(name="dedicatedHostGroupDesc")
    private @Nullable Output dedicatedHostGroupDesc;

    /**
     * @return The name of the dedicated cluster. The name must be 1 to 64 characters in length and can contain letters, digits, underscores (_), and hyphens (-). It must start with a letter.
     * 
     */
    public Optional> dedicatedHostGroupDesc() {
        return Optional.ofNullable(this.dedicatedHostGroupDesc);
    }

    /**
     * The Disk Allocation Ratio of the Dedicated Host Group. **NOTE:** When `engine = SQLServer`, this attribute does not support to set.
     * 
     */
    @Import(name="diskAllocationRatio")
    private @Nullable Output diskAllocationRatio;

    /**
     * @return The Disk Allocation Ratio of the Dedicated Host Group. **NOTE:** When `engine = SQLServer`, this attribute does not support to set.
     * 
     */
    public Optional> diskAllocationRatio() {
        return Optional.ofNullable(this.diskAllocationRatio);
    }

    /**
     * Database Engine Type.The database engine of the dedicated cluster. Valid values:`Redis`, `SQLServer`, `MySQL`, `PostgreSQL`, `MongoDB`, `alisql`, `tair`, `mssql`. **NOTE:** Since v1.210.0., the `engine = SQLServer` was deprecated.
     * 
     */
    @Import(name="engine")
    private @Nullable Output engine;

    /**
     * @return Database Engine Type.The database engine of the dedicated cluster. Valid values:`Redis`, `SQLServer`, `MySQL`, `PostgreSQL`, `MongoDB`, `alisql`, `tair`, `mssql`. **NOTE:** Since v1.210.0., the `engine = SQLServer` was deprecated.
     * 
     */
    public Optional> engine() {
        return Optional.ofNullable(this.engine);
    }

    /**
     * The policy based on which the system handles host failures. Valid values:`Auto`,`Manual`
     * 
     */
    @Import(name="hostReplacePolicy")
    private @Nullable Output hostReplacePolicy;

    /**
     * @return The policy based on which the system handles host failures. Valid values:`Auto`,`Manual`
     * 
     */
    public Optional> hostReplacePolicy() {
        return Optional.ofNullable(this.hostReplacePolicy);
    }

    /**
     * The Memory Allocation Ratio of the Dedicated Host Group.
     * 
     */
    @Import(name="memAllocationRatio")
    private @Nullable Output memAllocationRatio;

    /**
     * @return The Memory Allocation Ratio of the Dedicated Host Group.
     * 
     */
    public Optional> memAllocationRatio() {
        return Optional.ofNullable(this.memAllocationRatio);
    }

    /**
     * Whether to enable the feature that allows you to have OS permissions on the hosts in the dedicated cluster. Valid values: `true` and `false`.
     * **NOTE:** The `open_permission` should be `true` when `engine = "SQLServer"`
     * 
     */
    @Import(name="openPermission")
    private @Nullable Output openPermission;

    /**
     * @return Whether to enable the feature that allows you to have OS permissions on the hosts in the dedicated cluster. Valid values: `true` and `false`.
     * **NOTE:** The `open_permission` should be `true` when `engine = "SQLServer"`
     * 
     */
    public Optional> openPermission() {
        return Optional.ofNullable(this.openPermission);
    }

    /**
     * The virtual private cloud (VPC) ID of the dedicated cluster.
     * 
     */
    @Import(name="vpcId")
    private @Nullable Output vpcId;

    /**
     * @return The virtual private cloud (VPC) ID of the dedicated cluster.
     * 
     */
    public Optional> vpcId() {
        return Optional.ofNullable(this.vpcId);
    }

    private DedicatedHostGroupState() {}

    private DedicatedHostGroupState(DedicatedHostGroupState $) {
        this.allocationPolicy = $.allocationPolicy;
        this.cpuAllocationRatio = $.cpuAllocationRatio;
        this.dedicatedHostGroupDesc = $.dedicatedHostGroupDesc;
        this.diskAllocationRatio = $.diskAllocationRatio;
        this.engine = $.engine;
        this.hostReplacePolicy = $.hostReplacePolicy;
        this.memAllocationRatio = $.memAllocationRatio;
        this.openPermission = $.openPermission;
        this.vpcId = $.vpcId;
    }

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

    public static final class Builder {
        private DedicatedHostGroupState $;

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

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

        /**
         * @param allocationPolicy AThe policy that is used to allocate resources in the dedicated cluster. Valid values:`Evenly`,`Intensively`
         * 
         * @return builder
         * 
         */
        public Builder allocationPolicy(@Nullable Output allocationPolicy) {
            $.allocationPolicy = allocationPolicy;
            return this;
        }

        /**
         * @param allocationPolicy AThe policy that is used to allocate resources in the dedicated cluster. Valid values:`Evenly`,`Intensively`
         * 
         * @return builder
         * 
         */
        public Builder allocationPolicy(String allocationPolicy) {
            return allocationPolicy(Output.of(allocationPolicy));
        }

        /**
         * @param cpuAllocationRatio The CPU overcommitment ratio of the dedicated cluster.Valid values: 100 to 300. Default value: 200.
         * 
         * @return builder
         * 
         */
        public Builder cpuAllocationRatio(@Nullable Output cpuAllocationRatio) {
            $.cpuAllocationRatio = cpuAllocationRatio;
            return this;
        }

        /**
         * @param cpuAllocationRatio The CPU overcommitment ratio of the dedicated cluster.Valid values: 100 to 300. Default value: 200.
         * 
         * @return builder
         * 
         */
        public Builder cpuAllocationRatio(Integer cpuAllocationRatio) {
            return cpuAllocationRatio(Output.of(cpuAllocationRatio));
        }

        /**
         * @param dedicatedHostGroupDesc The name of the dedicated cluster. The name must be 1 to 64 characters in length and can contain letters, digits, underscores (_), and hyphens (-). It must start with a letter.
         * 
         * @return builder
         * 
         */
        public Builder dedicatedHostGroupDesc(@Nullable Output dedicatedHostGroupDesc) {
            $.dedicatedHostGroupDesc = dedicatedHostGroupDesc;
            return this;
        }

        /**
         * @param dedicatedHostGroupDesc The name of the dedicated cluster. The name must be 1 to 64 characters in length and can contain letters, digits, underscores (_), and hyphens (-). It must start with a letter.
         * 
         * @return builder
         * 
         */
        public Builder dedicatedHostGroupDesc(String dedicatedHostGroupDesc) {
            return dedicatedHostGroupDesc(Output.of(dedicatedHostGroupDesc));
        }

        /**
         * @param diskAllocationRatio The Disk Allocation Ratio of the Dedicated Host Group. **NOTE:** When `engine = SQLServer`, this attribute does not support to set.
         * 
         * @return builder
         * 
         */
        public Builder diskAllocationRatio(@Nullable Output diskAllocationRatio) {
            $.diskAllocationRatio = diskAllocationRatio;
            return this;
        }

        /**
         * @param diskAllocationRatio The Disk Allocation Ratio of the Dedicated Host Group. **NOTE:** When `engine = SQLServer`, this attribute does not support to set.
         * 
         * @return builder
         * 
         */
        public Builder diskAllocationRatio(Integer diskAllocationRatio) {
            return diskAllocationRatio(Output.of(diskAllocationRatio));
        }

        /**
         * @param engine Database Engine Type.The database engine of the dedicated cluster. Valid values:`Redis`, `SQLServer`, `MySQL`, `PostgreSQL`, `MongoDB`, `alisql`, `tair`, `mssql`. **NOTE:** Since v1.210.0., the `engine = SQLServer` was deprecated.
         * 
         * @return builder
         * 
         */
        public Builder engine(@Nullable Output engine) {
            $.engine = engine;
            return this;
        }

        /**
         * @param engine Database Engine Type.The database engine of the dedicated cluster. Valid values:`Redis`, `SQLServer`, `MySQL`, `PostgreSQL`, `MongoDB`, `alisql`, `tair`, `mssql`. **NOTE:** Since v1.210.0., the `engine = SQLServer` was deprecated.
         * 
         * @return builder
         * 
         */
        public Builder engine(String engine) {
            return engine(Output.of(engine));
        }

        /**
         * @param hostReplacePolicy The policy based on which the system handles host failures. Valid values:`Auto`,`Manual`
         * 
         * @return builder
         * 
         */
        public Builder hostReplacePolicy(@Nullable Output hostReplacePolicy) {
            $.hostReplacePolicy = hostReplacePolicy;
            return this;
        }

        /**
         * @param hostReplacePolicy The policy based on which the system handles host failures. Valid values:`Auto`,`Manual`
         * 
         * @return builder
         * 
         */
        public Builder hostReplacePolicy(String hostReplacePolicy) {
            return hostReplacePolicy(Output.of(hostReplacePolicy));
        }

        /**
         * @param memAllocationRatio The Memory Allocation Ratio of the Dedicated Host Group.
         * 
         * @return builder
         * 
         */
        public Builder memAllocationRatio(@Nullable Output memAllocationRatio) {
            $.memAllocationRatio = memAllocationRatio;
            return this;
        }

        /**
         * @param memAllocationRatio The Memory Allocation Ratio of the Dedicated Host Group.
         * 
         * @return builder
         * 
         */
        public Builder memAllocationRatio(Integer memAllocationRatio) {
            return memAllocationRatio(Output.of(memAllocationRatio));
        }

        /**
         * @param openPermission Whether to enable the feature that allows you to have OS permissions on the hosts in the dedicated cluster. Valid values: `true` and `false`.
         * **NOTE:** The `open_permission` should be `true` when `engine = "SQLServer"`
         * 
         * @return builder
         * 
         */
        public Builder openPermission(@Nullable Output openPermission) {
            $.openPermission = openPermission;
            return this;
        }

        /**
         * @param openPermission Whether to enable the feature that allows you to have OS permissions on the hosts in the dedicated cluster. Valid values: `true` and `false`.
         * **NOTE:** The `open_permission` should be `true` when `engine = "SQLServer"`
         * 
         * @return builder
         * 
         */
        public Builder openPermission(Boolean openPermission) {
            return openPermission(Output.of(openPermission));
        }

        /**
         * @param vpcId The virtual private cloud (VPC) ID of the dedicated cluster.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(@Nullable Output vpcId) {
            $.vpcId = vpcId;
            return this;
        }

        /**
         * @param vpcId The virtual private cloud (VPC) ID of the dedicated cluster.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(String vpcId) {
            return vpcId(Output.of(vpcId));
        }

        public DedicatedHostGroupState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy