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

com.pulumi.aws.dynamodb.TableExportArgs 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.60.0-alpha.1731982519
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.dynamodb;

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


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

    public static final TableExportArgs Empty = new TableExportArgs();

    /**
     * Format for the exported data. Valid values are `DYNAMODB_JSON` or `ION`. See the [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport.Output.html#S3DataExport.Output_Data) for more information on these export formats. Default is `DYNAMODB_JSON`.
     * 
     */
    @Import(name="exportFormat")
    private @Nullable Output exportFormat;

    /**
     * @return Format for the exported data. Valid values are `DYNAMODB_JSON` or `ION`. See the [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport.Output.html#S3DataExport.Output_Data) for more information on these export formats. Default is `DYNAMODB_JSON`.
     * 
     */
    public Optional> exportFormat() {
        return Optional.ofNullable(this.exportFormat);
    }

    /**
     * Time in RFC3339 format from which to export table data. The table export will be a snapshot of the table's state at this point in time. Omitting this value will result in a snapshot from the current time.
     * 
     */
    @Import(name="exportTime")
    private @Nullable Output exportTime;

    /**
     * @return Time in RFC3339 format from which to export table data. The table export will be a snapshot of the table's state at this point in time. Omitting this value will result in a snapshot from the current time.
     * 
     */
    public Optional> exportTime() {
        return Optional.ofNullable(this.exportTime);
    }

    /**
     * Name of the Amazon S3 bucket to export the snapshot to. See the [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport_Requesting.html#S3DataExport_Requesting_Permissions) for information on how configure this S3 bucket.
     * 
     */
    @Import(name="s3Bucket", required=true)
    private Output s3Bucket;

    /**
     * @return Name of the Amazon S3 bucket to export the snapshot to. See the [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport_Requesting.html#S3DataExport_Requesting_Permissions) for information on how configure this S3 bucket.
     * 
     */
    public Output s3Bucket() {
        return this.s3Bucket;
    }

    /**
     * ID of the AWS account that owns the bucket the export will be stored in.
     * 
     */
    @Import(name="s3BucketOwner")
    private @Nullable Output s3BucketOwner;

    /**
     * @return ID of the AWS account that owns the bucket the export will be stored in.
     * 
     */
    public Optional> s3BucketOwner() {
        return Optional.ofNullable(this.s3BucketOwner);
    }

    /**
     * Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.
     * 
     */
    @Import(name="s3Prefix")
    private @Nullable Output s3Prefix;

    /**
     * @return Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.
     * 
     */
    public Optional> s3Prefix() {
        return Optional.ofNullable(this.s3Prefix);
    }

    /**
     * Type of encryption used on the bucket where export data will be stored. Valid values are: `AES256`, `KMS`.
     * 
     */
    @Import(name="s3SseAlgorithm")
    private @Nullable Output s3SseAlgorithm;

    /**
     * @return Type of encryption used on the bucket where export data will be stored. Valid values are: `AES256`, `KMS`.
     * 
     */
    public Optional> s3SseAlgorithm() {
        return Optional.ofNullable(this.s3SseAlgorithm);
    }

    /**
     * ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).
     * 
     */
    @Import(name="s3SseKmsKeyId")
    private @Nullable Output s3SseKmsKeyId;

    /**
     * @return ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).
     * 
     */
    public Optional> s3SseKmsKeyId() {
        return Optional.ofNullable(this.s3SseKmsKeyId);
    }

    /**
     * ARN associated with the table to export.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="tableArn", required=true)
    private Output tableArn;

    /**
     * @return ARN associated with the table to export.
     * 
     * The following arguments are optional:
     * 
     */
    public Output tableArn() {
        return this.tableArn;
    }

    private TableExportArgs() {}

    private TableExportArgs(TableExportArgs $) {
        this.exportFormat = $.exportFormat;
        this.exportTime = $.exportTime;
        this.s3Bucket = $.s3Bucket;
        this.s3BucketOwner = $.s3BucketOwner;
        this.s3Prefix = $.s3Prefix;
        this.s3SseAlgorithm = $.s3SseAlgorithm;
        this.s3SseKmsKeyId = $.s3SseKmsKeyId;
        this.tableArn = $.tableArn;
    }

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

    public static final class Builder {
        private TableExportArgs $;

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

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

        /**
         * @param exportFormat Format for the exported data. Valid values are `DYNAMODB_JSON` or `ION`. See the [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport.Output.html#S3DataExport.Output_Data) for more information on these export formats. Default is `DYNAMODB_JSON`.
         * 
         * @return builder
         * 
         */
        public Builder exportFormat(@Nullable Output exportFormat) {
            $.exportFormat = exportFormat;
            return this;
        }

        /**
         * @param exportFormat Format for the exported data. Valid values are `DYNAMODB_JSON` or `ION`. See the [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport.Output.html#S3DataExport.Output_Data) for more information on these export formats. Default is `DYNAMODB_JSON`.
         * 
         * @return builder
         * 
         */
        public Builder exportFormat(String exportFormat) {
            return exportFormat(Output.of(exportFormat));
        }

        /**
         * @param exportTime Time in RFC3339 format from which to export table data. The table export will be a snapshot of the table's state at this point in time. Omitting this value will result in a snapshot from the current time.
         * 
         * @return builder
         * 
         */
        public Builder exportTime(@Nullable Output exportTime) {
            $.exportTime = exportTime;
            return this;
        }

        /**
         * @param exportTime Time in RFC3339 format from which to export table data. The table export will be a snapshot of the table's state at this point in time. Omitting this value will result in a snapshot from the current time.
         * 
         * @return builder
         * 
         */
        public Builder exportTime(String exportTime) {
            return exportTime(Output.of(exportTime));
        }

        /**
         * @param s3Bucket Name of the Amazon S3 bucket to export the snapshot to. See the [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport_Requesting.html#S3DataExport_Requesting_Permissions) for information on how configure this S3 bucket.
         * 
         * @return builder
         * 
         */
        public Builder s3Bucket(Output s3Bucket) {
            $.s3Bucket = s3Bucket;
            return this;
        }

        /**
         * @param s3Bucket Name of the Amazon S3 bucket to export the snapshot to. See the [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport_Requesting.html#S3DataExport_Requesting_Permissions) for information on how configure this S3 bucket.
         * 
         * @return builder
         * 
         */
        public Builder s3Bucket(String s3Bucket) {
            return s3Bucket(Output.of(s3Bucket));
        }

        /**
         * @param s3BucketOwner ID of the AWS account that owns the bucket the export will be stored in.
         * 
         * @return builder
         * 
         */
        public Builder s3BucketOwner(@Nullable Output s3BucketOwner) {
            $.s3BucketOwner = s3BucketOwner;
            return this;
        }

        /**
         * @param s3BucketOwner ID of the AWS account that owns the bucket the export will be stored in.
         * 
         * @return builder
         * 
         */
        public Builder s3BucketOwner(String s3BucketOwner) {
            return s3BucketOwner(Output.of(s3BucketOwner));
        }

        /**
         * @param s3Prefix Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.
         * 
         * @return builder
         * 
         */
        public Builder s3Prefix(@Nullable Output s3Prefix) {
            $.s3Prefix = s3Prefix;
            return this;
        }

        /**
         * @param s3Prefix Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.
         * 
         * @return builder
         * 
         */
        public Builder s3Prefix(String s3Prefix) {
            return s3Prefix(Output.of(s3Prefix));
        }

        /**
         * @param s3SseAlgorithm Type of encryption used on the bucket where export data will be stored. Valid values are: `AES256`, `KMS`.
         * 
         * @return builder
         * 
         */
        public Builder s3SseAlgorithm(@Nullable Output s3SseAlgorithm) {
            $.s3SseAlgorithm = s3SseAlgorithm;
            return this;
        }

        /**
         * @param s3SseAlgorithm Type of encryption used on the bucket where export data will be stored. Valid values are: `AES256`, `KMS`.
         * 
         * @return builder
         * 
         */
        public Builder s3SseAlgorithm(String s3SseAlgorithm) {
            return s3SseAlgorithm(Output.of(s3SseAlgorithm));
        }

        /**
         * @param s3SseKmsKeyId ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).
         * 
         * @return builder
         * 
         */
        public Builder s3SseKmsKeyId(@Nullable Output s3SseKmsKeyId) {
            $.s3SseKmsKeyId = s3SseKmsKeyId;
            return this;
        }

        /**
         * @param s3SseKmsKeyId ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).
         * 
         * @return builder
         * 
         */
        public Builder s3SseKmsKeyId(String s3SseKmsKeyId) {
            return s3SseKmsKeyId(Output.of(s3SseKmsKeyId));
        }

        /**
         * @param tableArn ARN associated with the table to export.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder tableArn(Output tableArn) {
            $.tableArn = tableArn;
            return this;
        }

        /**
         * @param tableArn ARN associated with the table to export.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder tableArn(String tableArn) {
            return tableArn(Output.of(tableArn));
        }

        public TableExportArgs build() {
            if ($.s3Bucket == null) {
                throw new MissingRequiredPropertyException("TableExportArgs", "s3Bucket");
            }
            if ($.tableArn == null) {
                throw new MissingRequiredPropertyException("TableExportArgs", "tableArn");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy