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

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

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
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();

    /**
     * (Available in 1.196.0+) The connection string of the DRDS instance.
     * 
     */
    @Import(name="connectionString")
    private @Nullable Output connectionString;

    /**
     * @return (Available in 1.196.0+) The connection string of the DRDS instance.
     * 
     */
    public Optional> connectionString() {
        return Optional.ofNullable(this.connectionString);
    }

    /**
     * Description of the DRDS instance, This description can have a string of 2 to 256 characters.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the DRDS instance, This description can have a string of 2 to 256 characters.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
     * 
     */
    @Import(name="instanceChargeType")
    private @Nullable Output instanceChargeType;

    /**
     * @return Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
     * 
     */
    public Optional> instanceChargeType() {
        return Optional.ofNullable(this.instanceChargeType);
    }

    /**
     * The parameter of the instance series. **NOTE:**  `drds.sn1.4c8g`,`drds.sn1.8c16g`,`drds.sn1.16c32g`,`drds.sn1.32c64g` are no longer supported. Valid values:
     * - `drds.sn2.4c16g` Starter Edition.
     * - `drds.sn2.8c32g` Standard Edition.
     * - `drds.sn2.16c64g` Enterprise Edition.
     * 
     */
    @Import(name="instanceSeries")
    private @Nullable Output instanceSeries;

    /**
     * @return The parameter of the instance series. **NOTE:**  `drds.sn1.4c8g`,`drds.sn1.8c16g`,`drds.sn1.16c32g`,`drds.sn1.32c64g` are no longer supported. Valid values:
     * - `drds.sn2.4c16g` Starter Edition.
     * - `drds.sn2.8c32g` Standard Edition.
     * - `drds.sn2.16c64g` Enterprise Edition.
     * 
     */
    public Optional> instanceSeries() {
        return Optional.ofNullable(this.instanceSeries);
    }

    /**
     * The MySQL version supported by the instance, with the following range of values. `5`: Fully compatible with MySQL 5.x (default) `8`: Fully compatible with MySQL 8.0. This parameter takes effect when the primary instance is created, and the read-only instance has the same MySQL version as the primary instance by default.
     * 
     */
    @Import(name="mysqlVersion")
    private @Nullable Output mysqlVersion;

    /**
     * @return The MySQL version supported by the instance, with the following range of values. `5`: Fully compatible with MySQL 5.x (default) `8`: Fully compatible with MySQL 8.0. This parameter takes effect when the primary instance is created, and the read-only instance has the same MySQL version as the primary instance by default.
     * 
     */
    public Optional> mysqlVersion() {
        return Optional.ofNullable(this.mysqlVersion);
    }

    /**
     * (Available in 1.196.0+) The connection port of the DRDS instance.
     * 
     */
    @Import(name="port")
    private @Nullable Output port;

    /**
     * @return (Available in 1.196.0+) The connection port of the DRDS instance.
     * 
     */
    public Optional> port() {
        return Optional.ofNullable(this.port);
    }

    /**
     * User-defined DRDS instance specification. Value range:
     * - `drds.sn1.4c8g` for DRDS instance Starter version;
     * - value range : `drds.sn1.4c8g.8c16g`, `drds.sn1.4c8g.16c32g`, `drds.sn1.4c8g.32c64g`, `drds.sn1.4c8g.64c128g`
     * - `drds.sn1.8c16g` for DRDS instance Standard edition;
     * - value range : `drds.sn1.8c16g.16c32g`, `drds.sn1.8c16g.32c64g`, `drds.sn1.8c16g.64c128g`
     * - `drds.sn1.16c32g` for DRDS instance Enterprise Edition;
     * - value range : `drds.sn1.16c32g.32c64g`, `drds.sn1.16c32g.64c128g`
     * - `drds.sn1.32c64g` for DRDS instance Extreme Edition;
     * - value range : `drds.sn1.32c64g.128c256g`
     * 
     */
    @Import(name="specification")
    private @Nullable Output specification;

    /**
     * @return User-defined DRDS instance specification. Value range:
     * - `drds.sn1.4c8g` for DRDS instance Starter version;
     * - value range : `drds.sn1.4c8g.8c16g`, `drds.sn1.4c8g.16c32g`, `drds.sn1.4c8g.32c64g`, `drds.sn1.4c8g.64c128g`
     * - `drds.sn1.8c16g` for DRDS instance Standard edition;
     * - value range : `drds.sn1.8c16g.16c32g`, `drds.sn1.8c16g.32c64g`, `drds.sn1.8c16g.64c128g`
     * - `drds.sn1.16c32g` for DRDS instance Enterprise Edition;
     * - value range : `drds.sn1.16c32g.32c64g`, `drds.sn1.16c32g.64c128g`
     * - `drds.sn1.32c64g` for DRDS instance Extreme Edition;
     * - value range : `drds.sn1.32c64g.128c256g`
     * 
     */
    public Optional> specification() {
        return Optional.ofNullable(this.specification);
    }

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

    /**
     * @return The id of the VPC.
     * 
     */
    public Optional> vpcId() {
        return Optional.ofNullable(this.vpcId);
    }

    /**
     * The VSwitch ID to launch in.
     * 
     */
    @Import(name="vswitchId")
    private @Nullable Output vswitchId;

    /**
     * @return The VSwitch ID to launch in.
     * 
     */
    public Optional> vswitchId() {
        return Optional.ofNullable(this.vswitchId);
    }

    /**
     * The Zone to launch the DRDS instance.
     * 
     */
    @Import(name="zoneId")
    private @Nullable Output zoneId;

    /**
     * @return The Zone to launch the DRDS instance.
     * 
     */
    public Optional> zoneId() {
        return Optional.ofNullable(this.zoneId);
    }

    private InstanceState() {}

    private InstanceState(InstanceState $) {
        this.connectionString = $.connectionString;
        this.description = $.description;
        this.instanceChargeType = $.instanceChargeType;
        this.instanceSeries = $.instanceSeries;
        this.mysqlVersion = $.mysqlVersion;
        this.port = $.port;
        this.specification = $.specification;
        this.vpcId = $.vpcId;
        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 connectionString (Available in 1.196.0+) The connection string of the DRDS instance.
         * 
         * @return builder
         * 
         */
        public Builder connectionString(@Nullable Output connectionString) {
            $.connectionString = connectionString;
            return this;
        }

        /**
         * @param connectionString (Available in 1.196.0+) The connection string of the DRDS instance.
         * 
         * @return builder
         * 
         */
        public Builder connectionString(String connectionString) {
            return connectionString(Output.of(connectionString));
        }

        /**
         * @param description Description of the DRDS instance, This description can have a string of 2 to 256 characters.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the DRDS instance, This description can have a string of 2 to 256 characters.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param instanceChargeType Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
         * 
         * @return builder
         * 
         */
        public Builder instanceChargeType(@Nullable Output instanceChargeType) {
            $.instanceChargeType = instanceChargeType;
            return this;
        }

        /**
         * @param instanceChargeType Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
         * 
         * @return builder
         * 
         */
        public Builder instanceChargeType(String instanceChargeType) {
            return instanceChargeType(Output.of(instanceChargeType));
        }

        /**
         * @param instanceSeries The parameter of the instance series. **NOTE:**  `drds.sn1.4c8g`,`drds.sn1.8c16g`,`drds.sn1.16c32g`,`drds.sn1.32c64g` are no longer supported. Valid values:
         * - `drds.sn2.4c16g` Starter Edition.
         * - `drds.sn2.8c32g` Standard Edition.
         * - `drds.sn2.16c64g` Enterprise Edition.
         * 
         * @return builder
         * 
         */
        public Builder instanceSeries(@Nullable Output instanceSeries) {
            $.instanceSeries = instanceSeries;
            return this;
        }

        /**
         * @param instanceSeries The parameter of the instance series. **NOTE:**  `drds.sn1.4c8g`,`drds.sn1.8c16g`,`drds.sn1.16c32g`,`drds.sn1.32c64g` are no longer supported. Valid values:
         * - `drds.sn2.4c16g` Starter Edition.
         * - `drds.sn2.8c32g` Standard Edition.
         * - `drds.sn2.16c64g` Enterprise Edition.
         * 
         * @return builder
         * 
         */
        public Builder instanceSeries(String instanceSeries) {
            return instanceSeries(Output.of(instanceSeries));
        }

        /**
         * @param mysqlVersion The MySQL version supported by the instance, with the following range of values. `5`: Fully compatible with MySQL 5.x (default) `8`: Fully compatible with MySQL 8.0. This parameter takes effect when the primary instance is created, and the read-only instance has the same MySQL version as the primary instance by default.
         * 
         * @return builder
         * 
         */
        public Builder mysqlVersion(@Nullable Output mysqlVersion) {
            $.mysqlVersion = mysqlVersion;
            return this;
        }

        /**
         * @param mysqlVersion The MySQL version supported by the instance, with the following range of values. `5`: Fully compatible with MySQL 5.x (default) `8`: Fully compatible with MySQL 8.0. This parameter takes effect when the primary instance is created, and the read-only instance has the same MySQL version as the primary instance by default.
         * 
         * @return builder
         * 
         */
        public Builder mysqlVersion(Integer mysqlVersion) {
            return mysqlVersion(Output.of(mysqlVersion));
        }

        /**
         * @param port (Available in 1.196.0+) The connection port of the DRDS instance.
         * 
         * @return builder
         * 
         */
        public Builder port(@Nullable Output port) {
            $.port = port;
            return this;
        }

        /**
         * @param port (Available in 1.196.0+) The connection port of the DRDS instance.
         * 
         * @return builder
         * 
         */
        public Builder port(String port) {
            return port(Output.of(port));
        }

        /**
         * @param specification User-defined DRDS instance specification. Value range:
         * - `drds.sn1.4c8g` for DRDS instance Starter version;
         * - value range : `drds.sn1.4c8g.8c16g`, `drds.sn1.4c8g.16c32g`, `drds.sn1.4c8g.32c64g`, `drds.sn1.4c8g.64c128g`
         * - `drds.sn1.8c16g` for DRDS instance Standard edition;
         * - value range : `drds.sn1.8c16g.16c32g`, `drds.sn1.8c16g.32c64g`, `drds.sn1.8c16g.64c128g`
         * - `drds.sn1.16c32g` for DRDS instance Enterprise Edition;
         * - value range : `drds.sn1.16c32g.32c64g`, `drds.sn1.16c32g.64c128g`
         * - `drds.sn1.32c64g` for DRDS instance Extreme Edition;
         * - value range : `drds.sn1.32c64g.128c256g`
         * 
         * @return builder
         * 
         */
        public Builder specification(@Nullable Output specification) {
            $.specification = specification;
            return this;
        }

        /**
         * @param specification User-defined DRDS instance specification. Value range:
         * - `drds.sn1.4c8g` for DRDS instance Starter version;
         * - value range : `drds.sn1.4c8g.8c16g`, `drds.sn1.4c8g.16c32g`, `drds.sn1.4c8g.32c64g`, `drds.sn1.4c8g.64c128g`
         * - `drds.sn1.8c16g` for DRDS instance Standard edition;
         * - value range : `drds.sn1.8c16g.16c32g`, `drds.sn1.8c16g.32c64g`, `drds.sn1.8c16g.64c128g`
         * - `drds.sn1.16c32g` for DRDS instance Enterprise Edition;
         * - value range : `drds.sn1.16c32g.32c64g`, `drds.sn1.16c32g.64c128g`
         * - `drds.sn1.32c64g` for DRDS instance Extreme Edition;
         * - value range : `drds.sn1.32c64g.128c256g`
         * 
         * @return builder
         * 
         */
        public Builder specification(String specification) {
            return specification(Output.of(specification));
        }

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

        /**
         * @param vpcId The id of the VPC.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(String vpcId) {
            return vpcId(Output.of(vpcId));
        }

        /**
         * @param vswitchId The VSwitch ID to launch in.
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(@Nullable Output vswitchId) {
            $.vswitchId = vswitchId;
            return this;
        }

        /**
         * @param vswitchId The VSwitch ID to launch in.
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(String vswitchId) {
            return vswitchId(Output.of(vswitchId));
        }

        /**
         * @param zoneId The Zone to launch the DRDS instance.
         * 
         * @return builder
         * 
         */
        public Builder zoneId(@Nullable Output zoneId) {
            $.zoneId = zoneId;
            return this;
        }

        /**
         * @param zoneId The Zone to launch the DRDS instance.
         * 
         * @return builder
         * 
         */
        public Builder zoneId(String zoneId) {
            return zoneId(Output.of(zoneId));
        }

        public InstanceState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy