/** * 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 #include #include namespace Aws { namespace DynamoDB { namespace Model { /** */ class ImportTableRequest : public DynamoDBRequest { public: AWS_DYNAMODB_API ImportTableRequest(); // 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 "ImportTable"; } AWS_DYNAMODB_API Aws::String SerializePayload() const override; AWS_DYNAMODB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Providing a ClientToken makes the call to * ImportTableInput 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 IdempotentParameterMismatch exception.

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

Providing a ClientToken makes the call to * ImportTableInput 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 IdempotentParameterMismatch exception.

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

Providing a ClientToken makes the call to * ImportTableInput 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 IdempotentParameterMismatch exception.

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

Providing a ClientToken makes the call to * ImportTableInput 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 IdempotentParameterMismatch exception.

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

Providing a ClientToken makes the call to * ImportTableInput 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 IdempotentParameterMismatch exception.

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

Providing a ClientToken makes the call to * ImportTableInput 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 IdempotentParameterMismatch exception.

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

Providing a ClientToken makes the call to * ImportTableInput 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 IdempotentParameterMismatch exception.

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

Providing a ClientToken makes the call to * ImportTableInput 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 IdempotentParameterMismatch exception.

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

The S3 bucket that provides the source for the import.

*/ inline const S3BucketSource& GetS3BucketSource() const{ return m_s3BucketSource; } /** *

The S3 bucket that provides the source for the import.

*/ inline bool S3BucketSourceHasBeenSet() const { return m_s3BucketSourceHasBeenSet; } /** *

The S3 bucket that provides the source for the import.

*/ inline void SetS3BucketSource(const S3BucketSource& value) { m_s3BucketSourceHasBeenSet = true; m_s3BucketSource = value; } /** *

The S3 bucket that provides the source for the import.

*/ inline void SetS3BucketSource(S3BucketSource&& value) { m_s3BucketSourceHasBeenSet = true; m_s3BucketSource = std::move(value); } /** *

The S3 bucket that provides the source for the import.

*/ inline ImportTableRequest& WithS3BucketSource(const S3BucketSource& value) { SetS3BucketSource(value); return *this;} /** *

The S3 bucket that provides the source for the import.

*/ inline ImportTableRequest& WithS3BucketSource(S3BucketSource&& value) { SetS3BucketSource(std::move(value)); return *this;} /** *

The format of the source data. Valid values for ImportFormat * are CSV, DYNAMODB_JSON or ION.

*/ inline const InputFormat& GetInputFormat() const{ return m_inputFormat; } /** *

The format of the source data. Valid values for ImportFormat * are CSV, DYNAMODB_JSON or ION.

*/ inline bool InputFormatHasBeenSet() const { return m_inputFormatHasBeenSet; } /** *

The format of the source data. Valid values for ImportFormat * are CSV, DYNAMODB_JSON or ION.

*/ inline void SetInputFormat(const InputFormat& value) { m_inputFormatHasBeenSet = true; m_inputFormat = value; } /** *

The format of the source data. Valid values for ImportFormat * are CSV, DYNAMODB_JSON or ION.

*/ inline void SetInputFormat(InputFormat&& value) { m_inputFormatHasBeenSet = true; m_inputFormat = std::move(value); } /** *

The format of the source data. Valid values for ImportFormat * are CSV, DYNAMODB_JSON or ION.

*/ inline ImportTableRequest& WithInputFormat(const InputFormat& value) { SetInputFormat(value); return *this;} /** *

The format of the source data. Valid values for ImportFormat * are CSV, DYNAMODB_JSON or ION.

*/ inline ImportTableRequest& WithInputFormat(InputFormat&& value) { SetInputFormat(std::move(value)); return *this;} /** *

Additional properties that specify how the input is formatted,

*/ inline const InputFormatOptions& GetInputFormatOptions() const{ return m_inputFormatOptions; } /** *

Additional properties that specify how the input is formatted,

*/ inline bool InputFormatOptionsHasBeenSet() const { return m_inputFormatOptionsHasBeenSet; } /** *

Additional properties that specify how the input is formatted,

*/ inline void SetInputFormatOptions(const InputFormatOptions& value) { m_inputFormatOptionsHasBeenSet = true; m_inputFormatOptions = value; } /** *

Additional properties that specify how the input is formatted,

*/ inline void SetInputFormatOptions(InputFormatOptions&& value) { m_inputFormatOptionsHasBeenSet = true; m_inputFormatOptions = std::move(value); } /** *

Additional properties that specify how the input is formatted,

*/ inline ImportTableRequest& WithInputFormatOptions(const InputFormatOptions& value) { SetInputFormatOptions(value); return *this;} /** *

Additional properties that specify how the input is formatted,

*/ inline ImportTableRequest& WithInputFormatOptions(InputFormatOptions&& value) { SetInputFormatOptions(std::move(value)); return *this;} /** *

Type of compression to be used on the input coming from the imported table. *

*/ inline const InputCompressionType& GetInputCompressionType() const{ return m_inputCompressionType; } /** *

Type of compression to be used on the input coming from the imported table. *

*/ inline bool InputCompressionTypeHasBeenSet() const { return m_inputCompressionTypeHasBeenSet; } /** *

Type of compression to be used on the input coming from the imported table. *

*/ inline void SetInputCompressionType(const InputCompressionType& value) { m_inputCompressionTypeHasBeenSet = true; m_inputCompressionType = value; } /** *

Type of compression to be used on the input coming from the imported table. *

*/ inline void SetInputCompressionType(InputCompressionType&& value) { m_inputCompressionTypeHasBeenSet = true; m_inputCompressionType = std::move(value); } /** *

Type of compression to be used on the input coming from the imported table. *

*/ inline ImportTableRequest& WithInputCompressionType(const InputCompressionType& value) { SetInputCompressionType(value); return *this;} /** *

Type of compression to be used on the input coming from the imported table. *

*/ inline ImportTableRequest& WithInputCompressionType(InputCompressionType&& value) { SetInputCompressionType(std::move(value)); return *this;} /** *

Parameters for the table to import the data into.

*/ inline const TableCreationParameters& GetTableCreationParameters() const{ return m_tableCreationParameters; } /** *

Parameters for the table to import the data into.

*/ inline bool TableCreationParametersHasBeenSet() const { return m_tableCreationParametersHasBeenSet; } /** *

Parameters for the table to import the data into.

*/ inline void SetTableCreationParameters(const TableCreationParameters& value) { m_tableCreationParametersHasBeenSet = true; m_tableCreationParameters = value; } /** *

Parameters for the table to import the data into.

*/ inline void SetTableCreationParameters(TableCreationParameters&& value) { m_tableCreationParametersHasBeenSet = true; m_tableCreationParameters = std::move(value); } /** *

Parameters for the table to import the data into.

*/ inline ImportTableRequest& WithTableCreationParameters(const TableCreationParameters& value) { SetTableCreationParameters(value); return *this;} /** *

Parameters for the table to import the data into.

*/ inline ImportTableRequest& WithTableCreationParameters(TableCreationParameters&& value) { SetTableCreationParameters(std::move(value)); return *this;} private: Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; S3BucketSource m_s3BucketSource; bool m_s3BucketSourceHasBeenSet = false; InputFormat m_inputFormat; bool m_inputFormatHasBeenSet = false; InputFormatOptions m_inputFormatOptions; bool m_inputFormatOptionsHasBeenSet = false; InputCompressionType m_inputCompressionType; bool m_inputCompressionTypeHasBeenSet = false; TableCreationParameters m_tableCreationParameters; bool m_tableCreationParametersHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws