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

com.pulumi.alicloud.tsdb.inputs.InstanceState 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.tsdb.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final InstanceState Empty = new InstanceState();

    /**
     * The app key.
     * 
     */
    @Import(name="appKey")
    private @Nullable Output appKey;

    /**
     * @return The app key.
     * 
     */
    public Optional> appKey() {
        return Optional.ofNullable(this.appKey);
    }

    /**
     * The disk type of instance. Valid when the engine type is `tsdb_influxdb`. `cloud_ssd` refers to SSD disk, `cloud_efficiency` refers to efficiency disk, `cloud_essd` refers to ESSD PL1 disk. Valid values: `cloud_efficiency`, `cloud_essd`, `cloud_ssd`.
     * 
     */
    @Import(name="diskCategory")
    private @Nullable Output diskCategory;

    /**
     * @return The disk type of instance. Valid when the engine type is `tsdb_influxdb`. `cloud_ssd` refers to SSD disk, `cloud_efficiency` refers to efficiency disk, `cloud_essd` refers to ESSD PL1 disk. Valid values: `cloud_efficiency`, `cloud_essd`, `cloud_ssd`.
     * 
     */
    public Optional> diskCategory() {
        return Optional.ofNullable(this.diskCategory);
    }

    /**
     * The duration.
     * 
     */
    @Import(name="duration")
    private @Nullable Output duration;

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

    /**
     * The engine type of instance Enumerative: `tsdb_tsdb` refers to TSDB, `tsdb_influxdb` refers to TSDB for InfluxDB️.
     * 
     */
    @Import(name="engineType")
    private @Nullable Output engineType;

    /**
     * @return The engine type of instance Enumerative: `tsdb_tsdb` refers to TSDB, `tsdb_influxdb` refers to TSDB for InfluxDB️.
     * 
     */
    public Optional> engineType() {
        return Optional.ofNullable(this.engineType);
    }

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

    /**
     * @return The alias of the instance.
     * 
     */
    public Optional> instanceAlias() {
        return Optional.ofNullable(this.instanceAlias);
    }

    /**
     * The specification of the instance.
     * - Following enumerative value for TSDB for InfluxDB️ standart edition:
     * - `influxdata.n1.mxlarge` refers to 2 CPU 8GB memory;
     * - `influxdata.n1.xlarge` refers to 4 CPU 16GB memory;
     * - `influxdata.n1.2xlarge` refers to 8 CPU 32 GB memory;
     * - `influxdata.n1.4xlarge` refers to 16 CPU 64 GB memory;
     * - `influxdata.n1.8xlarge` refers to 32 CPU 128 GB memory;
     * - `influxdata.n1.16xlarge` refers to 64 CPU 256 GB memory.
     * - Following enumerative value for TSDB for InfluxDB High-availability edition:
     * - `influxdata.n1.mxlarge_ha` refers to 2 CPU 8GB memory;
     * - `influxdata.n1.xlarge_ha` refers to 4 CPU 16GB memory;
     * - `influxdata.n1.2xlarge_ha` refers to 8 CPU 32 GB memory;
     * - `influxdata.n1.4xlarge_ha` refers to 16 CPU 64 GB memory;
     * - `influxdata.n1.8xlarge_ha` refers to 32 CPU 128 GB memory;
     * - `influxdata.n1.16xlarge_ha` refers to 64 CPU 256 GB memory.
     * - Following enumerative value for TSDB:
     * - `tsdb.1x.basic` refers to basic edition I;
     * - `tsdb.3x.basic` refers to basic edition II;
     * - `tsdb.4x.basic` refers to basic edtion III;
     * - `tsdb.12x.standard` refers to standard edition I;
     * - `tsdb.24x.standard` refers to standard edition II;
     * - `tsdb.48x.large` refers to ultimate edition I;
     * - `tsdb.96x.large` refers to ultimate edition II.
     * 
     */
    @Import(name="instanceClass")
    private @Nullable Output instanceClass;

    /**
     * @return The specification of the instance.
     * - Following enumerative value for TSDB for InfluxDB️ standart edition:
     * - `influxdata.n1.mxlarge` refers to 2 CPU 8GB memory;
     * - `influxdata.n1.xlarge` refers to 4 CPU 16GB memory;
     * - `influxdata.n1.2xlarge` refers to 8 CPU 32 GB memory;
     * - `influxdata.n1.4xlarge` refers to 16 CPU 64 GB memory;
     * - `influxdata.n1.8xlarge` refers to 32 CPU 128 GB memory;
     * - `influxdata.n1.16xlarge` refers to 64 CPU 256 GB memory.
     * - Following enumerative value for TSDB for InfluxDB High-availability edition:
     * - `influxdata.n1.mxlarge_ha` refers to 2 CPU 8GB memory;
     * - `influxdata.n1.xlarge_ha` refers to 4 CPU 16GB memory;
     * - `influxdata.n1.2xlarge_ha` refers to 8 CPU 32 GB memory;
     * - `influxdata.n1.4xlarge_ha` refers to 16 CPU 64 GB memory;
     * - `influxdata.n1.8xlarge_ha` refers to 32 CPU 128 GB memory;
     * - `influxdata.n1.16xlarge_ha` refers to 64 CPU 256 GB memory.
     * - Following enumerative value for TSDB:
     * - `tsdb.1x.basic` refers to basic edition I;
     * - `tsdb.3x.basic` refers to basic edition II;
     * - `tsdb.4x.basic` refers to basic edtion III;
     * - `tsdb.12x.standard` refers to standard edition I;
     * - `tsdb.24x.standard` refers to standard edition II;
     * - `tsdb.48x.large` refers to ultimate edition I;
     * - `tsdb.96x.large` refers to ultimate edition II.
     * 
     */
    public Optional> instanceClass() {
        return Optional.ofNullable(this.instanceClass);
    }

    /**
     * The storage capacity of the instance. Unit: GB. For example, the value 50 indicates 50 GB. Does not support shrink storage.
     * 
     */
    @Import(name="instanceStorage")
    private @Nullable Output instanceStorage;

    /**
     * @return The storage capacity of the instance. Unit: GB. For example, the value 50 indicates 50 GB. Does not support shrink storage.
     * 
     */
    public Optional> instanceStorage() {
        return Optional.ofNullable(this.instanceStorage);
    }

    /**
     * The billing method. Valid values: `PayAsYouGo` and `Subscription`. The `PayAsYouGo` value indicates the pay-as-you-go method, and the `Subscription` value indicates the subscription method.
     * 
     */
    @Import(name="paymentType")
    private @Nullable Output paymentType;

    /**
     * @return The billing method. Valid values: `PayAsYouGo` and `Subscription`. The `PayAsYouGo` value indicates the pay-as-you-go method, and the `Subscription` value indicates the subscription method.
     * 
     */
    public Optional> paymentType() {
        return Optional.ofNullable(this.paymentType);
    }

    /**
     * Instance status, enumerative: `ACTIVATION`, `DELETED`, `CREATING`, `CLASS_CHANGING`, `LOCKED`.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return Instance status, enumerative: `ACTIVATION`, `DELETED`, `CREATING`, `CLASS_CHANGING`, `LOCKED`.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The vswitch id.
     * 
     */
    @Import(name="vswitchId")
    private @Nullable Output vswitchId;

    /**
     * @return The vswitch id.
     * 
     */
    public Optional> vswitchId() {
        return Optional.ofNullable(this.vswitchId);
    }

    /**
     * The zone ID of the instance.
     * 
     */
    @Import(name="zoneId")
    private @Nullable Output zoneId;

    /**
     * @return The zone ID of the instance.
     * 
     */
    public Optional> zoneId() {
        return Optional.ofNullable(this.zoneId);
    }

    private InstanceState() {}

    private InstanceState(InstanceState $) {
        this.appKey = $.appKey;
        this.diskCategory = $.diskCategory;
        this.duration = $.duration;
        this.engineType = $.engineType;
        this.instanceAlias = $.instanceAlias;
        this.instanceClass = $.instanceClass;
        this.instanceStorage = $.instanceStorage;
        this.paymentType = $.paymentType;
        this.status = $.status;
        this.vswitchId = $.vswitchId;
        this.zoneId = $.zoneId;
    }

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

    public static final class Builder {
        private InstanceState $;

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

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

        /**
         * @param appKey The app key.
         * 
         * @return builder
         * 
         */
        public Builder appKey(@Nullable Output appKey) {
            $.appKey = appKey;
            return this;
        }

        /**
         * @param appKey The app key.
         * 
         * @return builder
         * 
         */
        public Builder appKey(String appKey) {
            return appKey(Output.of(appKey));
        }

        /**
         * @param diskCategory The disk type of instance. Valid when the engine type is `tsdb_influxdb`. `cloud_ssd` refers to SSD disk, `cloud_efficiency` refers to efficiency disk, `cloud_essd` refers to ESSD PL1 disk. Valid values: `cloud_efficiency`, `cloud_essd`, `cloud_ssd`.
         * 
         * @return builder
         * 
         */
        public Builder diskCategory(@Nullable Output diskCategory) {
            $.diskCategory = diskCategory;
            return this;
        }

        /**
         * @param diskCategory The disk type of instance. Valid when the engine type is `tsdb_influxdb`. `cloud_ssd` refers to SSD disk, `cloud_efficiency` refers to efficiency disk, `cloud_essd` refers to ESSD PL1 disk. Valid values: `cloud_efficiency`, `cloud_essd`, `cloud_ssd`.
         * 
         * @return builder
         * 
         */
        public Builder diskCategory(String diskCategory) {
            return diskCategory(Output.of(diskCategory));
        }

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

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

        /**
         * @param engineType The engine type of instance Enumerative: `tsdb_tsdb` refers to TSDB, `tsdb_influxdb` refers to TSDB for InfluxDB️.
         * 
         * @return builder
         * 
         */
        public Builder engineType(@Nullable Output engineType) {
            $.engineType = engineType;
            return this;
        }

        /**
         * @param engineType The engine type of instance Enumerative: `tsdb_tsdb` refers to TSDB, `tsdb_influxdb` refers to TSDB for InfluxDB️.
         * 
         * @return builder
         * 
         */
        public Builder engineType(String engineType) {
            return engineType(Output.of(engineType));
        }

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

        /**
         * @param instanceAlias The alias of the instance.
         * 
         * @return builder
         * 
         */
        public Builder instanceAlias(String instanceAlias) {
            return instanceAlias(Output.of(instanceAlias));
        }

        /**
         * @param instanceClass The specification of the instance.
         * - Following enumerative value for TSDB for InfluxDB️ standart edition:
         * - `influxdata.n1.mxlarge` refers to 2 CPU 8GB memory;
         * - `influxdata.n1.xlarge` refers to 4 CPU 16GB memory;
         * - `influxdata.n1.2xlarge` refers to 8 CPU 32 GB memory;
         * - `influxdata.n1.4xlarge` refers to 16 CPU 64 GB memory;
         * - `influxdata.n1.8xlarge` refers to 32 CPU 128 GB memory;
         * - `influxdata.n1.16xlarge` refers to 64 CPU 256 GB memory.
         * - Following enumerative value for TSDB for InfluxDB High-availability edition:
         * - `influxdata.n1.mxlarge_ha` refers to 2 CPU 8GB memory;
         * - `influxdata.n1.xlarge_ha` refers to 4 CPU 16GB memory;
         * - `influxdata.n1.2xlarge_ha` refers to 8 CPU 32 GB memory;
         * - `influxdata.n1.4xlarge_ha` refers to 16 CPU 64 GB memory;
         * - `influxdata.n1.8xlarge_ha` refers to 32 CPU 128 GB memory;
         * - `influxdata.n1.16xlarge_ha` refers to 64 CPU 256 GB memory.
         * - Following enumerative value for TSDB:
         * - `tsdb.1x.basic` refers to basic edition I;
         * - `tsdb.3x.basic` refers to basic edition II;
         * - `tsdb.4x.basic` refers to basic edtion III;
         * - `tsdb.12x.standard` refers to standard edition I;
         * - `tsdb.24x.standard` refers to standard edition II;
         * - `tsdb.48x.large` refers to ultimate edition I;
         * - `tsdb.96x.large` refers to ultimate edition II.
         * 
         * @return builder
         * 
         */
        public Builder instanceClass(@Nullable Output instanceClass) {
            $.instanceClass = instanceClass;
            return this;
        }

        /**
         * @param instanceClass The specification of the instance.
         * - Following enumerative value for TSDB for InfluxDB️ standart edition:
         * - `influxdata.n1.mxlarge` refers to 2 CPU 8GB memory;
         * - `influxdata.n1.xlarge` refers to 4 CPU 16GB memory;
         * - `influxdata.n1.2xlarge` refers to 8 CPU 32 GB memory;
         * - `influxdata.n1.4xlarge` refers to 16 CPU 64 GB memory;
         * - `influxdata.n1.8xlarge` refers to 32 CPU 128 GB memory;
         * - `influxdata.n1.16xlarge` refers to 64 CPU 256 GB memory.
         * - Following enumerative value for TSDB for InfluxDB High-availability edition:
         * - `influxdata.n1.mxlarge_ha` refers to 2 CPU 8GB memory;
         * - `influxdata.n1.xlarge_ha` refers to 4 CPU 16GB memory;
         * - `influxdata.n1.2xlarge_ha` refers to 8 CPU 32 GB memory;
         * - `influxdata.n1.4xlarge_ha` refers to 16 CPU 64 GB memory;
         * - `influxdata.n1.8xlarge_ha` refers to 32 CPU 128 GB memory;
         * - `influxdata.n1.16xlarge_ha` refers to 64 CPU 256 GB memory.
         * - Following enumerative value for TSDB:
         * - `tsdb.1x.basic` refers to basic edition I;
         * - `tsdb.3x.basic` refers to basic edition II;
         * - `tsdb.4x.basic` refers to basic edtion III;
         * - `tsdb.12x.standard` refers to standard edition I;
         * - `tsdb.24x.standard` refers to standard edition II;
         * - `tsdb.48x.large` refers to ultimate edition I;
         * - `tsdb.96x.large` refers to ultimate edition II.
         * 
         * @return builder
         * 
         */
        public Builder instanceClass(String instanceClass) {
            return instanceClass(Output.of(instanceClass));
        }

        /**
         * @param instanceStorage The storage capacity of the instance. Unit: GB. For example, the value 50 indicates 50 GB. Does not support shrink storage.
         * 
         * @return builder
         * 
         */
        public Builder instanceStorage(@Nullable Output instanceStorage) {
            $.instanceStorage = instanceStorage;
            return this;
        }

        /**
         * @param instanceStorage The storage capacity of the instance. Unit: GB. For example, the value 50 indicates 50 GB. Does not support shrink storage.
         * 
         * @return builder
         * 
         */
        public Builder instanceStorage(String instanceStorage) {
            return instanceStorage(Output.of(instanceStorage));
        }

        /**
         * @param paymentType The billing method. Valid values: `PayAsYouGo` and `Subscription`. The `PayAsYouGo` value indicates the pay-as-you-go method, and the `Subscription` value indicates the subscription method.
         * 
         * @return builder
         * 
         */
        public Builder paymentType(@Nullable Output paymentType) {
            $.paymentType = paymentType;
            return this;
        }

        /**
         * @param paymentType The billing method. Valid values: `PayAsYouGo` and `Subscription`. The `PayAsYouGo` value indicates the pay-as-you-go method, and the `Subscription` value indicates the subscription method.
         * 
         * @return builder
         * 
         */
        public Builder paymentType(String paymentType) {
            return paymentType(Output.of(paymentType));
        }

        /**
         * @param status Instance status, enumerative: `ACTIVATION`, `DELETED`, `CREATING`, `CLASS_CHANGING`, `LOCKED`.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status Instance status, enumerative: `ACTIVATION`, `DELETED`, `CREATING`, `CLASS_CHANGING`, `LOCKED`.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param vswitchId The vswitch id.
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(@Nullable Output vswitchId) {
            $.vswitchId = vswitchId;
            return this;
        }

        /**
         * @param vswitchId The vswitch id.
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(String vswitchId) {
            return vswitchId(Output.of(vswitchId));
        }

        /**
         * @param zoneId The zone ID of the instance.
         * 
         * @return builder
         * 
         */
        public Builder zoneId(@Nullable Output zoneId) {
            $.zoneId = zoneId;
            return this;
        }

        /**
         * @param zoneId The zone ID of the instance.
         * 
         * @return builder
         * 
         */
        public Builder zoneId(String zoneId) {
            return zoneId(Output.of(zoneId));
        }

        public InstanceState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy