/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents the input of an UpdateTable
operation.See
* Also:
AWS
* API Reference
An array of attributes that describe the key schema for the table and
* indexes. If you are adding a new global secondary index to the table,
* AttributeDefinitions
must include the key element(s) of the new
* index.
An array of attributes that describe the key schema for the table and
* indexes. If you are adding a new global secondary index to the table,
* AttributeDefinitions
must include the key element(s) of the new
* index.
An array of attributes that describe the key schema for the table and
* indexes. If you are adding a new global secondary index to the table,
* AttributeDefinitions
must include the key element(s) of the new
* index.
An array of attributes that describe the key schema for the table and
* indexes. If you are adding a new global secondary index to the table,
* AttributeDefinitions
must include the key element(s) of the new
* index.
An array of attributes that describe the key schema for the table and
* indexes. If you are adding a new global secondary index to the table,
* AttributeDefinitions
must include the key element(s) of the new
* index.
An array of attributes that describe the key schema for the table and
* indexes. If you are adding a new global secondary index to the table,
* AttributeDefinitions
must include the key element(s) of the new
* index.
An array of attributes that describe the key schema for the table and
* indexes. If you are adding a new global secondary index to the table,
* AttributeDefinitions
must include the key element(s) of the new
* index.
An array of attributes that describe the key schema for the table and
* indexes. If you are adding a new global secondary index to the table,
* AttributeDefinitions
must include the key element(s) of the new
* index.
The name of the table to be updated.
*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *The name of the table to be updated.
*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *The name of the table to be updated.
*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *The name of the table to be updated.
*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *The name of the table to be updated.
*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *The name of the table to be updated.
*/ inline UpdateTableRequest& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *The name of the table to be updated.
*/ inline UpdateTableRequest& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *The name of the table to be updated.
*/ inline UpdateTableRequest& WithTableName(const char* value) { SetTableName(value); return *this;} /** *Controls how you are charged for read and write throughput and how you manage * capacity. When switching from pay-per-request to provisioned capacity, initial * provisioned capacity values must be set. The initial provisioned capacity values * are estimated based on the consumed read and write capacity of your table and * global secondary indexes over the past 30 minutes.
* PROVISIONED
- We recommend using PROVISIONED
for
* predictable workloads. PROVISIONED
sets the billing mode to Provisioned
* Mode.
PAY_PER_REQUEST
- We recommend using
* PAY_PER_REQUEST
for unpredictable workloads.
* PAY_PER_REQUEST
sets the billing mode to On-Demand
* Mode.
Controls how you are charged for read and write throughput and how you manage * capacity. When switching from pay-per-request to provisioned capacity, initial * provisioned capacity values must be set. The initial provisioned capacity values * are estimated based on the consumed read and write capacity of your table and * global secondary indexes over the past 30 minutes.
* PROVISIONED
- We recommend using PROVISIONED
for
* predictable workloads. PROVISIONED
sets the billing mode to Provisioned
* Mode.
PAY_PER_REQUEST
- We recommend using
* PAY_PER_REQUEST
for unpredictable workloads.
* PAY_PER_REQUEST
sets the billing mode to On-Demand
* Mode.
Controls how you are charged for read and write throughput and how you manage * capacity. When switching from pay-per-request to provisioned capacity, initial * provisioned capacity values must be set. The initial provisioned capacity values * are estimated based on the consumed read and write capacity of your table and * global secondary indexes over the past 30 minutes.
* PROVISIONED
- We recommend using PROVISIONED
for
* predictable workloads. PROVISIONED
sets the billing mode to Provisioned
* Mode.
PAY_PER_REQUEST
- We recommend using
* PAY_PER_REQUEST
for unpredictable workloads.
* PAY_PER_REQUEST
sets the billing mode to On-Demand
* Mode.
Controls how you are charged for read and write throughput and how you manage * capacity. When switching from pay-per-request to provisioned capacity, initial * provisioned capacity values must be set. The initial provisioned capacity values * are estimated based on the consumed read and write capacity of your table and * global secondary indexes over the past 30 minutes.
* PROVISIONED
- We recommend using PROVISIONED
for
* predictable workloads. PROVISIONED
sets the billing mode to Provisioned
* Mode.
PAY_PER_REQUEST
- We recommend using
* PAY_PER_REQUEST
for unpredictable workloads.
* PAY_PER_REQUEST
sets the billing mode to On-Demand
* Mode.
Controls how you are charged for read and write throughput and how you manage * capacity. When switching from pay-per-request to provisioned capacity, initial * provisioned capacity values must be set. The initial provisioned capacity values * are estimated based on the consumed read and write capacity of your table and * global secondary indexes over the past 30 minutes.
* PROVISIONED
- We recommend using PROVISIONED
for
* predictable workloads. PROVISIONED
sets the billing mode to Provisioned
* Mode.
PAY_PER_REQUEST
- We recommend using
* PAY_PER_REQUEST
for unpredictable workloads.
* PAY_PER_REQUEST
sets the billing mode to On-Demand
* Mode.
Controls how you are charged for read and write throughput and how you manage * capacity. When switching from pay-per-request to provisioned capacity, initial * provisioned capacity values must be set. The initial provisioned capacity values * are estimated based on the consumed read and write capacity of your table and * global secondary indexes over the past 30 minutes.
* PROVISIONED
- We recommend using PROVISIONED
for
* predictable workloads. PROVISIONED
sets the billing mode to Provisioned
* Mode.
PAY_PER_REQUEST
- We recommend using
* PAY_PER_REQUEST
for unpredictable workloads.
* PAY_PER_REQUEST
sets the billing mode to On-Demand
* Mode.
The new provisioned throughput settings for the specified table or index.
*/ inline const ProvisionedThroughput& GetProvisionedThroughput() const{ return m_provisionedThroughput; } /** *The new provisioned throughput settings for the specified table or index.
*/ inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; } /** *The new provisioned throughput settings for the specified table or index.
*/ inline void SetProvisionedThroughput(const ProvisionedThroughput& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; } /** *The new provisioned throughput settings for the specified table or index.
*/ inline void SetProvisionedThroughput(ProvisionedThroughput&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::move(value); } /** *The new provisioned throughput settings for the specified table or index.
*/ inline UpdateTableRequest& WithProvisionedThroughput(const ProvisionedThroughput& value) { SetProvisionedThroughput(value); return *this;} /** *The new provisioned throughput settings for the specified table or index.
*/ inline UpdateTableRequest& WithProvisionedThroughput(ProvisionedThroughput&& value) { SetProvisionedThroughput(std::move(value)); return *this;} /** *An array of one or more global secondary indexes for the table. For each * index in the array, you can request one action:
* Create
- add a new global secondary index to the table.
Update
- modify the provisioned throughput settings of an
* existing global secondary index.
Delete
- remove
* a global secondary index from the table.
You can create or
* delete only one global secondary index per UpdateTable
* operation.
For more information, see Managing * Global Secondary Indexes in the Amazon DynamoDB Developer Guide.
*/ inline const Aws::VectorAn array of one or more global secondary indexes for the table. For each * index in the array, you can request one action:
* Create
- add a new global secondary index to the table.
Update
- modify the provisioned throughput settings of an
* existing global secondary index.
Delete
- remove
* a global secondary index from the table.
You can create or
* delete only one global secondary index per UpdateTable
* operation.
For more information, see Managing * Global Secondary Indexes in the Amazon DynamoDB Developer Guide.
*/ inline bool GlobalSecondaryIndexUpdatesHasBeenSet() const { return m_globalSecondaryIndexUpdatesHasBeenSet; } /** *An array of one or more global secondary indexes for the table. For each * index in the array, you can request one action:
* Create
- add a new global secondary index to the table.
Update
- modify the provisioned throughput settings of an
* existing global secondary index.
Delete
- remove
* a global secondary index from the table.
You can create or
* delete only one global secondary index per UpdateTable
* operation.
For more information, see Managing * Global Secondary Indexes in the Amazon DynamoDB Developer Guide.
*/ inline void SetGlobalSecondaryIndexUpdates(const Aws::VectorAn array of one or more global secondary indexes for the table. For each * index in the array, you can request one action:
* Create
- add a new global secondary index to the table.
Update
- modify the provisioned throughput settings of an
* existing global secondary index.
Delete
- remove
* a global secondary index from the table.
You can create or
* delete only one global secondary index per UpdateTable
* operation.
For more information, see Managing * Global Secondary Indexes in the Amazon DynamoDB Developer Guide.
*/ inline void SetGlobalSecondaryIndexUpdates(Aws::VectorAn array of one or more global secondary indexes for the table. For each * index in the array, you can request one action:
* Create
- add a new global secondary index to the table.
Update
- modify the provisioned throughput settings of an
* existing global secondary index.
Delete
- remove
* a global secondary index from the table.
You can create or
* delete only one global secondary index per UpdateTable
* operation.
For more information, see Managing * Global Secondary Indexes in the Amazon DynamoDB Developer Guide.
*/ inline UpdateTableRequest& WithGlobalSecondaryIndexUpdates(const Aws::VectorAn array of one or more global secondary indexes for the table. For each * index in the array, you can request one action:
* Create
- add a new global secondary index to the table.
Update
- modify the provisioned throughput settings of an
* existing global secondary index.
Delete
- remove
* a global secondary index from the table.
You can create or
* delete only one global secondary index per UpdateTable
* operation.
For more information, see Managing * Global Secondary Indexes in the Amazon DynamoDB Developer Guide.
*/ inline UpdateTableRequest& WithGlobalSecondaryIndexUpdates(Aws::VectorAn array of one or more global secondary indexes for the table. For each * index in the array, you can request one action:
* Create
- add a new global secondary index to the table.
Update
- modify the provisioned throughput settings of an
* existing global secondary index.
Delete
- remove
* a global secondary index from the table.
You can create or
* delete only one global secondary index per UpdateTable
* operation.
For more information, see Managing * Global Secondary Indexes in the Amazon DynamoDB Developer Guide.
*/ inline UpdateTableRequest& AddGlobalSecondaryIndexUpdates(const GlobalSecondaryIndexUpdate& value) { m_globalSecondaryIndexUpdatesHasBeenSet = true; m_globalSecondaryIndexUpdates.push_back(value); return *this; } /** *An array of one or more global secondary indexes for the table. For each * index in the array, you can request one action:
* Create
- add a new global secondary index to the table.
Update
- modify the provisioned throughput settings of an
* existing global secondary index.
Delete
- remove
* a global secondary index from the table.
You can create or
* delete only one global secondary index per UpdateTable
* operation.
For more information, see Managing * Global Secondary Indexes in the Amazon DynamoDB Developer Guide.
*/ inline UpdateTableRequest& AddGlobalSecondaryIndexUpdates(GlobalSecondaryIndexUpdate&& value) { m_globalSecondaryIndexUpdatesHasBeenSet = true; m_globalSecondaryIndexUpdates.push_back(std::move(value)); return *this; } /** *Represents the DynamoDB Streams configuration for the table.
*You receive a ResourceInUseException
if you try to enable a
* stream on a table that already has a stream, or if you try to disable a stream
* on a table that doesn't have a stream.
Represents the DynamoDB Streams configuration for the table.
*You receive a ResourceInUseException
if you try to enable a
* stream on a table that already has a stream, or if you try to disable a stream
* on a table that doesn't have a stream.
Represents the DynamoDB Streams configuration for the table.
*You receive a ResourceInUseException
if you try to enable a
* stream on a table that already has a stream, or if you try to disable a stream
* on a table that doesn't have a stream.
Represents the DynamoDB Streams configuration for the table.
*You receive a ResourceInUseException
if you try to enable a
* stream on a table that already has a stream, or if you try to disable a stream
* on a table that doesn't have a stream.
Represents the DynamoDB Streams configuration for the table.
*You receive a ResourceInUseException
if you try to enable a
* stream on a table that already has a stream, or if you try to disable a stream
* on a table that doesn't have a stream.
Represents the DynamoDB Streams configuration for the table.
*You receive a ResourceInUseException
if you try to enable a
* stream on a table that already has a stream, or if you try to disable a stream
* on a table that doesn't have a stream.
The new server-side encryption settings for the specified table.
*/ inline const SSESpecification& GetSSESpecification() const{ return m_sSESpecification; } /** *The new server-side encryption settings for the specified table.
*/ inline bool SSESpecificationHasBeenSet() const { return m_sSESpecificationHasBeenSet; } /** *The new server-side encryption settings for the specified table.
*/ inline void SetSSESpecification(const SSESpecification& value) { m_sSESpecificationHasBeenSet = true; m_sSESpecification = value; } /** *The new server-side encryption settings for the specified table.
*/ inline void SetSSESpecification(SSESpecification&& value) { m_sSESpecificationHasBeenSet = true; m_sSESpecification = std::move(value); } /** *The new server-side encryption settings for the specified table.
*/ inline UpdateTableRequest& WithSSESpecification(const SSESpecification& value) { SetSSESpecification(value); return *this;} /** *The new server-side encryption settings for the specified table.
*/ inline UpdateTableRequest& WithSSESpecification(SSESpecification&& value) { SetSSESpecification(std::move(value)); return *this;} /** *A list of replica update actions (create, delete, or update) for the * table.
This property only applies to Version * 2019.11.21 (Current) of global tables.
*/ inline const Aws::VectorA list of replica update actions (create, delete, or update) for the * table.
This property only applies to Version * 2019.11.21 (Current) of global tables.
*/ inline bool ReplicaUpdatesHasBeenSet() const { return m_replicaUpdatesHasBeenSet; } /** *A list of replica update actions (create, delete, or update) for the * table.
This property only applies to Version * 2019.11.21 (Current) of global tables.
*/ inline void SetReplicaUpdates(const Aws::VectorA list of replica update actions (create, delete, or update) for the * table.
This property only applies to Version * 2019.11.21 (Current) of global tables.
*/ inline void SetReplicaUpdates(Aws::VectorA list of replica update actions (create, delete, or update) for the * table.
This property only applies to Version * 2019.11.21 (Current) of global tables.
*/ inline UpdateTableRequest& WithReplicaUpdates(const Aws::VectorA list of replica update actions (create, delete, or update) for the * table.
This property only applies to Version * 2019.11.21 (Current) of global tables.
*/ inline UpdateTableRequest& WithReplicaUpdates(Aws::VectorA list of replica update actions (create, delete, or update) for the * table.
This property only applies to Version * 2019.11.21 (Current) of global tables.
*/ inline UpdateTableRequest& AddReplicaUpdates(const ReplicationGroupUpdate& value) { m_replicaUpdatesHasBeenSet = true; m_replicaUpdates.push_back(value); return *this; } /** *A list of replica update actions (create, delete, or update) for the * table.
This property only applies to Version * 2019.11.21 (Current) of global tables.
*/ inline UpdateTableRequest& AddReplicaUpdates(ReplicationGroupUpdate&& value) { m_replicaUpdatesHasBeenSet = true; m_replicaUpdates.push_back(std::move(value)); return *this; } /** *The table class of the table to be updated. Valid values are
* STANDARD
and STANDARD_INFREQUENT_ACCESS
.
The table class of the table to be updated. Valid values are
* STANDARD
and STANDARD_INFREQUENT_ACCESS
.
The table class of the table to be updated. Valid values are
* STANDARD
and STANDARD_INFREQUENT_ACCESS
.
The table class of the table to be updated. Valid values are
* STANDARD
and STANDARD_INFREQUENT_ACCESS
.
The table class of the table to be updated. Valid values are
* STANDARD
and STANDARD_INFREQUENT_ACCESS
.
The table class of the table to be updated. Valid values are
* STANDARD
and STANDARD_INFREQUENT_ACCESS
.
Indicates whether deletion protection is to be enabled (true) or disabled * (false) on the table.
*/ inline bool GetDeletionProtectionEnabled() const{ return m_deletionProtectionEnabled; } /** *Indicates whether deletion protection is to be enabled (true) or disabled * (false) on the table.
*/ inline bool DeletionProtectionEnabledHasBeenSet() const { return m_deletionProtectionEnabledHasBeenSet; } /** *Indicates whether deletion protection is to be enabled (true) or disabled * (false) on the table.
*/ inline void SetDeletionProtectionEnabled(bool value) { m_deletionProtectionEnabledHasBeenSet = true; m_deletionProtectionEnabled = value; } /** *Indicates whether deletion protection is to be enabled (true) or disabled * (false) on the table.
*/ inline UpdateTableRequest& WithDeletionProtectionEnabled(bool value) { SetDeletionProtectionEnabled(value); return *this;} private: Aws::Vector