/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace DynamoDB { namespace Model { /** */ class ExportTableToPointInTimeRequest : public DynamoDBRequest { public: AWS_DYNAMODB_API ExportTableToPointInTimeRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ExportTableToPointInTime"; } AWS_DYNAMODB_API Aws::String SerializePayload() const override; AWS_DYNAMODB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The Amazon Resource Name (ARN) associated with the table to export.

*/ inline const Aws::String& GetTableArn() const{ return m_tableArn; } /** *

The Amazon Resource Name (ARN) associated with the table to export.

*/ inline bool TableArnHasBeenSet() const { return m_tableArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) associated with the table to export.

*/ inline void SetTableArn(const Aws::String& value) { m_tableArnHasBeenSet = true; m_tableArn = value; } /** *

The Amazon Resource Name (ARN) associated with the table to export.

*/ inline void SetTableArn(Aws::String&& value) { m_tableArnHasBeenSet = true; m_tableArn = std::move(value); } /** *

The Amazon Resource Name (ARN) associated with the table to export.

*/ inline void SetTableArn(const char* value) { m_tableArnHasBeenSet = true; m_tableArn.assign(value); } /** *

The Amazon Resource Name (ARN) associated with the table to export.

*/ inline ExportTableToPointInTimeRequest& WithTableArn(const Aws::String& value) { SetTableArn(value); return *this;} /** *

The Amazon Resource Name (ARN) associated with the table to export.

*/ inline ExportTableToPointInTimeRequest& WithTableArn(Aws::String&& value) { SetTableArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) associated with the table to export.

*/ inline ExportTableToPointInTimeRequest& WithTableArn(const char* value) { SetTableArn(value); return *this;} /** *

Time in the past from which to export table data, counted in seconds from the * start of the Unix epoch. The table export will be a snapshot of the table's * state at this point in time.

*/ inline const Aws::Utils::DateTime& GetExportTime() const{ return m_exportTime; } /** *

Time in the past from which to export table data, counted in seconds from the * start of the Unix epoch. The table export will be a snapshot of the table's * state at this point in time.

*/ inline bool ExportTimeHasBeenSet() const { return m_exportTimeHasBeenSet; } /** *

Time in the past from which to export table data, counted in seconds from the * start of the Unix epoch. The table export will be a snapshot of the table's * state at this point in time.

*/ inline void SetExportTime(const Aws::Utils::DateTime& value) { m_exportTimeHasBeenSet = true; m_exportTime = value; } /** *

Time in the past from which to export table data, counted in seconds from the * start of the Unix epoch. The table export will be a snapshot of the table's * state at this point in time.

*/ inline void SetExportTime(Aws::Utils::DateTime&& value) { m_exportTimeHasBeenSet = true; m_exportTime = std::move(value); } /** *

Time in the past from which to export table data, counted in seconds from the * start of the Unix epoch. The table export will be a snapshot of the table's * state at this point in time.

*/ inline ExportTableToPointInTimeRequest& WithExportTime(const Aws::Utils::DateTime& value) { SetExportTime(value); return *this;} /** *

Time in the past from which to export table data, counted in seconds from the * start of the Unix epoch. The table export will be a snapshot of the table's * state at this point in time.

*/ inline ExportTableToPointInTimeRequest& WithExportTime(Aws::Utils::DateTime&& value) { SetExportTime(std::move(value)); return *this;} /** *

Providing a ClientToken makes the call to * ExportTableToPointInTimeInput idempotent, meaning that multiple * identical calls have the same effect as one single call.

A client token * is valid for 8 hours after the first request that uses it is completed. After 8 * hours, any request with the same client token is treated as a new request. Do * not resubmit the same request with the same client token for more than 8 hours, * or the result might not be idempotent.

If you submit a request with the * same client token but a change in other parameters within the 8-hour idempotency * window, DynamoDB returns an ImportConflictException.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

Providing a ClientToken makes the call to * ExportTableToPointInTimeInput idempotent, meaning that multiple * identical calls have the same effect as one single call.

A client token * is valid for 8 hours after the first request that uses it is completed. After 8 * hours, any request with the same client token is treated as a new request. Do * not resubmit the same request with the same client token for more than 8 hours, * or the result might not be idempotent.

If you submit a request with the * same client token but a change in other parameters within the 8-hour idempotency * window, DynamoDB returns an ImportConflictException.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

Providing a ClientToken makes the call to * ExportTableToPointInTimeInput idempotent, meaning that multiple * identical calls have the same effect as one single call.

A client token * is valid for 8 hours after the first request that uses it is completed. After 8 * hours, any request with the same client token is treated as a new request. Do * not resubmit the same request with the same client token for more than 8 hours, * or the result might not be idempotent.

If you submit a request with the * same client token but a change in other parameters within the 8-hour idempotency * window, DynamoDB returns an ImportConflictException.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

Providing a ClientToken makes the call to * ExportTableToPointInTimeInput idempotent, meaning that multiple * identical calls have the same effect as one single call.

A client token * is valid for 8 hours after the first request that uses it is completed. After 8 * hours, any request with the same client token is treated as a new request. Do * not resubmit the same request with the same client token for more than 8 hours, * or the result might not be idempotent.

If you submit a request with the * same client token but a change in other parameters within the 8-hour idempotency * window, DynamoDB returns an ImportConflictException.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

Providing a ClientToken makes the call to * ExportTableToPointInTimeInput idempotent, meaning that multiple * identical calls have the same effect as one single call.

A client token * is valid for 8 hours after the first request that uses it is completed. After 8 * hours, any request with the same client token is treated as a new request. Do * not resubmit the same request with the same client token for more than 8 hours, * or the result might not be idempotent.

If you submit a request with the * same client token but a change in other parameters within the 8-hour idempotency * window, DynamoDB returns an ImportConflictException.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

Providing a ClientToken makes the call to * ExportTableToPointInTimeInput idempotent, meaning that multiple * identical calls have the same effect as one single call.

A client token * is valid for 8 hours after the first request that uses it is completed. After 8 * hours, any request with the same client token is treated as a new request. Do * not resubmit the same request with the same client token for more than 8 hours, * or the result might not be idempotent.

If you submit a request with the * same client token but a change in other parameters within the 8-hour idempotency * window, DynamoDB returns an ImportConflictException.

*/ inline ExportTableToPointInTimeRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

Providing a ClientToken makes the call to * ExportTableToPointInTimeInput idempotent, meaning that multiple * identical calls have the same effect as one single call.

A client token * is valid for 8 hours after the first request that uses it is completed. After 8 * hours, any request with the same client token is treated as a new request. Do * not resubmit the same request with the same client token for more than 8 hours, * or the result might not be idempotent.

If you submit a request with the * same client token but a change in other parameters within the 8-hour idempotency * window, DynamoDB returns an ImportConflictException.

*/ inline ExportTableToPointInTimeRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

Providing a ClientToken makes the call to * ExportTableToPointInTimeInput idempotent, meaning that multiple * identical calls have the same effect as one single call.

A client token * is valid for 8 hours after the first request that uses it is completed. After 8 * hours, any request with the same client token is treated as a new request. Do * not resubmit the same request with the same client token for more than 8 hours, * or the result might not be idempotent.

If you submit a request with the * same client token but a change in other parameters within the 8-hour idempotency * window, DynamoDB returns an ImportConflictException.

*/ inline ExportTableToPointInTimeRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The name of the Amazon S3 bucket to export the snapshot to.

*/ inline const Aws::String& GetS3Bucket() const{ return m_s3Bucket; } /** *

The name of the Amazon S3 bucket to export the snapshot to.

*/ inline bool S3BucketHasBeenSet() const { return m_s3BucketHasBeenSet; } /** *

The name of the Amazon S3 bucket to export the snapshot to.

*/ inline void SetS3Bucket(const Aws::String& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = value; } /** *

The name of the Amazon S3 bucket to export the snapshot to.

*/ inline void SetS3Bucket(Aws::String&& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = std::move(value); } /** *

The name of the Amazon S3 bucket to export the snapshot to.

*/ inline void SetS3Bucket(const char* value) { m_s3BucketHasBeenSet = true; m_s3Bucket.assign(value); } /** *

The name of the Amazon S3 bucket to export the snapshot to.

*/ inline ExportTableToPointInTimeRequest& WithS3Bucket(const Aws::String& value) { SetS3Bucket(value); return *this;} /** *

The name of the Amazon S3 bucket to export the snapshot to.

*/ inline ExportTableToPointInTimeRequest& WithS3Bucket(Aws::String&& value) { SetS3Bucket(std::move(value)); return *this;} /** *

The name of the Amazon S3 bucket to export the snapshot to.

*/ inline ExportTableToPointInTimeRequest& WithS3Bucket(const char* value) { SetS3Bucket(value); return *this;} /** *

The ID of the Amazon Web Services account that owns the bucket the export * will be stored in.

*/ inline const Aws::String& GetS3BucketOwner() const{ return m_s3BucketOwner; } /** *

The ID of the Amazon Web Services account that owns the bucket the export * will be stored in.

*/ inline bool S3BucketOwnerHasBeenSet() const { return m_s3BucketOwnerHasBeenSet; } /** *

The ID of the Amazon Web Services account that owns the bucket the export * will be stored in.

*/ inline void SetS3BucketOwner(const Aws::String& value) { m_s3BucketOwnerHasBeenSet = true; m_s3BucketOwner = value; } /** *

The ID of the Amazon Web Services account that owns the bucket the export * will be stored in.

*/ inline void SetS3BucketOwner(Aws::String&& value) { m_s3BucketOwnerHasBeenSet = true; m_s3BucketOwner = std::move(value); } /** *

The ID of the Amazon Web Services account that owns the bucket the export * will be stored in.

*/ inline void SetS3BucketOwner(const char* value) { m_s3BucketOwnerHasBeenSet = true; m_s3BucketOwner.assign(value); } /** *

The ID of the Amazon Web Services account that owns the bucket the export * will be stored in.

*/ inline ExportTableToPointInTimeRequest& WithS3BucketOwner(const Aws::String& value) { SetS3BucketOwner(value); return *this;} /** *

The ID of the Amazon Web Services account that owns the bucket the export * will be stored in.

*/ inline ExportTableToPointInTimeRequest& WithS3BucketOwner(Aws::String&& value) { SetS3BucketOwner(std::move(value)); return *this;} /** *

The ID of the Amazon Web Services account that owns the bucket the export * will be stored in.

*/ inline ExportTableToPointInTimeRequest& WithS3BucketOwner(const char* value) { SetS3BucketOwner(value); return *this;} /** *

The Amazon S3 bucket prefix to use as the file name and path of the exported * snapshot.

*/ inline const Aws::String& GetS3Prefix() const{ return m_s3Prefix; } /** *

The Amazon S3 bucket prefix to use as the file name and path of the exported * snapshot.

*/ inline bool S3PrefixHasBeenSet() const { return m_s3PrefixHasBeenSet; } /** *

The Amazon S3 bucket prefix to use as the file name and path of the exported * snapshot.

*/ inline void SetS3Prefix(const Aws::String& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = value; } /** *

The Amazon S3 bucket prefix to use as the file name and path of the exported * snapshot.

*/ inline void SetS3Prefix(Aws::String&& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = std::move(value); } /** *

The Amazon S3 bucket prefix to use as the file name and path of the exported * snapshot.

*/ inline void SetS3Prefix(const char* value) { m_s3PrefixHasBeenSet = true; m_s3Prefix.assign(value); } /** *

The Amazon S3 bucket prefix to use as the file name and path of the exported * snapshot.

*/ inline ExportTableToPointInTimeRequest& WithS3Prefix(const Aws::String& value) { SetS3Prefix(value); return *this;} /** *

The Amazon S3 bucket prefix to use as the file name and path of the exported * snapshot.

*/ inline ExportTableToPointInTimeRequest& WithS3Prefix(Aws::String&& value) { SetS3Prefix(std::move(value)); return *this;} /** *

The Amazon S3 bucket prefix to use as the file name and path of the exported * snapshot.

*/ inline ExportTableToPointInTimeRequest& WithS3Prefix(const char* value) { SetS3Prefix(value); return *this;} /** *

Type of encryption used on the bucket where export data will be stored. Valid * values for S3SseAlgorithm are:

  • * AES256 - server-side encryption with Amazon S3 managed keys

    *
  • KMS - server-side encryption with KMS managed * keys

*/ inline const S3SseAlgorithm& GetS3SseAlgorithm() const{ return m_s3SseAlgorithm; } /** *

Type of encryption used on the bucket where export data will be stored. Valid * values for S3SseAlgorithm are:

  • * AES256 - server-side encryption with Amazon S3 managed keys

    *
  • KMS - server-side encryption with KMS managed * keys

*/ inline bool S3SseAlgorithmHasBeenSet() const { return m_s3SseAlgorithmHasBeenSet; } /** *

Type of encryption used on the bucket where export data will be stored. Valid * values for S3SseAlgorithm are:

  • * AES256 - server-side encryption with Amazon S3 managed keys

    *
  • KMS - server-side encryption with KMS managed * keys

*/ inline void SetS3SseAlgorithm(const S3SseAlgorithm& value) { m_s3SseAlgorithmHasBeenSet = true; m_s3SseAlgorithm = value; } /** *

Type of encryption used on the bucket where export data will be stored. Valid * values for S3SseAlgorithm are:

  • * AES256 - server-side encryption with Amazon S3 managed keys

    *
  • KMS - server-side encryption with KMS managed * keys

*/ inline void SetS3SseAlgorithm(S3SseAlgorithm&& value) { m_s3SseAlgorithmHasBeenSet = true; m_s3SseAlgorithm = std::move(value); } /** *

Type of encryption used on the bucket where export data will be stored. Valid * values for S3SseAlgorithm are:

  • * AES256 - server-side encryption with Amazon S3 managed keys

    *
  • KMS - server-side encryption with KMS managed * keys

*/ inline ExportTableToPointInTimeRequest& WithS3SseAlgorithm(const S3SseAlgorithm& value) { SetS3SseAlgorithm(value); return *this;} /** *

Type of encryption used on the bucket where export data will be stored. Valid * values for S3SseAlgorithm are:

  • * AES256 - server-side encryption with Amazon S3 managed keys

    *
  • KMS - server-side encryption with KMS managed * keys

*/ inline ExportTableToPointInTimeRequest& WithS3SseAlgorithm(S3SseAlgorithm&& value) { SetS3SseAlgorithm(std::move(value)); return *this;} /** *

The ID of the KMS managed key used to encrypt the S3 bucket where export data * will be stored (if applicable).

*/ inline const Aws::String& GetS3SseKmsKeyId() const{ return m_s3SseKmsKeyId; } /** *

The ID of the KMS managed key used to encrypt the S3 bucket where export data * will be stored (if applicable).

*/ inline bool S3SseKmsKeyIdHasBeenSet() const { return m_s3SseKmsKeyIdHasBeenSet; } /** *

The ID of the KMS managed key used to encrypt the S3 bucket where export data * will be stored (if applicable).

*/ inline void SetS3SseKmsKeyId(const Aws::String& value) { m_s3SseKmsKeyIdHasBeenSet = true; m_s3SseKmsKeyId = value; } /** *

The ID of the KMS managed key used to encrypt the S3 bucket where export data * will be stored (if applicable).

*/ inline void SetS3SseKmsKeyId(Aws::String&& value) { m_s3SseKmsKeyIdHasBeenSet = true; m_s3SseKmsKeyId = std::move(value); } /** *

The ID of the KMS managed key used to encrypt the S3 bucket where export data * will be stored (if applicable).

*/ inline void SetS3SseKmsKeyId(const char* value) { m_s3SseKmsKeyIdHasBeenSet = true; m_s3SseKmsKeyId.assign(value); } /** *

The ID of the KMS managed key used to encrypt the S3 bucket where export data * will be stored (if applicable).

*/ inline ExportTableToPointInTimeRequest& WithS3SseKmsKeyId(const Aws::String& value) { SetS3SseKmsKeyId(value); return *this;} /** *

The ID of the KMS managed key used to encrypt the S3 bucket where export data * will be stored (if applicable).

*/ inline ExportTableToPointInTimeRequest& WithS3SseKmsKeyId(Aws::String&& value) { SetS3SseKmsKeyId(std::move(value)); return *this;} /** *

The ID of the KMS managed key used to encrypt the S3 bucket where export data * will be stored (if applicable).

*/ inline ExportTableToPointInTimeRequest& WithS3SseKmsKeyId(const char* value) { SetS3SseKmsKeyId(value); return *this;} /** *

The format for the exported data. Valid values for ExportFormat * are DYNAMODB_JSON or ION.

*/ inline const ExportFormat& GetExportFormat() const{ return m_exportFormat; } /** *

The format for the exported data. Valid values for ExportFormat * are DYNAMODB_JSON or ION.

*/ inline bool ExportFormatHasBeenSet() const { return m_exportFormatHasBeenSet; } /** *

The format for the exported data. Valid values for ExportFormat * are DYNAMODB_JSON or ION.

*/ inline void SetExportFormat(const ExportFormat& value) { m_exportFormatHasBeenSet = true; m_exportFormat = value; } /** *

The format for the exported data. Valid values for ExportFormat * are DYNAMODB_JSON or ION.

*/ inline void SetExportFormat(ExportFormat&& value) { m_exportFormatHasBeenSet = true; m_exportFormat = std::move(value); } /** *

The format for the exported data. Valid values for ExportFormat * are DYNAMODB_JSON or ION.

*/ inline ExportTableToPointInTimeRequest& WithExportFormat(const ExportFormat& value) { SetExportFormat(value); return *this;} /** *

The format for the exported data. Valid values for ExportFormat * are DYNAMODB_JSON or ION.

*/ inline ExportTableToPointInTimeRequest& WithExportFormat(ExportFormat&& value) { SetExportFormat(std::move(value)); return *this;} private: Aws::String m_tableArn; bool m_tableArnHasBeenSet = false; Aws::Utils::DateTime m_exportTime; bool m_exportTimeHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_s3Bucket; bool m_s3BucketHasBeenSet = false; Aws::String m_s3BucketOwner; bool m_s3BucketOwnerHasBeenSet = false; Aws::String m_s3Prefix; bool m_s3PrefixHasBeenSet = false; S3SseAlgorithm m_s3SseAlgorithm; bool m_s3SseAlgorithmHasBeenSet = false; Aws::String m_s3SseKmsKeyId; bool m_s3SseKmsKeyIdHasBeenSet = false; ExportFormat m_exportFormat; bool m_exportFormatHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws