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

com.pulumi.azurenative.awsconnector.inputs.AwsRdsExportTaskPropertiesArgs 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.azurenative.awsconnector.inputs;

import com.pulumi.azurenative.awsconnector.inputs.ExportSourceTypeEnumValueArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of awsRdsExportTask
 * 
 */
public final class AwsRdsExportTaskPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final AwsRdsExportTaskPropertiesArgs Empty = new AwsRdsExportTaskPropertiesArgs();

    /**
     * <p>The data exported from the snapshot or cluster.</p> <p>Valid Values:</p> <ul> <li> <p> <code>database</code> - Export all the data from a specified database.</p> </li> <li> <p> <code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p> </li> <li> <p> <code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> <li> <p> <code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> </ul>
     * 
     */
    @Import(name="exportOnly")
    private @Nullable Output> exportOnly;

    /**
     * @return <p>The data exported from the snapshot or cluster.</p> <p>Valid Values:</p> <ul> <li> <p> <code>database</code> - Export all the data from a specified database.</p> </li> <li> <p> <code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p> </li> <li> <p> <code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> <li> <p> <code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> </ul>
     * 
     */
    public Optional>> exportOnly() {
        return Optional.ofNullable(this.exportOnly);
    }

    /**
     * <p>A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.</p>
     * 
     */
    @Import(name="exportTaskIdentifier")
    private @Nullable Output exportTaskIdentifier;

    /**
     * @return <p>A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.</p>
     * 
     */
    public Optional> exportTaskIdentifier() {
        return Optional.ofNullable(this.exportTaskIdentifier);
    }

    /**
     * <p>The reason the export failed, if it failed.</p>
     * 
     */
    @Import(name="failureCause")
    private @Nullable Output failureCause;

    /**
     * @return <p>The reason the export failed, if it failed.</p>
     * 
     */
    public Optional> failureCause() {
        return Optional.ofNullable(this.failureCause);
    }

    /**
     * <p>The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.</p>
     * 
     */
    @Import(name="iamRoleArn")
    private @Nullable Output iamRoleArn;

    /**
     * @return <p>The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.</p>
     * 
     */
    public Optional> iamRoleArn() {
        return Optional.ofNullable(this.iamRoleArn);
    }

    /**
     * <p>The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.</p>
     * 
     */
    @Import(name="kmsKeyId")
    private @Nullable Output kmsKeyId;

    /**
     * @return <p>The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.</p>
     * 
     */
    public Optional> kmsKeyId() {
        return Optional.ofNullable(this.kmsKeyId);
    }

    /**
     * <p>The progress of the snapshot or cluster export task as a percentage.</p>
     * 
     */
    @Import(name="percentProgress")
    private @Nullable Output percentProgress;

    /**
     * @return <p>The progress of the snapshot or cluster export task as a percentage.</p>
     * 
     */
    public Optional> percentProgress() {
        return Optional.ofNullable(this.percentProgress);
    }

    /**
     * <p>The Amazon S3 bucket where the snapshot or cluster is exported to.</p>
     * 
     */
    @Import(name="s3Bucket")
    private @Nullable Output s3Bucket;

    /**
     * @return <p>The Amazon S3 bucket where the snapshot or cluster is exported to.</p>
     * 
     */
    public Optional> s3Bucket() {
        return Optional.ofNullable(this.s3Bucket);
    }

    /**
     * <p>The Amazon S3 bucket prefix that is the file name and path of the exported data.</p>
     * 
     */
    @Import(name="s3Prefix")
    private @Nullable Output s3Prefix;

    /**
     * @return <p>The Amazon S3 bucket prefix that is the file name and path of the exported data.</p>
     * 
     */
    public Optional> s3Prefix() {
        return Optional.ofNullable(this.s3Prefix);
    }

    /**
     * <p>The time when the snapshot was created.</p>
     * 
     */
    @Import(name="snapshotTime")
    private @Nullable Output snapshotTime;

    /**
     * @return <p>The time when the snapshot was created.</p>
     * 
     */
    public Optional> snapshotTime() {
        return Optional.ofNullable(this.snapshotTime);
    }

    /**
     * <p>The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.</p>
     * 
     */
    @Import(name="sourceArn")
    private @Nullable Output sourceArn;

    /**
     * @return <p>The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.</p>
     * 
     */
    public Optional> sourceArn() {
        return Optional.ofNullable(this.sourceArn);
    }

    /**
     * <p>The type of source for the export.</p>
     * 
     */
    @Import(name="sourceType")
    private @Nullable Output sourceType;

    /**
     * @return <p>The type of source for the export.</p>
     * 
     */
    public Optional> sourceType() {
        return Optional.ofNullable(this.sourceType);
    }

    /**
     * <p>The progress status of the export task. The status can be one of the following:</p> <ul> <li> <p> <code>CANCELED</code> </p> </li> <li> <p> <code>CANCELING</code> </p> </li> <li> <p> <code>COMPLETE</code> </p> </li> <li> <p> <code>FAILED</code> </p> </li> <li> <p> <code>IN_PROGRESS</code> </p> </li> <li> <p> <code>STARTING</code> </p> </li> </ul>
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return <p>The progress status of the export task. The status can be one of the following:</p> <ul> <li> <p> <code>CANCELED</code> </p> </li> <li> <p> <code>CANCELING</code> </p> </li> <li> <p> <code>COMPLETE</code> </p> </li> <li> <p> <code>FAILED</code> </p> </li> <li> <p> <code>IN_PROGRESS</code> </p> </li> <li> <p> <code>STARTING</code> </p> </li> </ul>
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * <p>The time when the snapshot or cluster export task ended.</p>
     * 
     */
    @Import(name="taskEndTime")
    private @Nullable Output taskEndTime;

    /**
     * @return <p>The time when the snapshot or cluster export task ended.</p>
     * 
     */
    public Optional> taskEndTime() {
        return Optional.ofNullable(this.taskEndTime);
    }

    /**
     * <p>The time when the snapshot or cluster export task started.</p>
     * 
     */
    @Import(name="taskStartTime")
    private @Nullable Output taskStartTime;

    /**
     * @return <p>The time when the snapshot or cluster export task started.</p>
     * 
     */
    public Optional> taskStartTime() {
        return Optional.ofNullable(this.taskStartTime);
    }

    /**
     * <p>The total amount of data exported, in gigabytes.</p>
     * 
     */
    @Import(name="totalExtractedDataInGB")
    private @Nullable Output totalExtractedDataInGB;

    /**
     * @return <p>The total amount of data exported, in gigabytes.</p>
     * 
     */
    public Optional> totalExtractedDataInGB() {
        return Optional.ofNullable(this.totalExtractedDataInGB);
    }

    /**
     * <p>A warning about the snapshot or cluster export task.</p>
     * 
     */
    @Import(name="warningMessage")
    private @Nullable Output warningMessage;

    /**
     * @return <p>A warning about the snapshot or cluster export task.</p>
     * 
     */
    public Optional> warningMessage() {
        return Optional.ofNullable(this.warningMessage);
    }

    private AwsRdsExportTaskPropertiesArgs() {}

    private AwsRdsExportTaskPropertiesArgs(AwsRdsExportTaskPropertiesArgs $) {
        this.exportOnly = $.exportOnly;
        this.exportTaskIdentifier = $.exportTaskIdentifier;
        this.failureCause = $.failureCause;
        this.iamRoleArn = $.iamRoleArn;
        this.kmsKeyId = $.kmsKeyId;
        this.percentProgress = $.percentProgress;
        this.s3Bucket = $.s3Bucket;
        this.s3Prefix = $.s3Prefix;
        this.snapshotTime = $.snapshotTime;
        this.sourceArn = $.sourceArn;
        this.sourceType = $.sourceType;
        this.status = $.status;
        this.taskEndTime = $.taskEndTime;
        this.taskStartTime = $.taskStartTime;
        this.totalExtractedDataInGB = $.totalExtractedDataInGB;
        this.warningMessage = $.warningMessage;
    }

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

    public static final class Builder {
        private AwsRdsExportTaskPropertiesArgs $;

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

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

        /**
         * @param exportOnly <p>The data exported from the snapshot or cluster.</p> <p>Valid Values:</p> <ul> <li> <p> <code>database</code> - Export all the data from a specified database.</p> </li> <li> <p> <code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p> </li> <li> <p> <code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> <li> <p> <code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> </ul>
         * 
         * @return builder
         * 
         */
        public Builder exportOnly(@Nullable Output> exportOnly) {
            $.exportOnly = exportOnly;
            return this;
        }

        /**
         * @param exportOnly <p>The data exported from the snapshot or cluster.</p> <p>Valid Values:</p> <ul> <li> <p> <code>database</code> - Export all the data from a specified database.</p> </li> <li> <p> <code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p> </li> <li> <p> <code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> <li> <p> <code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> </ul>
         * 
         * @return builder
         * 
         */
        public Builder exportOnly(List exportOnly) {
            return exportOnly(Output.of(exportOnly));
        }

        /**
         * @param exportOnly <p>The data exported from the snapshot or cluster.</p> <p>Valid Values:</p> <ul> <li> <p> <code>database</code> - Export all the data from a specified database.</p> </li> <li> <p> <code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p> </li> <li> <p> <code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> <li> <p> <code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p> </li> </ul>
         * 
         * @return builder
         * 
         */
        public Builder exportOnly(String... exportOnly) {
            return exportOnly(List.of(exportOnly));
        }

        /**
         * @param exportTaskIdentifier <p>A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.</p>
         * 
         * @return builder
         * 
         */
        public Builder exportTaskIdentifier(@Nullable Output exportTaskIdentifier) {
            $.exportTaskIdentifier = exportTaskIdentifier;
            return this;
        }

        /**
         * @param exportTaskIdentifier <p>A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.</p>
         * 
         * @return builder
         * 
         */
        public Builder exportTaskIdentifier(String exportTaskIdentifier) {
            return exportTaskIdentifier(Output.of(exportTaskIdentifier));
        }

        /**
         * @param failureCause <p>The reason the export failed, if it failed.</p>
         * 
         * @return builder
         * 
         */
        public Builder failureCause(@Nullable Output failureCause) {
            $.failureCause = failureCause;
            return this;
        }

        /**
         * @param failureCause <p>The reason the export failed, if it failed.</p>
         * 
         * @return builder
         * 
         */
        public Builder failureCause(String failureCause) {
            return failureCause(Output.of(failureCause));
        }

        /**
         * @param iamRoleArn <p>The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.</p>
         * 
         * @return builder
         * 
         */
        public Builder iamRoleArn(@Nullable Output iamRoleArn) {
            $.iamRoleArn = iamRoleArn;
            return this;
        }

        /**
         * @param iamRoleArn <p>The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.</p>
         * 
         * @return builder
         * 
         */
        public Builder iamRoleArn(String iamRoleArn) {
            return iamRoleArn(Output.of(iamRoleArn));
        }

        /**
         * @param kmsKeyId <p>The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.</p>
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyId(@Nullable Output kmsKeyId) {
            $.kmsKeyId = kmsKeyId;
            return this;
        }

        /**
         * @param kmsKeyId <p>The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.</p>
         * 
         * @return builder
         * 
         */
        public Builder kmsKeyId(String kmsKeyId) {
            return kmsKeyId(Output.of(kmsKeyId));
        }

        /**
         * @param percentProgress <p>The progress of the snapshot or cluster export task as a percentage.</p>
         * 
         * @return builder
         * 
         */
        public Builder percentProgress(@Nullable Output percentProgress) {
            $.percentProgress = percentProgress;
            return this;
        }

        /**
         * @param percentProgress <p>The progress of the snapshot or cluster export task as a percentage.</p>
         * 
         * @return builder
         * 
         */
        public Builder percentProgress(Integer percentProgress) {
            return percentProgress(Output.of(percentProgress));
        }

        /**
         * @param s3Bucket <p>The Amazon S3 bucket where the snapshot or cluster is exported to.</p>
         * 
         * @return builder
         * 
         */
        public Builder s3Bucket(@Nullable Output s3Bucket) {
            $.s3Bucket = s3Bucket;
            return this;
        }

        /**
         * @param s3Bucket <p>The Amazon S3 bucket where the snapshot or cluster is exported to.</p>
         * 
         * @return builder
         * 
         */
        public Builder s3Bucket(String s3Bucket) {
            return s3Bucket(Output.of(s3Bucket));
        }

        /**
         * @param s3Prefix <p>The Amazon S3 bucket prefix that is the file name and path of the exported data.</p>
         * 
         * @return builder
         * 
         */
        public Builder s3Prefix(@Nullable Output s3Prefix) {
            $.s3Prefix = s3Prefix;
            return this;
        }

        /**
         * @param s3Prefix <p>The Amazon S3 bucket prefix that is the file name and path of the exported data.</p>
         * 
         * @return builder
         * 
         */
        public Builder s3Prefix(String s3Prefix) {
            return s3Prefix(Output.of(s3Prefix));
        }

        /**
         * @param snapshotTime <p>The time when the snapshot was created.</p>
         * 
         * @return builder
         * 
         */
        public Builder snapshotTime(@Nullable Output snapshotTime) {
            $.snapshotTime = snapshotTime;
            return this;
        }

        /**
         * @param snapshotTime <p>The time when the snapshot was created.</p>
         * 
         * @return builder
         * 
         */
        public Builder snapshotTime(String snapshotTime) {
            return snapshotTime(Output.of(snapshotTime));
        }

        /**
         * @param sourceArn <p>The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.</p>
         * 
         * @return builder
         * 
         */
        public Builder sourceArn(@Nullable Output sourceArn) {
            $.sourceArn = sourceArn;
            return this;
        }

        /**
         * @param sourceArn <p>The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.</p>
         * 
         * @return builder
         * 
         */
        public Builder sourceArn(String sourceArn) {
            return sourceArn(Output.of(sourceArn));
        }

        /**
         * @param sourceType <p>The type of source for the export.</p>
         * 
         * @return builder
         * 
         */
        public Builder sourceType(@Nullable Output sourceType) {
            $.sourceType = sourceType;
            return this;
        }

        /**
         * @param sourceType <p>The type of source for the export.</p>
         * 
         * @return builder
         * 
         */
        public Builder sourceType(ExportSourceTypeEnumValueArgs sourceType) {
            return sourceType(Output.of(sourceType));
        }

        /**
         * @param status <p>The progress status of the export task. The status can be one of the following:</p> <ul> <li> <p> <code>CANCELED</code> </p> </li> <li> <p> <code>CANCELING</code> </p> </li> <li> <p> <code>COMPLETE</code> </p> </li> <li> <p> <code>FAILED</code> </p> </li> <li> <p> <code>IN_PROGRESS</code> </p> </li> <li> <p> <code>STARTING</code> </p> </li> </ul>
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status <p>The progress status of the export task. The status can be one of the following:</p> <ul> <li> <p> <code>CANCELED</code> </p> </li> <li> <p> <code>CANCELING</code> </p> </li> <li> <p> <code>COMPLETE</code> </p> </li> <li> <p> <code>FAILED</code> </p> </li> <li> <p> <code>IN_PROGRESS</code> </p> </li> <li> <p> <code>STARTING</code> </p> </li> </ul>
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param taskEndTime <p>The time when the snapshot or cluster export task ended.</p>
         * 
         * @return builder
         * 
         */
        public Builder taskEndTime(@Nullable Output taskEndTime) {
            $.taskEndTime = taskEndTime;
            return this;
        }

        /**
         * @param taskEndTime <p>The time when the snapshot or cluster export task ended.</p>
         * 
         * @return builder
         * 
         */
        public Builder taskEndTime(String taskEndTime) {
            return taskEndTime(Output.of(taskEndTime));
        }

        /**
         * @param taskStartTime <p>The time when the snapshot or cluster export task started.</p>
         * 
         * @return builder
         * 
         */
        public Builder taskStartTime(@Nullable Output taskStartTime) {
            $.taskStartTime = taskStartTime;
            return this;
        }

        /**
         * @param taskStartTime <p>The time when the snapshot or cluster export task started.</p>
         * 
         * @return builder
         * 
         */
        public Builder taskStartTime(String taskStartTime) {
            return taskStartTime(Output.of(taskStartTime));
        }

        /**
         * @param totalExtractedDataInGB <p>The total amount of data exported, in gigabytes.</p>
         * 
         * @return builder
         * 
         */
        public Builder totalExtractedDataInGB(@Nullable Output totalExtractedDataInGB) {
            $.totalExtractedDataInGB = totalExtractedDataInGB;
            return this;
        }

        /**
         * @param totalExtractedDataInGB <p>The total amount of data exported, in gigabytes.</p>
         * 
         * @return builder
         * 
         */
        public Builder totalExtractedDataInGB(Integer totalExtractedDataInGB) {
            return totalExtractedDataInGB(Output.of(totalExtractedDataInGB));
        }

        /**
         * @param warningMessage <p>A warning about the snapshot or cluster export task.</p>
         * 
         * @return builder
         * 
         */
        public Builder warningMessage(@Nullable Output warningMessage) {
            $.warningMessage = warningMessage;
            return this;
        }

        /**
         * @param warningMessage <p>A warning about the snapshot or cluster export task.</p>
         * 
         * @return builder
         * 
         */
        public Builder warningMessage(String warningMessage) {
            return warningMessage(Output.of(warningMessage));
        }

        public AwsRdsExportTaskPropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy