/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.rds.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class StartExportTaskRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* A unique identifier for the export task. This ID isn't an identifier for the Amazon S3 bucket where the data is * to be exported. *
*/ private String exportTaskIdentifier; /** ** The Amazon Resource Name (ARN) of the snapshot or cluster to export to Amazon S3. *
*/ private String sourceArn; /** ** The name of the Amazon S3 bucket to export the snapshot or cluster data to. *
*/ private String s3BucketName; /** ** The name of the IAM role to use for writing to the Amazon S3 bucket when exporting a snapshot or cluster. *
** In the IAM policy attached to your IAM role, include the following required actions to allow the transfer of * files from Amazon RDS or Amazon Aurora to an S3 bucket: *
** s3:PutObject* *
** s3:GetObject* *
** s3:ListBucket *
** s3:DeleteObject* *
** s3:GetBucketLocation *
** In the policy, include the resources to identify the S3 bucket and objects in the bucket. The following list of * resources shows the Amazon Resource Name (ARN) format for accessing S3: *
*
* arn:aws:s3:::your-s3-bucket
*
* arn:aws:s3:::your-s3-bucket/*
*
* The ID of the Amazon Web Services KMS key to use to encrypt the data exported to Amazon S3. The Amazon Web * Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. The caller of this * operation must be authorized to run the following operations. These can be set in the Amazon Web Services KMS key * policy: *
** kms:Encrypt *
** kms:Decrypt *
** kms:GenerateDataKey *
** kms:GenerateDataKeyWithoutPlaintext *
** kms:ReEncryptFrom *
** kms:ReEncryptTo *
** kms:CreateGrant *
** kms:DescribeKey *
** kms:RetireGrant *
** The Amazon S3 bucket prefix to use as the file name and path of the exported data. *
*/ private String s3Prefix; /** ** The data to be exported from the snapshot or cluster. If this parameter is not provided, all of the data is * exported. Valid values are the following: *
*
* database
- Export all the data from a specified database.
*
* database.table
table-name - Export a table of the snapshot or cluster. This format is valid
* only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
*
* database.schema
schema-name - Export a database schema of the snapshot or cluster. This
* format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database.schema.table
table-name - Export a table of the database schema. This format is
* valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* A unique identifier for the export task. This ID isn't an identifier for the Amazon S3 bucket where the data is * to be exported. *
* * @param exportTaskIdentifier * A unique identifier for the export task. This ID isn't an identifier for the Amazon S3 bucket where the * data is to be exported. */ public void setExportTaskIdentifier(String exportTaskIdentifier) { this.exportTaskIdentifier = exportTaskIdentifier; } /** ** A unique identifier for the export task. This ID isn't an identifier for the Amazon S3 bucket where the data is * to be exported. *
* * @return A unique identifier for the export task. This ID isn't an identifier for the Amazon S3 bucket where the * data is to be exported. */ public String getExportTaskIdentifier() { return this.exportTaskIdentifier; } /** ** A unique identifier for the export task. This ID isn't an identifier for the Amazon S3 bucket where the data is * to be exported. *
* * @param exportTaskIdentifier * A unique identifier for the export task. This ID isn't an identifier for the Amazon S3 bucket where the * data is to be exported. * @return Returns a reference to this object so that method calls can be chained together. */ public StartExportTaskRequest withExportTaskIdentifier(String exportTaskIdentifier) { setExportTaskIdentifier(exportTaskIdentifier); return this; } /** ** The Amazon Resource Name (ARN) of the snapshot or cluster to export to Amazon S3. *
* * @param sourceArn * The Amazon Resource Name (ARN) of the snapshot or cluster to export to Amazon S3. */ public void setSourceArn(String sourceArn) { this.sourceArn = sourceArn; } /** ** The Amazon Resource Name (ARN) of the snapshot or cluster to export to Amazon S3. *
* * @return The Amazon Resource Name (ARN) of the snapshot or cluster to export to Amazon S3. */ public String getSourceArn() { return this.sourceArn; } /** ** The Amazon Resource Name (ARN) of the snapshot or cluster to export to Amazon S3. *
* * @param sourceArn * The Amazon Resource Name (ARN) of the snapshot or cluster to export to Amazon S3. * @return Returns a reference to this object so that method calls can be chained together. */ public StartExportTaskRequest withSourceArn(String sourceArn) { setSourceArn(sourceArn); return this; } /** ** The name of the Amazon S3 bucket to export the snapshot or cluster data to. *
* * @param s3BucketName * The name of the Amazon S3 bucket to export the snapshot or cluster data to. */ public void setS3BucketName(String s3BucketName) { this.s3BucketName = s3BucketName; } /** ** The name of the Amazon S3 bucket to export the snapshot or cluster data to. *
* * @return The name of the Amazon S3 bucket to export the snapshot or cluster data to. */ public String getS3BucketName() { return this.s3BucketName; } /** ** The name of the Amazon S3 bucket to export the snapshot or cluster data to. *
* * @param s3BucketName * The name of the Amazon S3 bucket to export the snapshot or cluster data to. * @return Returns a reference to this object so that method calls can be chained together. */ public StartExportTaskRequest withS3BucketName(String s3BucketName) { setS3BucketName(s3BucketName); return this; } /** ** The name of the IAM role to use for writing to the Amazon S3 bucket when exporting a snapshot or cluster. *
** In the IAM policy attached to your IAM role, include the following required actions to allow the transfer of * files from Amazon RDS or Amazon Aurora to an S3 bucket: *
** s3:PutObject* *
** s3:GetObject* *
** s3:ListBucket *
** s3:DeleteObject* *
** s3:GetBucketLocation *
** In the policy, include the resources to identify the S3 bucket and objects in the bucket. The following list of * resources shows the Amazon Resource Name (ARN) format for accessing S3: *
*
* arn:aws:s3:::your-s3-bucket
*
* arn:aws:s3:::your-s3-bucket/*
*
* In the IAM policy attached to your IAM role, include the following required actions to allow the transfer * of files from Amazon RDS or Amazon Aurora to an S3 bucket: *
** s3:PutObject* *
** s3:GetObject* *
** s3:ListBucket *
** s3:DeleteObject* *
** s3:GetBucketLocation *
** In the policy, include the resources to identify the S3 bucket and objects in the bucket. The following * list of resources shows the Amazon Resource Name (ARN) format for accessing S3: *
*
* arn:aws:s3:::your-s3-bucket
*
* arn:aws:s3:::your-s3-bucket/*
*
* The name of the IAM role to use for writing to the Amazon S3 bucket when exporting a snapshot or cluster. *
** In the IAM policy attached to your IAM role, include the following required actions to allow the transfer of * files from Amazon RDS or Amazon Aurora to an S3 bucket: *
** s3:PutObject* *
** s3:GetObject* *
** s3:ListBucket *
** s3:DeleteObject* *
** s3:GetBucketLocation *
** In the policy, include the resources to identify the S3 bucket and objects in the bucket. The following list of * resources shows the Amazon Resource Name (ARN) format for accessing S3: *
*
* arn:aws:s3:::your-s3-bucket
*
* arn:aws:s3:::your-s3-bucket/*
*
* In the IAM policy attached to your IAM role, include the following required actions to allow the transfer * of files from Amazon RDS or Amazon Aurora to an S3 bucket: *
** s3:PutObject* *
** s3:GetObject* *
** s3:ListBucket *
** s3:DeleteObject* *
** s3:GetBucketLocation *
** In the policy, include the resources to identify the S3 bucket and objects in the bucket. The following * list of resources shows the Amazon Resource Name (ARN) format for accessing S3: *
*
* arn:aws:s3:::your-s3-bucket
*
* arn:aws:s3:::your-s3-bucket/*
*
* The name of the IAM role to use for writing to the Amazon S3 bucket when exporting a snapshot or cluster. *
** In the IAM policy attached to your IAM role, include the following required actions to allow the transfer of * files from Amazon RDS or Amazon Aurora to an S3 bucket: *
** s3:PutObject* *
** s3:GetObject* *
** s3:ListBucket *
** s3:DeleteObject* *
** s3:GetBucketLocation *
** In the policy, include the resources to identify the S3 bucket and objects in the bucket. The following list of * resources shows the Amazon Resource Name (ARN) format for accessing S3: *
*
* arn:aws:s3:::your-s3-bucket
*
* arn:aws:s3:::your-s3-bucket/*
*
* In the IAM policy attached to your IAM role, include the following required actions to allow the transfer * of files from Amazon RDS or Amazon Aurora to an S3 bucket: *
** s3:PutObject* *
** s3:GetObject* *
** s3:ListBucket *
** s3:DeleteObject* *
** s3:GetBucketLocation *
** In the policy, include the resources to identify the S3 bucket and objects in the bucket. The following * list of resources shows the Amazon Resource Name (ARN) format for accessing S3: *
*
* arn:aws:s3:::your-s3-bucket
*
* arn:aws:s3:::your-s3-bucket/*
*
* The ID of the Amazon Web Services KMS key to use to encrypt the data exported to Amazon S3. The Amazon Web * Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. The caller of this * operation must be authorized to run the following operations. These can be set in the Amazon Web Services KMS key * policy: *
** kms:Encrypt *
** kms:Decrypt *
** kms:GenerateDataKey *
** kms:GenerateDataKeyWithoutPlaintext *
** kms:ReEncryptFrom *
** kms:ReEncryptTo *
** kms:CreateGrant *
** kms:DescribeKey *
** kms:RetireGrant *
** kms:Encrypt *
** kms:Decrypt *
** kms:GenerateDataKey *
** kms:GenerateDataKeyWithoutPlaintext *
** kms:ReEncryptFrom *
** kms:ReEncryptTo *
** kms:CreateGrant *
** kms:DescribeKey *
** kms:RetireGrant *
** The ID of the Amazon Web Services KMS key to use to encrypt the data exported to Amazon S3. The Amazon Web * Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. The caller of this * operation must be authorized to run the following operations. These can be set in the Amazon Web Services KMS key * policy: *
** kms:Encrypt *
** kms:Decrypt *
** kms:GenerateDataKey *
** kms:GenerateDataKeyWithoutPlaintext *
** kms:ReEncryptFrom *
** kms:ReEncryptTo *
** kms:CreateGrant *
** kms:DescribeKey *
** kms:RetireGrant *
** kms:Encrypt *
** kms:Decrypt *
** kms:GenerateDataKey *
** kms:GenerateDataKeyWithoutPlaintext *
** kms:ReEncryptFrom *
** kms:ReEncryptTo *
** kms:CreateGrant *
** kms:DescribeKey *
** kms:RetireGrant *
** The ID of the Amazon Web Services KMS key to use to encrypt the data exported to Amazon S3. The Amazon Web * Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. The caller of this * operation must be authorized to run the following operations. These can be set in the Amazon Web Services KMS key * policy: *
** kms:Encrypt *
** kms:Decrypt *
** kms:GenerateDataKey *
** kms:GenerateDataKeyWithoutPlaintext *
** kms:ReEncryptFrom *
** kms:ReEncryptTo *
** kms:CreateGrant *
** kms:DescribeKey *
** kms:RetireGrant *
** kms:Encrypt *
** kms:Decrypt *
** kms:GenerateDataKey *
** kms:GenerateDataKeyWithoutPlaintext *
** kms:ReEncryptFrom *
** kms:ReEncryptTo *
** kms:CreateGrant *
** kms:DescribeKey *
** kms:RetireGrant *
** The Amazon S3 bucket prefix to use as the file name and path of the exported data. *
* * @param s3Prefix * The Amazon S3 bucket prefix to use as the file name and path of the exported data. */ public void setS3Prefix(String s3Prefix) { this.s3Prefix = s3Prefix; } /** ** The Amazon S3 bucket prefix to use as the file name and path of the exported data. *
* * @return The Amazon S3 bucket prefix to use as the file name and path of the exported data. */ public String getS3Prefix() { return this.s3Prefix; } /** ** The Amazon S3 bucket prefix to use as the file name and path of the exported data. *
* * @param s3Prefix * The Amazon S3 bucket prefix to use as the file name and path of the exported data. * @return Returns a reference to this object so that method calls can be chained together. */ public StartExportTaskRequest withS3Prefix(String s3Prefix) { setS3Prefix(s3Prefix); return this; } /** ** The data to be exported from the snapshot or cluster. If this parameter is not provided, all of the data is * exported. Valid values are the following: *
*
* database
- Export all the data from a specified database.
*
* database.table
table-name - Export a table of the snapshot or cluster. This format is valid
* only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
*
* database.schema
schema-name - Export a database schema of the snapshot or cluster. This
* format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database.schema.table
table-name - Export a table of the database schema. This format is
* valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database
- Export all the data from a specified database.
*
* database.table
table-name - Export a table of the snapshot or cluster. This format is
* valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
*
* database.schema
schema-name - Export a database schema of the snapshot or cluster.
* This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database.schema.table
table-name - Export a table of the database schema. This format
* is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* The data to be exported from the snapshot or cluster. If this parameter is not provided, all of the data is * exported. Valid values are the following: *
*
* database
- Export all the data from a specified database.
*
* database.table
table-name - Export a table of the snapshot or cluster. This format is valid
* only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
*
* database.schema
schema-name - Export a database schema of the snapshot or cluster. This
* format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database.schema.table
table-name - Export a table of the database schema. This format is
* valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database
- Export all the data from a specified database.
*
* database.table
table-name - Export a table of the snapshot or cluster. This format is
* valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
*
* database.schema
schema-name - Export a database schema of the snapshot or cluster.
* This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database.schema.table
table-name - Export a table of the database schema. This format
* is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* The data to be exported from the snapshot or cluster. If this parameter is not provided, all of the data is * exported. Valid values are the following: *
*
* database
- Export all the data from a specified database.
*
* database.table
table-name - Export a table of the snapshot or cluster. This format is valid
* only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
*
* database.schema
schema-name - Export a database schema of the snapshot or cluster. This
* format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database.schema.table
table-name - Export a table of the database schema. This format is
* valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setExportOnly(java.util.Collection)} or {@link #withExportOnly(java.util.Collection)} if you want to * override the existing values. *
* * @param exportOnly * The data to be exported from the snapshot or cluster. If this parameter is not provided, all of the data * is exported. Valid values are the following: *
* database
- Export all the data from a specified database.
*
* database.table
table-name - Export a table of the snapshot or cluster. This format is
* valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
*
* database.schema
schema-name - Export a database schema of the snapshot or cluster.
* This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database.schema.table
table-name - Export a table of the database schema. This format
* is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* The data to be exported from the snapshot or cluster. If this parameter is not provided, all of the data is * exported. Valid values are the following: *
*
* database
- Export all the data from a specified database.
*
* database.table
table-name - Export a table of the snapshot or cluster. This format is valid
* only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
*
* database.schema
schema-name - Export a database schema of the snapshot or cluster. This
* format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database.schema.table
table-name - Export a table of the database schema. This format is
* valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database
- Export all the data from a specified database.
*
* database.table
table-name - Export a table of the snapshot or cluster. This format is
* valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
*
* database.schema
schema-name - Export a database schema of the snapshot or cluster.
* This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*
* database.schema.table
table-name - Export a table of the database schema. This format
* is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
*