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

com.pulumi.aws.rds.CustomDbEngineVersionArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.72.0
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.aws.rds;

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


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

    public static final CustomDbEngineVersionArgs Empty = new CustomDbEngineVersionArgs();

    /**
     * The name of the Amazon S3 bucket that contains the database installation files.
     * 
     */
    @Import(name="databaseInstallationFilesS3BucketName")
    private @Nullable Output databaseInstallationFilesS3BucketName;

    /**
     * @return The name of the Amazon S3 bucket that contains the database installation files.
     * 
     */
    public Optional> databaseInstallationFilesS3BucketName() {
        return Optional.ofNullable(this.databaseInstallationFilesS3BucketName);
    }

    /**
     * The prefix for the Amazon S3 bucket that contains the database installation files.
     * 
     */
    @Import(name="databaseInstallationFilesS3Prefix")
    private @Nullable Output databaseInstallationFilesS3Prefix;

    /**
     * @return The prefix for the Amazon S3 bucket that contains the database installation files.
     * 
     */
    public Optional> databaseInstallationFilesS3Prefix() {
        return Optional.ofNullable(this.databaseInstallationFilesS3Prefix);
    }

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

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

    /**
     * The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
     * 
     */
    @Import(name="engine", required=true)
    private Output engine;

    /**
     * @return The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
     * 
     */
    public Output engine() {
        return this.engine;
    }

    /**
     * The version of the database engine.
     * 
     */
    @Import(name="engineVersion", required=true)
    private Output engineVersion;

    /**
     * @return The version of the database engine.
     * 
     */
    public Output engineVersion() {
        return this.engineVersion;
    }

    /**
     * The name of the manifest file within the local filesystem. Conflicts with `manifest`.
     * 
     */
    @Import(name="filename")
    private @Nullable Output filename;

    /**
     * @return The name of the manifest file within the local filesystem. Conflicts with `manifest`.
     * 
     */
    public Optional> filename() {
        return Optional.ofNullable(this.filename);
    }

    /**
     * The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
     * 
     */
    @Import(name="kmsKeyId")
    private @Nullable Output kmsKeyId;

    /**
     * @return The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
     * 
     */
    public Optional> kmsKeyId() {
        return Optional.ofNullable(this.kmsKeyId);
    }

    /**
     * The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
     * 
     */
    @Import(name="manifest")
    private @Nullable Output manifest;

    /**
     * @return The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
     * 
     */
    public Optional> manifest() {
        return Optional.ofNullable(this.manifest);
    }

    /**
     * Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
     * 
     */
    @Import(name="manifestHash")
    private @Nullable Output manifestHash;

    /**
     * @return Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
     * 
     */
    public Optional> manifestHash() {
        return Optional.ofNullable(this.manifestHash);
    }

    /**
     * The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
     * 
     */
    @Import(name="sourceImageId")
    private @Nullable Output sourceImageId;

    /**
     * @return The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
     * 
     */
    public Optional> sourceImageId() {
        return Optional.ofNullable(this.sourceImageId);
    }

    /**
     * The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * A mapping of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private CustomDbEngineVersionArgs() {}

    private CustomDbEngineVersionArgs(CustomDbEngineVersionArgs $) {
        this.databaseInstallationFilesS3BucketName = $.databaseInstallationFilesS3BucketName;
        this.databaseInstallationFilesS3Prefix = $.databaseInstallationFilesS3Prefix;
        this.description = $.description;
        this.engine = $.engine;
        this.engineVersion = $.engineVersion;
        this.filename = $.filename;
        this.kmsKeyId = $.kmsKeyId;
        this.manifest = $.manifest;
        this.manifestHash = $.manifestHash;
        this.sourceImageId = $.sourceImageId;
        this.status = $.status;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private CustomDbEngineVersionArgs $;

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

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

        /**
         * @param databaseInstallationFilesS3BucketName The name of the Amazon S3 bucket that contains the database installation files.
         * 
         * @return builder
         * 
         */
        public Builder databaseInstallationFilesS3BucketName(@Nullable Output databaseInstallationFilesS3BucketName) {
            $.databaseInstallationFilesS3BucketName = databaseInstallationFilesS3BucketName;
            return this;
        }

        /**
         * @param databaseInstallationFilesS3BucketName The name of the Amazon S3 bucket that contains the database installation files.
         * 
         * @return builder
         * 
         */
        public Builder databaseInstallationFilesS3BucketName(String databaseInstallationFilesS3BucketName) {
            return databaseInstallationFilesS3BucketName(Output.of(databaseInstallationFilesS3BucketName));
        }

        /**
         * @param databaseInstallationFilesS3Prefix The prefix for the Amazon S3 bucket that contains the database installation files.
         * 
         * @return builder
         * 
         */
        public Builder databaseInstallationFilesS3Prefix(@Nullable Output databaseInstallationFilesS3Prefix) {
            $.databaseInstallationFilesS3Prefix = databaseInstallationFilesS3Prefix;
            return this;
        }

        /**
         * @param databaseInstallationFilesS3Prefix The prefix for the Amazon S3 bucket that contains the database installation files.
         * 
         * @return builder
         * 
         */
        public Builder databaseInstallationFilesS3Prefix(String databaseInstallationFilesS3Prefix) {
            return databaseInstallationFilesS3Prefix(Output.of(databaseInstallationFilesS3Prefix));
        }

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

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

        /**
         * @param engine The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
         * 
         * @return builder
         * 
         */
        public Builder engine(Output engine) {
            $.engine = engine;
            return this;
        }

        /**
         * @param engine The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
         * 
         * @return builder
         * 
         */
        public Builder engine(String engine) {
            return engine(Output.of(engine));
        }

        /**
         * @param engineVersion The version of the database engine.
         * 
         * @return builder
         * 
         */
        public Builder engineVersion(Output engineVersion) {
            $.engineVersion = engineVersion;
            return this;
        }

        /**
         * @param engineVersion The version of the database engine.
         * 
         * @return builder
         * 
         */
        public Builder engineVersion(String engineVersion) {
            return engineVersion(Output.of(engineVersion));
        }

        /**
         * @param filename The name of the manifest file within the local filesystem. Conflicts with `manifest`.
         * 
         * @return builder
         * 
         */
        public Builder filename(@Nullable Output filename) {
            $.filename = filename;
            return this;
        }

        /**
         * @param filename The name of the manifest file within the local filesystem. Conflicts with `manifest`.
         * 
         * @return builder
         * 
         */
        public Builder filename(String filename) {
            return filename(Output.of(filename));
        }

        /**
         * @param kmsKeyId The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyId(@Nullable Output kmsKeyId) {
            $.kmsKeyId = kmsKeyId;
            return this;
        }

        /**
         * @param kmsKeyId The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyId(String kmsKeyId) {
            return kmsKeyId(Output.of(kmsKeyId));
        }

        /**
         * @param manifest The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
         * 
         * @return builder
         * 
         */
        public Builder manifest(@Nullable Output manifest) {
            $.manifest = manifest;
            return this;
        }

        /**
         * @param manifest The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
         * 
         * @return builder
         * 
         */
        public Builder manifest(String manifest) {
            return manifest(Output.of(manifest));
        }

        /**
         * @param manifestHash Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
         * 
         * @return builder
         * 
         */
        public Builder manifestHash(@Nullable Output manifestHash) {
            $.manifestHash = manifestHash;
            return this;
        }

        /**
         * @param manifestHash Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
         * 
         * @return builder
         * 
         */
        public Builder manifestHash(String manifestHash) {
            return manifestHash(Output.of(manifestHash));
        }

        /**
         * @param sourceImageId The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
         * 
         * @return builder
         * 
         */
        public Builder sourceImageId(@Nullable Output sourceImageId) {
            $.sourceImageId = sourceImageId;
            return this;
        }

        /**
         * @param sourceImageId The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
         * 
         * @return builder
         * 
         */
        public Builder sourceImageId(String sourceImageId) {
            return sourceImageId(Output.of(sourceImageId));
        }

        /**
         * @param status The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param tags A mapping of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy