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

com.pulumi.aws.rds.inputs.OptionGroupOptionArgs Maven / Gradle / Ivy

// *** 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.aws.rds.inputs;

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


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

    public static final OptionGroupOptionArgs Empty = new OptionGroupOptionArgs();

    /**
     * List of DB Security Groups for which the option is enabled.
     * 
     */
    @Import(name="dbSecurityGroupMemberships")
    private @Nullable Output> dbSecurityGroupMemberships;

    /**
     * @return List of DB Security Groups for which the option is enabled.
     * 
     */
    public Optional>> dbSecurityGroupMemberships() {
        return Optional.ofNullable(this.dbSecurityGroupMemberships);
    }

    /**
     * Name of the option (e.g., MEMCACHED).
     * 
     */
    @Import(name="optionName", required=true)
    private Output optionName;

    /**
     * @return Name of the option (e.g., MEMCACHED).
     * 
     */
    public Output optionName() {
        return this.optionName;
    }

    /**
     * The option settings to apply. See `option_settings` Block below for more details.
     * 
     */
    @Import(name="optionSettings")
    private @Nullable Output> optionSettings;

    /**
     * @return The option settings to apply. See `option_settings` Block below for more details.
     * 
     */
    public Optional>> optionSettings() {
        return Optional.ofNullable(this.optionSettings);
    }

    /**
     * Port number when connecting to the option (e.g., 11211). Leaving out or removing `port` from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including `port` in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.
     * 
     */
    @Import(name="port")
    private @Nullable Output port;

    /**
     * @return Port number when connecting to the option (e.g., 11211). Leaving out or removing `port` from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including `port` in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.
     * 
     */
    public Optional> port() {
        return Optional.ofNullable(this.port);
    }

    /**
     * Version of the option (e.g., 13.1.0.0). Leaving out or removing `version` from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including `version` in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return Version of the option (e.g., 13.1.0.0). Leaving out or removing `version` from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including `version` in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    /**
     * List of VPC Security Groups for which the option is enabled.
     * 
     */
    @Import(name="vpcSecurityGroupMemberships")
    private @Nullable Output> vpcSecurityGroupMemberships;

    /**
     * @return List of VPC Security Groups for which the option is enabled.
     * 
     */
    public Optional>> vpcSecurityGroupMemberships() {
        return Optional.ofNullable(this.vpcSecurityGroupMemberships);
    }

    private OptionGroupOptionArgs() {}

    private OptionGroupOptionArgs(OptionGroupOptionArgs $) {
        this.dbSecurityGroupMemberships = $.dbSecurityGroupMemberships;
        this.optionName = $.optionName;
        this.optionSettings = $.optionSettings;
        this.port = $.port;
        this.version = $.version;
        this.vpcSecurityGroupMemberships = $.vpcSecurityGroupMemberships;
    }

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

    public static final class Builder {
        private OptionGroupOptionArgs $;

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

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

        /**
         * @param dbSecurityGroupMemberships List of DB Security Groups for which the option is enabled.
         * 
         * @return builder
         * 
         */
        public Builder dbSecurityGroupMemberships(@Nullable Output> dbSecurityGroupMemberships) {
            $.dbSecurityGroupMemberships = dbSecurityGroupMemberships;
            return this;
        }

        /**
         * @param dbSecurityGroupMemberships List of DB Security Groups for which the option is enabled.
         * 
         * @return builder
         * 
         */
        public Builder dbSecurityGroupMemberships(List dbSecurityGroupMemberships) {
            return dbSecurityGroupMemberships(Output.of(dbSecurityGroupMemberships));
        }

        /**
         * @param dbSecurityGroupMemberships List of DB Security Groups for which the option is enabled.
         * 
         * @return builder
         * 
         */
        public Builder dbSecurityGroupMemberships(String... dbSecurityGroupMemberships) {
            return dbSecurityGroupMemberships(List.of(dbSecurityGroupMemberships));
        }

        /**
         * @param optionName Name of the option (e.g., MEMCACHED).
         * 
         * @return builder
         * 
         */
        public Builder optionName(Output optionName) {
            $.optionName = optionName;
            return this;
        }

        /**
         * @param optionName Name of the option (e.g., MEMCACHED).
         * 
         * @return builder
         * 
         */
        public Builder optionName(String optionName) {
            return optionName(Output.of(optionName));
        }

        /**
         * @param optionSettings The option settings to apply. See `option_settings` Block below for more details.
         * 
         * @return builder
         * 
         */
        public Builder optionSettings(@Nullable Output> optionSettings) {
            $.optionSettings = optionSettings;
            return this;
        }

        /**
         * @param optionSettings The option settings to apply. See `option_settings` Block below for more details.
         * 
         * @return builder
         * 
         */
        public Builder optionSettings(List optionSettings) {
            return optionSettings(Output.of(optionSettings));
        }

        /**
         * @param optionSettings The option settings to apply. See `option_settings` Block below for more details.
         * 
         * @return builder
         * 
         */
        public Builder optionSettings(OptionGroupOptionOptionSettingArgs... optionSettings) {
            return optionSettings(List.of(optionSettings));
        }

        /**
         * @param port Port number when connecting to the option (e.g., 11211). Leaving out or removing `port` from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including `port` in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.
         * 
         * @return builder
         * 
         */
        public Builder port(@Nullable Output port) {
            $.port = port;
            return this;
        }

        /**
         * @param port Port number when connecting to the option (e.g., 11211). Leaving out or removing `port` from your configuration does not remove or clear a port from the option in AWS. AWS may assign a default port. Not including `port` in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any port changes.
         * 
         * @return builder
         * 
         */
        public Builder port(Integer port) {
            return port(Output.of(port));
        }

        /**
         * @param version Version of the option (e.g., 13.1.0.0). Leaving out or removing `version` from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including `version` in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version Version of the option (e.g., 13.1.0.0). Leaving out or removing `version` from your configuration does not remove or clear a version from the option in AWS. AWS may assign a default version. Not including `version` in your configuration means that the AWS provider will ignore a previously set value, a value set by AWS, and any version changes.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        /**
         * @param vpcSecurityGroupMemberships List of VPC Security Groups for which the option is enabled.
         * 
         * @return builder
         * 
         */
        public Builder vpcSecurityGroupMemberships(@Nullable Output> vpcSecurityGroupMemberships) {
            $.vpcSecurityGroupMemberships = vpcSecurityGroupMemberships;
            return this;
        }

        /**
         * @param vpcSecurityGroupMemberships List of VPC Security Groups for which the option is enabled.
         * 
         * @return builder
         * 
         */
        public Builder vpcSecurityGroupMemberships(List vpcSecurityGroupMemberships) {
            return vpcSecurityGroupMemberships(Output.of(vpcSecurityGroupMemberships));
        }

        /**
         * @param vpcSecurityGroupMemberships List of VPC Security Groups for which the option is enabled.
         * 
         * @return builder
         * 
         */
        public Builder vpcSecurityGroupMemberships(String... vpcSecurityGroupMemberships) {
            return vpcSecurityGroupMemberships(List.of(vpcSecurityGroupMemberships));
        }

        public OptionGroupOptionArgs build() {
            if ($.optionName == null) {
                throw new MissingRequiredPropertyException("OptionGroupOptionArgs", "optionName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy