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

com.pulumi.alicloud.rds.RdsParameterGroupArgs 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.rds;

import com.pulumi.alicloud.rds.inputs.RdsParameterGroupParamDetailArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final RdsParameterGroupArgs Empty = new RdsParameterGroupArgs();

    /**
     * The database engine. Valid values: `mysql`, `mariadb`, `PostgreSQL`.
     * 
     */
    @Import(name="engine", required=true)
    private Output engine;

    /**
     * @return The database engine. Valid values: `mysql`, `mariadb`, `PostgreSQL`.
     * 
     */
    public Output engine() {
        return this.engine;
    }

    /**
     * The version of the database engine. Valid values: mysql: `5.1`, `5.5`, `5.6`, `5.7`, `8.0`; mariadb: `10.3`; PostgreSQL: `10.0`, `11.0`, `12.0`, `13.0`, `14.0`, `15.0`.
     * 
     */
    @Import(name="engineVersion", required=true)
    private Output engineVersion;

    /**
     * @return The version of the database engine. Valid values: mysql: `5.1`, `5.5`, `5.6`, `5.7`, `8.0`; mariadb: `10.3`; PostgreSQL: `10.0`, `11.0`, `12.0`, `13.0`, `14.0`, `15.0`.
     * 
     */
    public Output engineVersion() {
        return this.engineVersion;
    }

    /**
     * Parameter list. See `param_detail` below.
     * 
     */
    @Import(name="paramDetails", required=true)
    private Output> paramDetails;

    /**
     * @return Parameter list. See `param_detail` below.
     * 
     */
    public Output> paramDetails() {
        return this.paramDetails;
    }

    /**
     * The description of the parameter template.
     * 
     */
    @Import(name="parameterGroupDesc")
    private @Nullable Output parameterGroupDesc;

    /**
     * @return The description of the parameter template.
     * 
     */
    public Optional> parameterGroupDesc() {
        return Optional.ofNullable(this.parameterGroupDesc);
    }

    /**
     * The name of the parameter template.
     * 
     */
    @Import(name="parameterGroupName", required=true)
    private Output parameterGroupName;

    /**
     * @return The name of the parameter template.
     * 
     */
    public Output parameterGroupName() {
        return this.parameterGroupName;
    }

    private RdsParameterGroupArgs() {}

    private RdsParameterGroupArgs(RdsParameterGroupArgs $) {
        this.engine = $.engine;
        this.engineVersion = $.engineVersion;
        this.paramDetails = $.paramDetails;
        this.parameterGroupDesc = $.parameterGroupDesc;
        this.parameterGroupName = $.parameterGroupName;
    }

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

    public static final class Builder {
        private RdsParameterGroupArgs $;

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

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

        /**
         * @param engine The database engine. Valid values: `mysql`, `mariadb`, `PostgreSQL`.
         * 
         * @return builder
         * 
         */
        public Builder engine(Output engine) {
            $.engine = engine;
            return this;
        }

        /**
         * @param engine The database engine. Valid values: `mysql`, `mariadb`, `PostgreSQL`.
         * 
         * @return builder
         * 
         */
        public Builder engine(String engine) {
            return engine(Output.of(engine));
        }

        /**
         * @param engineVersion The version of the database engine. Valid values: mysql: `5.1`, `5.5`, `5.6`, `5.7`, `8.0`; mariadb: `10.3`; PostgreSQL: `10.0`, `11.0`, `12.0`, `13.0`, `14.0`, `15.0`.
         * 
         * @return builder
         * 
         */
        public Builder engineVersion(Output engineVersion) {
            $.engineVersion = engineVersion;
            return this;
        }

        /**
         * @param engineVersion The version of the database engine. Valid values: mysql: `5.1`, `5.5`, `5.6`, `5.7`, `8.0`; mariadb: `10.3`; PostgreSQL: `10.0`, `11.0`, `12.0`, `13.0`, `14.0`, `15.0`.
         * 
         * @return builder
         * 
         */
        public Builder engineVersion(String engineVersion) {
            return engineVersion(Output.of(engineVersion));
        }

        /**
         * @param paramDetails Parameter list. See `param_detail` below.
         * 
         * @return builder
         * 
         */
        public Builder paramDetails(Output> paramDetails) {
            $.paramDetails = paramDetails;
            return this;
        }

        /**
         * @param paramDetails Parameter list. See `param_detail` below.
         * 
         * @return builder
         * 
         */
        public Builder paramDetails(List paramDetails) {
            return paramDetails(Output.of(paramDetails));
        }

        /**
         * @param paramDetails Parameter list. See `param_detail` below.
         * 
         * @return builder
         * 
         */
        public Builder paramDetails(RdsParameterGroupParamDetailArgs... paramDetails) {
            return paramDetails(List.of(paramDetails));
        }

        /**
         * @param parameterGroupDesc The description of the parameter template.
         * 
         * @return builder
         * 
         */
        public Builder parameterGroupDesc(@Nullable Output parameterGroupDesc) {
            $.parameterGroupDesc = parameterGroupDesc;
            return this;
        }

        /**
         * @param parameterGroupDesc The description of the parameter template.
         * 
         * @return builder
         * 
         */
        public Builder parameterGroupDesc(String parameterGroupDesc) {
            return parameterGroupDesc(Output.of(parameterGroupDesc));
        }

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

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

        public RdsParameterGroupArgs build() {
            if ($.engine == null) {
                throw new MissingRequiredPropertyException("RdsParameterGroupArgs", "engine");
            }
            if ($.engineVersion == null) {
                throw new MissingRequiredPropertyException("RdsParameterGroupArgs", "engineVersion");
            }
            if ($.paramDetails == null) {
                throw new MissingRequiredPropertyException("RdsParameterGroupArgs", "paramDetails");
            }
            if ($.parameterGroupName == null) {
                throw new MissingRequiredPropertyException("RdsParameterGroupArgs", "parameterGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy