/** * 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 RestoreTableFromBackupRequest : public DynamoDBRequest { public: AWS_DYNAMODB_API RestoreTableFromBackupRequest(); // 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 "RestoreTableFromBackup"; } AWS_DYNAMODB_API Aws::String SerializePayload() const override; AWS_DYNAMODB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The Amazon Resource Name (ARN) associated with the backup.

*/ inline const Aws::String& GetBackupArn() const{ return m_backupArn; } /** *

The Amazon Resource Name (ARN) associated with the backup.

*/ inline bool BackupArnHasBeenSet() const { return m_backupArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) associated with the backup.

*/ inline void SetBackupArn(const Aws::String& value) { m_backupArnHasBeenSet = true; m_backupArn = value; } /** *

The Amazon Resource Name (ARN) associated with the backup.

*/ inline void SetBackupArn(Aws::String&& value) { m_backupArnHasBeenSet = true; m_backupArn = std::move(value); } /** *

The Amazon Resource Name (ARN) associated with the backup.

*/ inline void SetBackupArn(const char* value) { m_backupArnHasBeenSet = true; m_backupArn.assign(value); } /** *

The Amazon Resource Name (ARN) associated with the backup.

*/ inline RestoreTableFromBackupRequest& WithBackupArn(const Aws::String& value) { SetBackupArn(value); return *this;} /** *

The Amazon Resource Name (ARN) associated with the backup.

*/ inline RestoreTableFromBackupRequest& WithBackupArn(Aws::String&& value) { SetBackupArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) associated with the backup.

*/ inline RestoreTableFromBackupRequest& WithBackupArn(const char* value) { SetBackupArn(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 RestoreTableFromBackupRequest& WithBillingModeOverride(const BillingMode& value) { SetBillingModeOverride(value); return *this;} /** *

The billing mode of the restored table.

*/ inline RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& WithProvisionedThroughputOverride(const ProvisionedThroughput& value) { SetProvisionedThroughputOverride(value); return *this;} /** *

Provisioned throughput settings for the restored table.

*/ inline RestoreTableFromBackupRequest& 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 RestoreTableFromBackupRequest& WithSSESpecificationOverride(const SSESpecification& value) { SetSSESpecificationOverride(value); return *this;} /** *

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

*/ inline RestoreTableFromBackupRequest& WithSSESpecificationOverride(SSESpecification&& value) { SetSSESpecificationOverride(std::move(value)); return *this;} private: Aws::String m_targetTableName; bool m_targetTableNameHasBeenSet = false; Aws::String m_backupArn; bool m_backupArnHasBeenSet = 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