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

The DynamoDB table that will be restored. This value is an Amazon Resource * Name (ARN).

*/ inline const Aws::String& GetSourceTableArn() const{ return m_sourceTableArn; } /** *

The DynamoDB table that will be restored. This value is an Amazon Resource * Name (ARN).

*/ inline bool SourceTableArnHasBeenSet() const { return m_sourceTableArnHasBeenSet; } /** *

The DynamoDB table that will be restored. This value is an Amazon Resource * Name (ARN).

*/ inline void SetSourceTableArn(const Aws::String& value) { m_sourceTableArnHasBeenSet = true; m_sourceTableArn = value; } /** *

The DynamoDB table that will be restored. This value is an Amazon Resource * Name (ARN).

*/ inline void SetSourceTableArn(Aws::String&& value) { m_sourceTableArnHasBeenSet = true; m_sourceTableArn = std::move(value); } /** *

The DynamoDB table that will be restored. This value is an Amazon Resource * Name (ARN).

*/ inline void SetSourceTableArn(const char* value) { m_sourceTableArnHasBeenSet = true; m_sourceTableArn.assign(value); } /** *

The DynamoDB table that will be restored. This value is an Amazon Resource * Name (ARN).

*/ inline RestoreTableToPointInTimeRequest& WithSourceTableArn(const Aws::String& value) { SetSourceTableArn(value); return *this;} /** *

The DynamoDB table that will be restored. This value is an Amazon Resource * Name (ARN).

*/ inline RestoreTableToPointInTimeRequest& WithSourceTableArn(Aws::String&& value) { SetSourceTableArn(std::move(value)); return *this;} /** *

The DynamoDB table that will be restored. This value is an Amazon Resource * Name (ARN).

*/ inline RestoreTableToPointInTimeRequest& WithSourceTableArn(const char* value) { SetSourceTableArn(value); return *this;} /** *

Name of the source table that is being restored.

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

Name of the source table that is being restored.

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

Name of the source table that is being restored.

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

Name of the source table that is being restored.

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

Name of the source table that is being restored.

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

Name of the source table that is being restored.

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

Name of the source table that is being restored.

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

Name of the source table that is being restored.

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

The name of the new table to which it must be restored to.

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

The name of the new table to which it must be restored to.

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

The name of the new table to which it must be restored to.

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

The name of the new table to which it must be restored to.

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

The name of the new table to which it must be restored to.

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

The name of the new table to which it must be restored to.

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

The name of the new table to which it must be restored to.

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

The name of the new table to which it must be restored to.

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

Restore the table to the latest possible time. * LatestRestorableDateTime is typically 5 minutes before the current * time.

*/ inline bool GetUseLatestRestorableTime() const{ return m_useLatestRestorableTime; } /** *

Restore the table to the latest possible time. * LatestRestorableDateTime is typically 5 minutes before the current * time.

*/ inline bool UseLatestRestorableTimeHasBeenSet() const { return m_useLatestRestorableTimeHasBeenSet; } /** *

Restore the table to the latest possible time. * LatestRestorableDateTime is typically 5 minutes before the current * time.

*/ inline void SetUseLatestRestorableTime(bool value) { m_useLatestRestorableTimeHasBeenSet = true; m_useLatestRestorableTime = value; } /** *

Restore the table to the latest possible time. * LatestRestorableDateTime is typically 5 minutes before the current * time.

*/ inline RestoreTableToPointInTimeRequest& WithUseLatestRestorableTime(bool value) { SetUseLatestRestorableTime(value); return *this;} /** *

Time in the past to restore the table to.

*/ inline const Aws::Utils::DateTime& GetRestoreDateTime() const{ return m_restoreDateTime; } /** *

Time in the past to restore the table to.

*/ inline bool RestoreDateTimeHasBeenSet() const { return m_restoreDateTimeHasBeenSet; } /** *

Time in the past to restore the table to.

*/ inline void SetRestoreDateTime(const Aws::Utils::DateTime& value) { m_restoreDateTimeHasBeenSet = true; m_restoreDateTime = value; } /** *

Time in the past to restore the table to.

*/ inline void SetRestoreDateTime(Aws::Utils::DateTime&& value) { m_restoreDateTimeHasBeenSet = true; m_restoreDateTime = std::move(value); } /** *

Time in the past to restore the table to.

*/ inline RestoreTableToPointInTimeRequest& WithRestoreDateTime(const Aws::Utils::DateTime& value) { SetRestoreDateTime(value); return *this;} /** *

Time in the past to restore the table to.

*/ inline RestoreTableToPointInTimeRequest& WithRestoreDateTime(Aws::Utils::DateTime&& value) { SetRestoreDateTime(std::move(value)); return *this;} /** *

The billing mode of the restored table.

*/ inline const BillingMode& GetBillingModeOverride() const{ return m_billingModeOverride; } /** *

The billing mode of the restored table.

*/ inline bool BillingModeOverrideHasBeenSet() const { return m_billingModeOverrideHasBeenSet; } /** *

The billing mode of the restored table.

*/ inline void SetBillingModeOverride(const BillingMode& value) { m_billingModeOverrideHasBeenSet = true; m_billingModeOverride = value; } /** *

The billing mode of the restored table.

*/ inline void SetBillingModeOverride(BillingMode&& value) { m_billingModeOverrideHasBeenSet = true; m_billingModeOverride = std::move(value); } /** *

The billing mode of the restored table.

*/ inline RestoreTableToPointInTimeRequest& WithBillingModeOverride(const BillingMode& value) { SetBillingModeOverride(value); return *this;} /** *

The billing mode of the restored table.

*/ inline RestoreTableToPointInTimeRequest& WithBillingModeOverride(BillingMode&& value) { SetBillingModeOverride(std::move(value)); return *this;} /** *

List of global secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline const Aws::Vector& GetGlobalSecondaryIndexOverride() const{ return m_globalSecondaryIndexOverride; } /** *

List of global secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline bool GlobalSecondaryIndexOverrideHasBeenSet() const { return m_globalSecondaryIndexOverrideHasBeenSet; } /** *

List of global secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline void SetGlobalSecondaryIndexOverride(const Aws::Vector& value) { m_globalSecondaryIndexOverrideHasBeenSet = true; m_globalSecondaryIndexOverride = value; } /** *

List of global secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline void SetGlobalSecondaryIndexOverride(Aws::Vector&& value) { m_globalSecondaryIndexOverrideHasBeenSet = true; m_globalSecondaryIndexOverride = std::move(value); } /** *

List of global secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline RestoreTableToPointInTimeRequest& WithGlobalSecondaryIndexOverride(const Aws::Vector& value) { SetGlobalSecondaryIndexOverride(value); return *this;} /** *

List of global secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline RestoreTableToPointInTimeRequest& WithGlobalSecondaryIndexOverride(Aws::Vector&& value) { SetGlobalSecondaryIndexOverride(std::move(value)); return *this;} /** *

List of global secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline RestoreTableToPointInTimeRequest& AddGlobalSecondaryIndexOverride(const GlobalSecondaryIndex& value) { m_globalSecondaryIndexOverrideHasBeenSet = true; m_globalSecondaryIndexOverride.push_back(value); return *this; } /** *

List of global secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline RestoreTableToPointInTimeRequest& AddGlobalSecondaryIndexOverride(GlobalSecondaryIndex&& value) { m_globalSecondaryIndexOverrideHasBeenSet = true; m_globalSecondaryIndexOverride.push_back(std::move(value)); return *this; } /** *

List of local secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline const Aws::Vector& GetLocalSecondaryIndexOverride() const{ return m_localSecondaryIndexOverride; } /** *

List of local secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline bool LocalSecondaryIndexOverrideHasBeenSet() const { return m_localSecondaryIndexOverrideHasBeenSet; } /** *

List of local secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline void SetLocalSecondaryIndexOverride(const Aws::Vector& value) { m_localSecondaryIndexOverrideHasBeenSet = true; m_localSecondaryIndexOverride = value; } /** *

List of local secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline void SetLocalSecondaryIndexOverride(Aws::Vector&& value) { m_localSecondaryIndexOverrideHasBeenSet = true; m_localSecondaryIndexOverride = std::move(value); } /** *

List of local secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline RestoreTableToPointInTimeRequest& WithLocalSecondaryIndexOverride(const Aws::Vector& value) { SetLocalSecondaryIndexOverride(value); return *this;} /** *

List of local secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline RestoreTableToPointInTimeRequest& WithLocalSecondaryIndexOverride(Aws::Vector&& value) { SetLocalSecondaryIndexOverride(std::move(value)); return *this;} /** *

List of local secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline RestoreTableToPointInTimeRequest& AddLocalSecondaryIndexOverride(const LocalSecondaryIndex& value) { m_localSecondaryIndexOverrideHasBeenSet = true; m_localSecondaryIndexOverride.push_back(value); return *this; } /** *

List of local secondary indexes for the restored table. The indexes provided * should match existing secondary indexes. You can choose to exclude some or all * of the indexes at the time of restore.

*/ inline RestoreTableToPointInTimeRequest& AddLocalSecondaryIndexOverride(LocalSecondaryIndex&& value) { m_localSecondaryIndexOverrideHasBeenSet = true; m_localSecondaryIndexOverride.push_back(std::move(value)); return *this; } /** *

Provisioned throughput settings for the restored table.

*/ inline const ProvisionedThroughput& GetProvisionedThroughputOverride() const{ return m_provisionedThroughputOverride; } /** *

Provisioned throughput settings for the restored table.

*/ inline bool ProvisionedThroughputOverrideHasBeenSet() const { return m_provisionedThroughputOverrideHasBeenSet; } /** *

Provisioned throughput settings for the restored table.

*/ inline void SetProvisionedThroughputOverride(const ProvisionedThroughput& value) { m_provisionedThroughputOverrideHasBeenSet = true; m_provisionedThroughputOverride = value; } /** *

Provisioned throughput settings for the restored table.

*/ inline void SetProvisionedThroughputOverride(ProvisionedThroughput&& value) { m_provisionedThroughputOverrideHasBeenSet = true; m_provisionedThroughputOverride = std::move(value); } /** *

Provisioned throughput settings for the restored table.

*/ inline RestoreTableToPointInTimeRequest& WithProvisionedThroughputOverride(const ProvisionedThroughput& value) { SetProvisionedThroughputOverride(value); return *this;} /** *

Provisioned throughput settings for the restored table.

*/ inline RestoreTableToPointInTimeRequest& WithProvisionedThroughputOverride(ProvisionedThroughput&& value) { SetProvisionedThroughputOverride(std::move(value)); return *this;} /** *

The new server-side encryption settings for the restored table.

*/ inline const SSESpecification& GetSSESpecificationOverride() const{ return m_sSESpecificationOverride; } /** *

The new server-side encryption settings for the restored table.

*/ inline bool SSESpecificationOverrideHasBeenSet() const { return m_sSESpecificationOverrideHasBeenSet; } /** *

The new server-side encryption settings for the restored table.

*/ inline void SetSSESpecificationOverride(const SSESpecification& value) { m_sSESpecificationOverrideHasBeenSet = true; m_sSESpecificationOverride = value; } /** *

The new server-side encryption settings for the restored table.

*/ inline void SetSSESpecificationOverride(SSESpecification&& value) { m_sSESpecificationOverrideHasBeenSet = true; m_sSESpecificationOverride = std::move(value); } /** *

The new server-side encryption settings for the restored table.

*/ inline RestoreTableToPointInTimeRequest& WithSSESpecificationOverride(const SSESpecification& value) { SetSSESpecificationOverride(value); return *this;} /** *

The new server-side encryption settings for the restored table.

*/ inline RestoreTableToPointInTimeRequest& WithSSESpecificationOverride(SSESpecification&& value) { SetSSESpecificationOverride(std::move(value)); return *this;} private: Aws::String m_sourceTableArn; bool m_sourceTableArnHasBeenSet = false; Aws::String m_sourceTableName; bool m_sourceTableNameHasBeenSet = false; Aws::String m_targetTableName; bool m_targetTableNameHasBeenSet = false; bool m_useLatestRestorableTime; bool m_useLatestRestorableTimeHasBeenSet = false; Aws::Utils::DateTime m_restoreDateTime; bool m_restoreDateTimeHasBeenSet = false; BillingMode m_billingModeOverride; bool m_billingModeOverrideHasBeenSet = false; Aws::Vector m_globalSecondaryIndexOverride; bool m_globalSecondaryIndexOverrideHasBeenSet = false; Aws::Vector m_localSecondaryIndexOverride; bool m_localSecondaryIndexOverrideHasBeenSet = false; ProvisionedThroughput m_provisionedThroughputOverride; bool m_provisionedThroughputOverrideHasBeenSet = false; SSESpecification m_sSESpecificationOverride; bool m_sSESpecificationOverrideHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws