/** * 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 Keyspaces { namespace Model { /** */ class RestoreTableRequest : public KeyspacesRequest { public: AWS_KEYSPACES_API RestoreTableRequest(); // 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 "RestoreTable"; } AWS_KEYSPACES_API Aws::String SerializePayload() const override; AWS_KEYSPACES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The keyspace name of the source table.

*/ inline const Aws::String& GetSourceKeyspaceName() const{ return m_sourceKeyspaceName; } /** *

The keyspace name of the source table.

*/ inline bool SourceKeyspaceNameHasBeenSet() const { return m_sourceKeyspaceNameHasBeenSet; } /** *

The keyspace name of the source table.

*/ inline void SetSourceKeyspaceName(const Aws::String& value) { m_sourceKeyspaceNameHasBeenSet = true; m_sourceKeyspaceName = value; } /** *

The keyspace name of the source table.

*/ inline void SetSourceKeyspaceName(Aws::String&& value) { m_sourceKeyspaceNameHasBeenSet = true; m_sourceKeyspaceName = std::move(value); } /** *

The keyspace name of the source table.

*/ inline void SetSourceKeyspaceName(const char* value) { m_sourceKeyspaceNameHasBeenSet = true; m_sourceKeyspaceName.assign(value); } /** *

The keyspace name of the source table.

*/ inline RestoreTableRequest& WithSourceKeyspaceName(const Aws::String& value) { SetSourceKeyspaceName(value); return *this;} /** *

The keyspace name of the source table.

*/ inline RestoreTableRequest& WithSourceKeyspaceName(Aws::String&& value) { SetSourceKeyspaceName(std::move(value)); return *this;} /** *

The keyspace name of the source table.

*/ inline RestoreTableRequest& WithSourceKeyspaceName(const char* value) { SetSourceKeyspaceName(value); return *this;} /** *

The name of the source table.

*/ inline const Aws::String& GetSourceTableName() const{ return m_sourceTableName; } /** *

The name of the source table.

*/ inline bool SourceTableNameHasBeenSet() const { return m_sourceTableNameHasBeenSet; } /** *

The name of the source table.

*/ inline void SetSourceTableName(const Aws::String& value) { m_sourceTableNameHasBeenSet = true; m_sourceTableName = value; } /** *

The name of the source table.

*/ inline void SetSourceTableName(Aws::String&& value) { m_sourceTableNameHasBeenSet = true; m_sourceTableName = std::move(value); } /** *

The name of the source table.

*/ inline void SetSourceTableName(const char* value) { m_sourceTableNameHasBeenSet = true; m_sourceTableName.assign(value); } /** *

The name of the source table.

*/ inline RestoreTableRequest& WithSourceTableName(const Aws::String& value) { SetSourceTableName(value); return *this;} /** *

The name of the source table.

*/ inline RestoreTableRequest& WithSourceTableName(Aws::String&& value) { SetSourceTableName(std::move(value)); return *this;} /** *

The name of the source table.

*/ inline RestoreTableRequest& WithSourceTableName(const char* value) { SetSourceTableName(value); return *this;} /** *

The name of the target keyspace.

*/ inline const Aws::String& GetTargetKeyspaceName() const{ return m_targetKeyspaceName; } /** *

The name of the target keyspace.

*/ inline bool TargetKeyspaceNameHasBeenSet() const { return m_targetKeyspaceNameHasBeenSet; } /** *

The name of the target keyspace.

*/ inline void SetTargetKeyspaceName(const Aws::String& value) { m_targetKeyspaceNameHasBeenSet = true; m_targetKeyspaceName = value; } /** *

The name of the target keyspace.

*/ inline void SetTargetKeyspaceName(Aws::String&& value) { m_targetKeyspaceNameHasBeenSet = true; m_targetKeyspaceName = std::move(value); } /** *

The name of the target keyspace.

*/ inline void SetTargetKeyspaceName(const char* value) { m_targetKeyspaceNameHasBeenSet = true; m_targetKeyspaceName.assign(value); } /** *

The name of the target keyspace.

*/ inline RestoreTableRequest& WithTargetKeyspaceName(const Aws::String& value) { SetTargetKeyspaceName(value); return *this;} /** *

The name of the target keyspace.

*/ inline RestoreTableRequest& WithTargetKeyspaceName(Aws::String&& value) { SetTargetKeyspaceName(std::move(value)); return *this;} /** *

The name of the target keyspace.

*/ inline RestoreTableRequest& WithTargetKeyspaceName(const char* value) { SetTargetKeyspaceName(value); return *this;} /** *

The name of the target table.

*/ inline const Aws::String& GetTargetTableName() const{ return m_targetTableName; } /** *

The name of the target table.

*/ inline bool TargetTableNameHasBeenSet() const { return m_targetTableNameHasBeenSet; } /** *

The name of the target table.

*/ inline void SetTargetTableName(const Aws::String& value) { m_targetTableNameHasBeenSet = true; m_targetTableName = value; } /** *

The name of the target table.

*/ inline void SetTargetTableName(Aws::String&& value) { m_targetTableNameHasBeenSet = true; m_targetTableName = std::move(value); } /** *

The name of the target table.

*/ inline void SetTargetTableName(const char* value) { m_targetTableNameHasBeenSet = true; m_targetTableName.assign(value); } /** *

The name of the target table.

*/ inline RestoreTableRequest& WithTargetTableName(const Aws::String& value) { SetTargetTableName(value); return *this;} /** *

The name of the target table.

*/ inline RestoreTableRequest& WithTargetTableName(Aws::String&& value) { SetTargetTableName(std::move(value)); return *this;} /** *

The name of the target table.

*/ inline RestoreTableRequest& WithTargetTableName(const char* value) { SetTargetTableName(value); return *this;} /** *

The restore timestamp in ISO 8601 format.

*/ inline const Aws::Utils::DateTime& GetRestoreTimestamp() const{ return m_restoreTimestamp; } /** *

The restore timestamp in ISO 8601 format.

*/ inline bool RestoreTimestampHasBeenSet() const { return m_restoreTimestampHasBeenSet; } /** *

The restore timestamp in ISO 8601 format.

*/ inline void SetRestoreTimestamp(const Aws::Utils::DateTime& value) { m_restoreTimestampHasBeenSet = true; m_restoreTimestamp = value; } /** *

The restore timestamp in ISO 8601 format.

*/ inline void SetRestoreTimestamp(Aws::Utils::DateTime&& value) { m_restoreTimestampHasBeenSet = true; m_restoreTimestamp = std::move(value); } /** *

The restore timestamp in ISO 8601 format.

*/ inline RestoreTableRequest& WithRestoreTimestamp(const Aws::Utils::DateTime& value) { SetRestoreTimestamp(value); return *this;} /** *

The restore timestamp in ISO 8601 format.

*/ inline RestoreTableRequest& WithRestoreTimestamp(Aws::Utils::DateTime&& value) { SetRestoreTimestamp(std::move(value)); return *this;} /** *

Specifies the read/write throughput capacity mode for the target table. The * options are:

  • throughputMode:PAY_PER_REQUEST

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline const CapacitySpecification& GetCapacitySpecificationOverride() const{ return m_capacitySpecificationOverride; } /** *

Specifies the read/write throughput capacity mode for the target table. The * options are:

  • throughputMode:PAY_PER_REQUEST

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline bool CapacitySpecificationOverrideHasBeenSet() const { return m_capacitySpecificationOverrideHasBeenSet; } /** *

Specifies the read/write throughput capacity mode for the target table. The * options are:

  • throughputMode:PAY_PER_REQUEST

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline void SetCapacitySpecificationOverride(const CapacitySpecification& value) { m_capacitySpecificationOverrideHasBeenSet = true; m_capacitySpecificationOverride = value; } /** *

Specifies the read/write throughput capacity mode for the target table. The * options are:

  • throughputMode:PAY_PER_REQUEST

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline void SetCapacitySpecificationOverride(CapacitySpecification&& value) { m_capacitySpecificationOverrideHasBeenSet = true; m_capacitySpecificationOverride = std::move(value); } /** *

Specifies the read/write throughput capacity mode for the target table. The * options are:

  • throughputMode:PAY_PER_REQUEST

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline RestoreTableRequest& WithCapacitySpecificationOverride(const CapacitySpecification& value) { SetCapacitySpecificationOverride(value); return *this;} /** *

Specifies the read/write throughput capacity mode for the target table. The * options are:

  • throughputMode:PAY_PER_REQUEST

    *
  • throughputMode:PROVISIONED - Provisioned capacity * mode requires readCapacityUnits and writeCapacityUnits * as input.

The default is * throughput_mode:PAY_PER_REQUEST.

For more information, see * Read/write * capacity modes in the Amazon Keyspaces Developer Guide.

*/ inline RestoreTableRequest& WithCapacitySpecificationOverride(CapacitySpecification&& value) { SetCapacitySpecificationOverride(std::move(value)); return *this;} /** *

Specifies the encryption settings for the target table. You can choose one of * the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline const EncryptionSpecification& GetEncryptionSpecificationOverride() const{ return m_encryptionSpecificationOverride; } /** *

Specifies the encryption settings for the target table. You can choose one of * the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline bool EncryptionSpecificationOverrideHasBeenSet() const { return m_encryptionSpecificationOverrideHasBeenSet; } /** *

Specifies the encryption settings for the target table. You can choose one of * the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline void SetEncryptionSpecificationOverride(const EncryptionSpecification& value) { m_encryptionSpecificationOverrideHasBeenSet = true; m_encryptionSpecificationOverride = value; } /** *

Specifies the encryption settings for the target table. You can choose one of * the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline void SetEncryptionSpecificationOverride(EncryptionSpecification&& value) { m_encryptionSpecificationOverrideHasBeenSet = true; m_encryptionSpecificationOverride = std::move(value); } /** *

Specifies the encryption settings for the target table. You can choose one of * the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline RestoreTableRequest& WithEncryptionSpecificationOverride(const EncryptionSpecification& value) { SetEncryptionSpecificationOverride(value); return *this;} /** *

Specifies the encryption settings for the target table. You can choose one of * the following KMS key (KMS key):

  • * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. *

  • type:CUSTOMER_MANAGED_KMS_KEY - This key is * stored in your account and is created, owned, and managed by you. This option * requires the kms_key_identifier of the KMS key in Amazon Resource * Name (ARN) format as input.

The default is * type:AWS_OWNED_KMS_KEY.

For more information, see Encryption * at rest in the Amazon Keyspaces Developer Guide.

*/ inline RestoreTableRequest& WithEncryptionSpecificationOverride(EncryptionSpecification&& value) { SetEncryptionSpecificationOverride(std::move(value)); return *this;} /** *

Specifies the pointInTimeRecovery settings for the target table. * The options are:

  • status=ENABLED

  • *

    status=DISABLED

If it's not specified, the * default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline const PointInTimeRecovery& GetPointInTimeRecoveryOverride() const{ return m_pointInTimeRecoveryOverride; } /** *

Specifies the pointInTimeRecovery settings for the target table. * The options are:

  • status=ENABLED

  • *

    status=DISABLED

If it's not specified, the * default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline bool PointInTimeRecoveryOverrideHasBeenSet() const { return m_pointInTimeRecoveryOverrideHasBeenSet; } /** *

Specifies the pointInTimeRecovery settings for the target table. * The options are:

  • status=ENABLED

  • *

    status=DISABLED

If it's not specified, the * default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline void SetPointInTimeRecoveryOverride(const PointInTimeRecovery& value) { m_pointInTimeRecoveryOverrideHasBeenSet = true; m_pointInTimeRecoveryOverride = value; } /** *

Specifies the pointInTimeRecovery settings for the target table. * The options are:

  • status=ENABLED

  • *

    status=DISABLED

If it's not specified, the * default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline void SetPointInTimeRecoveryOverride(PointInTimeRecovery&& value) { m_pointInTimeRecoveryOverrideHasBeenSet = true; m_pointInTimeRecoveryOverride = std::move(value); } /** *

Specifies the pointInTimeRecovery settings for the target table. * The options are:

  • status=ENABLED

  • *

    status=DISABLED

If it's not specified, the * default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline RestoreTableRequest& WithPointInTimeRecoveryOverride(const PointInTimeRecovery& value) { SetPointInTimeRecoveryOverride(value); return *this;} /** *

Specifies the pointInTimeRecovery settings for the target table. * The options are:

  • status=ENABLED

  • *

    status=DISABLED

If it's not specified, the * default is status=DISABLED.

For more information, see Point-in-time * recovery in the Amazon Keyspaces Developer Guide.

*/ inline RestoreTableRequest& WithPointInTimeRecoveryOverride(PointInTimeRecovery&& value) { SetPointInTimeRecoveryOverride(std::move(value)); return *this;} /** *

A list of key-value pair tags to be attached to the restored table.

*

For more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline const Aws::Vector& GetTagsOverride() const{ return m_tagsOverride; } /** *

A list of key-value pair tags to be attached to the restored table.

*

For more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline bool TagsOverrideHasBeenSet() const { return m_tagsOverrideHasBeenSet; } /** *

A list of key-value pair tags to be attached to the restored table.

*

For more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline void SetTagsOverride(const Aws::Vector& value) { m_tagsOverrideHasBeenSet = true; m_tagsOverride = value; } /** *

A list of key-value pair tags to be attached to the restored table.

*

For more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline void SetTagsOverride(Aws::Vector&& value) { m_tagsOverrideHasBeenSet = true; m_tagsOverride = std::move(value); } /** *

A list of key-value pair tags to be attached to the restored table.

*

For more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline RestoreTableRequest& WithTagsOverride(const Aws::Vector& value) { SetTagsOverride(value); return *this;} /** *

A list of key-value pair tags to be attached to the restored table.

*

For more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline RestoreTableRequest& WithTagsOverride(Aws::Vector&& value) { SetTagsOverride(std::move(value)); return *this;} /** *

A list of key-value pair tags to be attached to the restored table.

*

For more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline RestoreTableRequest& AddTagsOverride(const Tag& value) { m_tagsOverrideHasBeenSet = true; m_tagsOverride.push_back(value); return *this; } /** *

A list of key-value pair tags to be attached to the restored table.

*

For more information, see Adding * tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces * Developer Guide.

*/ inline RestoreTableRequest& AddTagsOverride(Tag&& value) { m_tagsOverrideHasBeenSet = true; m_tagsOverride.push_back(std::move(value)); return *this; } private: Aws::String m_sourceKeyspaceName; bool m_sourceKeyspaceNameHasBeenSet = false; Aws::String m_sourceTableName; bool m_sourceTableNameHasBeenSet = false; Aws::String m_targetKeyspaceName; bool m_targetKeyspaceNameHasBeenSet = false; Aws::String m_targetTableName; bool m_targetTableNameHasBeenSet = false; Aws::Utils::DateTime m_restoreTimestamp; bool m_restoreTimestampHasBeenSet = false; CapacitySpecification m_capacitySpecificationOverride; bool m_capacitySpecificationOverrideHasBeenSet = false; EncryptionSpecification m_encryptionSpecificationOverride; bool m_encryptionSpecificationOverrideHasBeenSet = false; PointInTimeRecovery m_pointInTimeRecoveryOverride; bool m_pointInTimeRecoveryOverrideHasBeenSet = false; Aws::Vector m_tagsOverride; bool m_tagsOverrideHasBeenSet = false; }; } // namespace Model } // namespace Keyspaces } // namespace Aws