/** * 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 #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DynamoDB { namespace Model { /** *

Represents the properties of a table.

See Also:

AWS * API Reference

*/ class TableDescription { public: AWS_DYNAMODB_API TableDescription(); AWS_DYNAMODB_API TableDescription(Aws::Utils::Json::JsonView jsonValue); AWS_DYNAMODB_API TableDescription& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

  • *
*/ inline const Aws::Vector& GetAttributeDefinitions() const{ return m_attributeDefinitions; } /** *

An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

  • *
*/ inline bool AttributeDefinitionsHasBeenSet() const { return m_attributeDefinitionsHasBeenSet; } /** *

An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

  • *
*/ inline void SetAttributeDefinitions(const Aws::Vector& value) { m_attributeDefinitionsHasBeenSet = true; m_attributeDefinitions = value; } /** *

An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

  • *
*/ inline void SetAttributeDefinitions(Aws::Vector&& value) { m_attributeDefinitionsHasBeenSet = true; m_attributeDefinitions = std::move(value); } /** *

An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

  • *
*/ inline TableDescription& WithAttributeDefinitions(const Aws::Vector& value) { SetAttributeDefinitions(value); return *this;} /** *

An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

  • *
*/ inline TableDescription& WithAttributeDefinitions(Aws::Vector&& value) { SetAttributeDefinitions(std::move(value)); return *this;} /** *

An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

  • *
*/ inline TableDescription& AddAttributeDefinitions(const AttributeDefinition& value) { m_attributeDefinitionsHasBeenSet = true; m_attributeDefinitions.push_back(value); return *this; } /** *

An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

  • *
*/ inline TableDescription& AddAttributeDefinitions(AttributeDefinition&& value) { m_attributeDefinitionsHasBeenSet = true; m_attributeDefinitions.push_back(std::move(value)); return *this; } /** *

The name of the table.

*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *

The name of the table.

*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *

The name of the table.

*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *

The name of the table.

*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *

The name of the table.

*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *

The name of the table.

*/ inline TableDescription& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *

The name of the table.

*/ inline TableDescription& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *

The name of the table.

*/ inline TableDescription& WithTableName(const char* value) { SetTableName(value); return *this;} /** *

The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the * attribute:

    • HASH - partition key

    • *

      RANGE - sort key

    The partition key of * an item is also known as its hash attribute. The term "hash attribute" * derives from DynamoDB's usage of an internal hash function to evenly distribute * data items across partitions, based on their partition key values.

    The * sort key of an item is also known as its range attribute. The term "range * attribute" derives from the way DynamoDB stores items with the same partition * key physically close together, in sorted order by the sort key value.

    *

For more information about primary keys, see Primary * Key in the Amazon DynamoDB Developer Guide.

*/ inline const Aws::Vector& GetKeySchema() const{ return m_keySchema; } /** *

The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the * attribute:

    • HASH - partition key

    • *

      RANGE - sort key

    The partition key of * an item is also known as its hash attribute. The term "hash attribute" * derives from DynamoDB's usage of an internal hash function to evenly distribute * data items across partitions, based on their partition key values.

    The * sort key of an item is also known as its range attribute. The term "range * attribute" derives from the way DynamoDB stores items with the same partition * key physically close together, in sorted order by the sort key value.

    *

For more information about primary keys, see Primary * Key in the Amazon DynamoDB Developer Guide.

*/ inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; } /** *

The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the * attribute:

    • HASH - partition key

    • *

      RANGE - sort key

    The partition key of * an item is also known as its hash attribute. The term "hash attribute" * derives from DynamoDB's usage of an internal hash function to evenly distribute * data items across partitions, based on their partition key values.

    The * sort key of an item is also known as its range attribute. The term "range * attribute" derives from the way DynamoDB stores items with the same partition * key physically close together, in sorted order by the sort key value.

    *

For more information about primary keys, see Primary * Key in the Amazon DynamoDB Developer Guide.

*/ inline void SetKeySchema(const Aws::Vector& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; } /** *

The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the * attribute:

    • HASH - partition key

    • *

      RANGE - sort key

    The partition key of * an item is also known as its hash attribute. The term "hash attribute" * derives from DynamoDB's usage of an internal hash function to evenly distribute * data items across partitions, based on their partition key values.

    The * sort key of an item is also known as its range attribute. The term "range * attribute" derives from the way DynamoDB stores items with the same partition * key physically close together, in sorted order by the sort key value.

    *

For more information about primary keys, see Primary * Key in the Amazon DynamoDB Developer Guide.

*/ inline void SetKeySchema(Aws::Vector&& value) { m_keySchemaHasBeenSet = true; m_keySchema = std::move(value); } /** *

The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the * attribute:

    • HASH - partition key

    • *

      RANGE - sort key

    The partition key of * an item is also known as its hash attribute. The term "hash attribute" * derives from DynamoDB's usage of an internal hash function to evenly distribute * data items across partitions, based on their partition key values.

    The * sort key of an item is also known as its range attribute. The term "range * attribute" derives from the way DynamoDB stores items with the same partition * key physically close together, in sorted order by the sort key value.

    *

For more information about primary keys, see Primary * Key in the Amazon DynamoDB Developer Guide.

*/ inline TableDescription& WithKeySchema(const Aws::Vector& value) { SetKeySchema(value); return *this;} /** *

The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the * attribute:

    • HASH - partition key

    • *

      RANGE - sort key

    The partition key of * an item is also known as its hash attribute. The term "hash attribute" * derives from DynamoDB's usage of an internal hash function to evenly distribute * data items across partitions, based on their partition key values.

    The * sort key of an item is also known as its range attribute. The term "range * attribute" derives from the way DynamoDB stores items with the same partition * key physically close together, in sorted order by the sort key value.

    *

For more information about primary keys, see Primary * Key in the Amazon DynamoDB Developer Guide.

*/ inline TableDescription& WithKeySchema(Aws::Vector&& value) { SetKeySchema(std::move(value)); return *this;} /** *

The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the * attribute:

    • HASH - partition key

    • *

      RANGE - sort key

    The partition key of * an item is also known as its hash attribute. The term "hash attribute" * derives from DynamoDB's usage of an internal hash function to evenly distribute * data items across partitions, based on their partition key values.

    The * sort key of an item is also known as its range attribute. The term "range * attribute" derives from the way DynamoDB stores items with the same partition * key physically close together, in sorted order by the sort key value.

    *

For more information about primary keys, see Primary * Key in the Amazon DynamoDB Developer Guide.

*/ inline TableDescription& AddKeySchema(const KeySchemaElement& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; } /** *

The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the * attribute:

    • HASH - partition key

    • *

      RANGE - sort key

    The partition key of * an item is also known as its hash attribute. The term "hash attribute" * derives from DynamoDB's usage of an internal hash function to evenly distribute * data items across partitions, based on their partition key values.

    The * sort key of an item is also known as its range attribute. The term "range * attribute" derives from the way DynamoDB stores items with the same partition * key physically close together, in sorted order by the sort key value.

    *

For more information about primary keys, see Primary * Key in the Amazon DynamoDB Developer Guide.

*/ inline TableDescription& AddKeySchema(KeySchemaElement&& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(std::move(value)); return *this; } /** *

The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The * table/index configuration is being updated. The table/index remains available * for data operations when UPDATING.

  • * DELETING - The table is being deleted.

  • * ACTIVE - The table is ready for use.

  • * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt * the table in inaccessible. Table operations may fail due to failure to use the * KMS key. DynamoDB will initiate the table archival process when a table's KMS * key remains inaccessible for more than seven days.

  • * ARCHIVING - The table is being archived. Operations are not allowed * until archival is complete.

  • ARCHIVED - The * table has been archived. See the ArchivalReason for more information.

  • *
*/ inline const TableStatus& GetTableStatus() const{ return m_tableStatus; } /** *

The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The * table/index configuration is being updated. The table/index remains available * for data operations when UPDATING.

  • * DELETING - The table is being deleted.

  • * ACTIVE - The table is ready for use.

  • * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt * the table in inaccessible. Table operations may fail due to failure to use the * KMS key. DynamoDB will initiate the table archival process when a table's KMS * key remains inaccessible for more than seven days.

  • * ARCHIVING - The table is being archived. Operations are not allowed * until archival is complete.

  • ARCHIVED - The * table has been archived. See the ArchivalReason for more information.

  • *
*/ inline bool TableStatusHasBeenSet() const { return m_tableStatusHasBeenSet; } /** *

The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The * table/index configuration is being updated. The table/index remains available * for data operations when UPDATING.

  • * DELETING - The table is being deleted.

  • * ACTIVE - The table is ready for use.

  • * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt * the table in inaccessible. Table operations may fail due to failure to use the * KMS key. DynamoDB will initiate the table archival process when a table's KMS * key remains inaccessible for more than seven days.

  • * ARCHIVING - The table is being archived. Operations are not allowed * until archival is complete.

  • ARCHIVED - The * table has been archived. See the ArchivalReason for more information.

  • *
*/ inline void SetTableStatus(const TableStatus& value) { m_tableStatusHasBeenSet = true; m_tableStatus = value; } /** *

The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The * table/index configuration is being updated. The table/index remains available * for data operations when UPDATING.

  • * DELETING - The table is being deleted.

  • * ACTIVE - The table is ready for use.

  • * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt * the table in inaccessible. Table operations may fail due to failure to use the * KMS key. DynamoDB will initiate the table archival process when a table's KMS * key remains inaccessible for more than seven days.

  • * ARCHIVING - The table is being archived. Operations are not allowed * until archival is complete.

  • ARCHIVED - The * table has been archived. See the ArchivalReason for more information.

  • *
*/ inline void SetTableStatus(TableStatus&& value) { m_tableStatusHasBeenSet = true; m_tableStatus = std::move(value); } /** *

The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The * table/index configuration is being updated. The table/index remains available * for data operations when UPDATING.

  • * DELETING - The table is being deleted.

  • * ACTIVE - The table is ready for use.

  • * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt * the table in inaccessible. Table operations may fail due to failure to use the * KMS key. DynamoDB will initiate the table archival process when a table's KMS * key remains inaccessible for more than seven days.

  • * ARCHIVING - The table is being archived. Operations are not allowed * until archival is complete.

  • ARCHIVED - The * table has been archived. See the ArchivalReason for more information.

  • *
*/ inline TableDescription& WithTableStatus(const TableStatus& value) { SetTableStatus(value); return *this;} /** *

The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The * table/index configuration is being updated. The table/index remains available * for data operations when UPDATING.

  • * DELETING - The table is being deleted.

  • * ACTIVE - The table is ready for use.

  • * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt * the table in inaccessible. Table operations may fail due to failure to use the * KMS key. DynamoDB will initiate the table archival process when a table's KMS * key remains inaccessible for more than seven days.

  • * ARCHIVING - The table is being archived. Operations are not allowed * until archival is complete.

  • ARCHIVED - The * table has been archived. See the ArchivalReason for more information.

  • *
*/ inline TableDescription& WithTableStatus(TableStatus&& value) { SetTableStatus(std::move(value)); return *this;} /** *

The date and time when the table was created, in UNIX epoch time format.

*/ inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; } /** *

The date and time when the table was created, in UNIX epoch time format.

*/ inline bool CreationDateTimeHasBeenSet() const { return m_creationDateTimeHasBeenSet; } /** *

The date and time when the table was created, in UNIX epoch time format.

*/ inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = value; } /** *

The date and time when the table was created, in UNIX epoch time format.

*/ inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = std::move(value); } /** *

The date and time when the table was created, in UNIX epoch time format.

*/ inline TableDescription& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;} /** *

The date and time when the table was created, in UNIX epoch time format.

*/ inline TableDescription& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(std::move(value)); return *this;} /** *

The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases.

*/ inline const ProvisionedThroughputDescription& GetProvisionedThroughput() const{ return m_provisionedThroughput; } /** *

The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases.

*/ inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; } /** *

The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases.

*/ inline void SetProvisionedThroughput(const ProvisionedThroughputDescription& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; } /** *

The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases.

*/ inline void SetProvisionedThroughput(ProvisionedThroughputDescription&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::move(value); } /** *

The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases.

*/ inline TableDescription& WithProvisionedThroughput(const ProvisionedThroughputDescription& value) { SetProvisionedThroughput(value); return *this;} /** *

The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases.

*/ inline TableDescription& WithProvisionedThroughput(ProvisionedThroughputDescription&& value) { SetProvisionedThroughput(std::move(value)); return *this;} /** *

The total size of the specified table, in bytes. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in this * value.

*/ inline long long GetTableSizeBytes() const{ return m_tableSizeBytes; } /** *

The total size of the specified table, in bytes. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in this * value.

*/ inline bool TableSizeBytesHasBeenSet() const { return m_tableSizeBytesHasBeenSet; } /** *

The total size of the specified table, in bytes. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in this * value.

*/ inline void SetTableSizeBytes(long long value) { m_tableSizeBytesHasBeenSet = true; m_tableSizeBytes = value; } /** *

The total size of the specified table, in bytes. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in this * value.

*/ inline TableDescription& WithTableSizeBytes(long long value) { SetTableSizeBytes(value); return *this;} /** *

The number of items in the specified table. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in this * value.

*/ inline long long GetItemCount() const{ return m_itemCount; } /** *

The number of items in the specified table. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in this * value.

*/ inline bool ItemCountHasBeenSet() const { return m_itemCountHasBeenSet; } /** *

The number of items in the specified table. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in this * value.

*/ inline void SetItemCount(long long value) { m_itemCountHasBeenSet = true; m_itemCount = value; } /** *

The number of items in the specified table. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in this * value.

*/ inline TableDescription& WithItemCount(long long value) { SetItemCount(value); return *this;} /** *

The Amazon Resource Name (ARN) that uniquely identifies the table.

*/ inline const Aws::String& GetTableArn() const{ return m_tableArn; } /** *

The Amazon Resource Name (ARN) that uniquely identifies the table.

*/ inline bool TableArnHasBeenSet() const { return m_tableArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) that uniquely identifies the table.

*/ inline void SetTableArn(const Aws::String& value) { m_tableArnHasBeenSet = true; m_tableArn = value; } /** *

The Amazon Resource Name (ARN) that uniquely identifies the table.

*/ inline void SetTableArn(Aws::String&& value) { m_tableArnHasBeenSet = true; m_tableArn = std::move(value); } /** *

The Amazon Resource Name (ARN) that uniquely identifies the table.

*/ inline void SetTableArn(const char* value) { m_tableArnHasBeenSet = true; m_tableArn.assign(value); } /** *

The Amazon Resource Name (ARN) that uniquely identifies the table.

*/ inline TableDescription& WithTableArn(const Aws::String& value) { SetTableArn(value); return *this;} /** *

The Amazon Resource Name (ARN) that uniquely identifies the table.

*/ inline TableDescription& WithTableArn(Aws::String&& value) { SetTableArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that uniquely identifies the table.

*/ inline TableDescription& WithTableArn(const char* value) { SetTableArn(value); return *this;} /** *

Unique identifier for the table for which the backup was created.

*/ inline const Aws::String& GetTableId() const{ return m_tableId; } /** *

Unique identifier for the table for which the backup was created.

*/ inline bool TableIdHasBeenSet() const { return m_tableIdHasBeenSet; } /** *

Unique identifier for the table for which the backup was created.

*/ inline void SetTableId(const Aws::String& value) { m_tableIdHasBeenSet = true; m_tableId = value; } /** *

Unique identifier for the table for which the backup was created.

*/ inline void SetTableId(Aws::String&& value) { m_tableIdHasBeenSet = true; m_tableId = std::move(value); } /** *

Unique identifier for the table for which the backup was created.

*/ inline void SetTableId(const char* value) { m_tableIdHasBeenSet = true; m_tableId.assign(value); } /** *

Unique identifier for the table for which the backup was created.

*/ inline TableDescription& WithTableId(const Aws::String& value) { SetTableId(value); return *this;} /** *

Unique identifier for the table for which the backup was created.

*/ inline TableDescription& WithTableId(Aws::String&& value) { SetTableId(std::move(value)); return *this;} /** *

Unique identifier for the table for which the backup was created.

*/ inline TableDescription& WithTableId(const char* value) { SetTableId(value); return *this;} /** *

Contains the details for the read/write capacity mode.

*/ inline const BillingModeSummary& GetBillingModeSummary() const{ return m_billingModeSummary; } /** *

Contains the details for the read/write capacity mode.

*/ inline bool BillingModeSummaryHasBeenSet() const { return m_billingModeSummaryHasBeenSet; } /** *

Contains the details for the read/write capacity mode.

*/ inline void SetBillingModeSummary(const BillingModeSummary& value) { m_billingModeSummaryHasBeenSet = true; m_billingModeSummary = value; } /** *

Contains the details for the read/write capacity mode.

*/ inline void SetBillingModeSummary(BillingModeSummary&& value) { m_billingModeSummaryHasBeenSet = true; m_billingModeSummary = std::move(value); } /** *

Contains the details for the read/write capacity mode.

*/ inline TableDescription& WithBillingModeSummary(const BillingModeSummary& value) { SetBillingModeSummary(value); return *this;} /** *

Contains the details for the read/write capacity mode.

*/ inline TableDescription& WithBillingModeSummary(BillingModeSummary&& value) { SetBillingModeSummary(std::move(value)); return *this;} /** *

Represents one or more local secondary indexes on the table. Each index is * scoped to a given partition key value. Tables with one or more local secondary * indexes are subject to an item collection size limit, where the amount of data * within a given item collection cannot exceed 10 GB. Each element is composed * of:

  • IndexName - The name of the local secondary * index.

  • KeySchema - Specifies the complete index * key schema. The attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same partition key as * the table.

  • Projection - Specifies attributes * that are copied (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are automatically * projected. Each attribute specification is composed of:

    • * ProjectionType - One of the following:

      • * KEYS_ONLY - Only the index and primary keys are projected into the * index.

      • INCLUDE - Only the specified table * attributes are projected into the index. The list of projected attributes is in * NonKeyAttributes.

      • ALL - All of the * table attributes are projected into the index.

    • * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of attributes * provided in NonKeyAttributes, summed across all of the secondary * indexes, must not exceed 100. If you project the same attribute into two * different indexes, this counts as two distinct attributes when determining the * total.

  • IndexSizeBytes - Represents * the total size of the index, in bytes. DynamoDB updates this value approximately * every six hours. Recent changes might not be reflected in this value.

  • *
  • ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline const Aws::Vector& GetLocalSecondaryIndexes() const{ return m_localSecondaryIndexes; } /** *

Represents one or more local secondary indexes on the table. Each index is * scoped to a given partition key value. Tables with one or more local secondary * indexes are subject to an item collection size limit, where the amount of data * within a given item collection cannot exceed 10 GB. Each element is composed * of:

  • IndexName - The name of the local secondary * index.

  • KeySchema - Specifies the complete index * key schema. The attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same partition key as * the table.

  • Projection - Specifies attributes * that are copied (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are automatically * projected. Each attribute specification is composed of:

    • * ProjectionType - One of the following:

      • * KEYS_ONLY - Only the index and primary keys are projected into the * index.

      • INCLUDE - Only the specified table * attributes are projected into the index. The list of projected attributes is in * NonKeyAttributes.

      • ALL - All of the * table attributes are projected into the index.

    • * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of attributes * provided in NonKeyAttributes, summed across all of the secondary * indexes, must not exceed 100. If you project the same attribute into two * different indexes, this counts as two distinct attributes when determining the * total.

  • IndexSizeBytes - Represents * the total size of the index, in bytes. DynamoDB updates this value approximately * every six hours. Recent changes might not be reflected in this value.

  • *
  • ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline bool LocalSecondaryIndexesHasBeenSet() const { return m_localSecondaryIndexesHasBeenSet; } /** *

Represents one or more local secondary indexes on the table. Each index is * scoped to a given partition key value. Tables with one or more local secondary * indexes are subject to an item collection size limit, where the amount of data * within a given item collection cannot exceed 10 GB. Each element is composed * of:

  • IndexName - The name of the local secondary * index.

  • KeySchema - Specifies the complete index * key schema. The attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same partition key as * the table.

  • Projection - Specifies attributes * that are copied (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are automatically * projected. Each attribute specification is composed of:

    • * ProjectionType - One of the following:

      • * KEYS_ONLY - Only the index and primary keys are projected into the * index.

      • INCLUDE - Only the specified table * attributes are projected into the index. The list of projected attributes is in * NonKeyAttributes.

      • ALL - All of the * table attributes are projected into the index.

    • * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of attributes * provided in NonKeyAttributes, summed across all of the secondary * indexes, must not exceed 100. If you project the same attribute into two * different indexes, this counts as two distinct attributes when determining the * total.

  • IndexSizeBytes - Represents * the total size of the index, in bytes. DynamoDB updates this value approximately * every six hours. Recent changes might not be reflected in this value.

  • *
  • ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline void SetLocalSecondaryIndexes(const Aws::Vector& value) { m_localSecondaryIndexesHasBeenSet = true; m_localSecondaryIndexes = value; } /** *

Represents one or more local secondary indexes on the table. Each index is * scoped to a given partition key value. Tables with one or more local secondary * indexes are subject to an item collection size limit, where the amount of data * within a given item collection cannot exceed 10 GB. Each element is composed * of:

  • IndexName - The name of the local secondary * index.

  • KeySchema - Specifies the complete index * key schema. The attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same partition key as * the table.

  • Projection - Specifies attributes * that are copied (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are automatically * projected. Each attribute specification is composed of:

    • * ProjectionType - One of the following:

      • * KEYS_ONLY - Only the index and primary keys are projected into the * index.

      • INCLUDE - Only the specified table * attributes are projected into the index. The list of projected attributes is in * NonKeyAttributes.

      • ALL - All of the * table attributes are projected into the index.

    • * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of attributes * provided in NonKeyAttributes, summed across all of the secondary * indexes, must not exceed 100. If you project the same attribute into two * different indexes, this counts as two distinct attributes when determining the * total.

  • IndexSizeBytes - Represents * the total size of the index, in bytes. DynamoDB updates this value approximately * every six hours. Recent changes might not be reflected in this value.

  • *
  • ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline void SetLocalSecondaryIndexes(Aws::Vector&& value) { m_localSecondaryIndexesHasBeenSet = true; m_localSecondaryIndexes = std::move(value); } /** *

Represents one or more local secondary indexes on the table. Each index is * scoped to a given partition key value. Tables with one or more local secondary * indexes are subject to an item collection size limit, where the amount of data * within a given item collection cannot exceed 10 GB. Each element is composed * of:

  • IndexName - The name of the local secondary * index.

  • KeySchema - Specifies the complete index * key schema. The attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same partition key as * the table.

  • Projection - Specifies attributes * that are copied (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are automatically * projected. Each attribute specification is composed of:

    • * ProjectionType - One of the following:

      • * KEYS_ONLY - Only the index and primary keys are projected into the * index.

      • INCLUDE - Only the specified table * attributes are projected into the index. The list of projected attributes is in * NonKeyAttributes.

      • ALL - All of the * table attributes are projected into the index.

    • * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of attributes * provided in NonKeyAttributes, summed across all of the secondary * indexes, must not exceed 100. If you project the same attribute into two * different indexes, this counts as two distinct attributes when determining the * total.

  • IndexSizeBytes - Represents * the total size of the index, in bytes. DynamoDB updates this value approximately * every six hours. Recent changes might not be reflected in this value.

  • *
  • ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline TableDescription& WithLocalSecondaryIndexes(const Aws::Vector& value) { SetLocalSecondaryIndexes(value); return *this;} /** *

Represents one or more local secondary indexes on the table. Each index is * scoped to a given partition key value. Tables with one or more local secondary * indexes are subject to an item collection size limit, where the amount of data * within a given item collection cannot exceed 10 GB. Each element is composed * of:

  • IndexName - The name of the local secondary * index.

  • KeySchema - Specifies the complete index * key schema. The attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same partition key as * the table.

  • Projection - Specifies attributes * that are copied (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are automatically * projected. Each attribute specification is composed of:

    • * ProjectionType - One of the following:

      • * KEYS_ONLY - Only the index and primary keys are projected into the * index.

      • INCLUDE - Only the specified table * attributes are projected into the index. The list of projected attributes is in * NonKeyAttributes.

      • ALL - All of the * table attributes are projected into the index.

    • * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of attributes * provided in NonKeyAttributes, summed across all of the secondary * indexes, must not exceed 100. If you project the same attribute into two * different indexes, this counts as two distinct attributes when determining the * total.

  • IndexSizeBytes - Represents * the total size of the index, in bytes. DynamoDB updates this value approximately * every six hours. Recent changes might not be reflected in this value.

  • *
  • ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline TableDescription& WithLocalSecondaryIndexes(Aws::Vector&& value) { SetLocalSecondaryIndexes(std::move(value)); return *this;} /** *

Represents one or more local secondary indexes on the table. Each index is * scoped to a given partition key value. Tables with one or more local secondary * indexes are subject to an item collection size limit, where the amount of data * within a given item collection cannot exceed 10 GB. Each element is composed * of:

  • IndexName - The name of the local secondary * index.

  • KeySchema - Specifies the complete index * key schema. The attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same partition key as * the table.

  • Projection - Specifies attributes * that are copied (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are automatically * projected. Each attribute specification is composed of:

    • * ProjectionType - One of the following:

      • * KEYS_ONLY - Only the index and primary keys are projected into the * index.

      • INCLUDE - Only the specified table * attributes are projected into the index. The list of projected attributes is in * NonKeyAttributes.

      • ALL - All of the * table attributes are projected into the index.

    • * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of attributes * provided in NonKeyAttributes, summed across all of the secondary * indexes, must not exceed 100. If you project the same attribute into two * different indexes, this counts as two distinct attributes when determining the * total.

  • IndexSizeBytes - Represents * the total size of the index, in bytes. DynamoDB updates this value approximately * every six hours. Recent changes might not be reflected in this value.

  • *
  • ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline TableDescription& AddLocalSecondaryIndexes(const LocalSecondaryIndexDescription& value) { m_localSecondaryIndexesHasBeenSet = true; m_localSecondaryIndexes.push_back(value); return *this; } /** *

Represents one or more local secondary indexes on the table. Each index is * scoped to a given partition key value. Tables with one or more local secondary * indexes are subject to an item collection size limit, where the amount of data * within a given item collection cannot exceed 10 GB. Each element is composed * of:

  • IndexName - The name of the local secondary * index.

  • KeySchema - Specifies the complete index * key schema. The attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same partition key as * the table.

  • Projection - Specifies attributes * that are copied (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are automatically * projected. Each attribute specification is composed of:

    • * ProjectionType - One of the following:

      • * KEYS_ONLY - Only the index and primary keys are projected into the * index.

      • INCLUDE - Only the specified table * attributes are projected into the index. The list of projected attributes is in * NonKeyAttributes.

      • ALL - All of the * table attributes are projected into the index.

    • * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of attributes * provided in NonKeyAttributes, summed across all of the secondary * indexes, must not exceed 100. If you project the same attribute into two * different indexes, this counts as two distinct attributes when determining the * total.

  • IndexSizeBytes - Represents * the total size of the index, in bytes. DynamoDB updates this value approximately * every six hours. Recent changes might not be reflected in this value.

  • *
  • ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline TableDescription& AddLocalSecondaryIndexes(LocalSecondaryIndexDescription&& value) { m_localSecondaryIndexesHasBeenSet = true; m_localSecondaryIndexes.push_back(std::move(value)); return *this; } /** *

The global secondary indexes, if any, on the table. Each index is scoped to a * given partition key value. Each element is composed of:

  • * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary index is * added to the table. It is the process by which DynamoDB populates the new index * with data from the table. (This attribute does not appear for indexes that were * created during a CreateTable operation.)

    You can delete an * index that is being created during the Backfilling phase when * IndexStatus is set to CREATING and Backfilling is * true. You can't delete the index that is being created when * IndexStatus is set to CREATING and Backfilling is * false. (This attribute does not appear for indexes that were created during a * CreateTable operation.)

  • IndexName - * The name of the global secondary index.

  • * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value.

  • * IndexStatus - The current status of the global secondary index:

    *
    • CREATING - The index is being created.

    • *

      UPDATING - The index is being updated.

    • * DELETING - The index is being deleted.

    • * ACTIVE - The index is ready for use.

  • * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

  • KeySchema - * Specifies the complete index key schema. The attribute names in the key schema * must be between 1 and 255 characters (inclusive). The key schema must begin with * the same partition key as the table.

  • Projection * - Specifies attributes that are copied (projected) from the table into the * index. These are in addition to the primary key attributes and index key * attributes, which are automatically projected. Each attribute specification is * composed of:

    • ProjectionType - One of the * following:

      • KEYS_ONLY - Only the index and primary * keys are projected into the index.

      • INCLUDE - In * addition to the attributes described in KEYS_ONLY, the secondary * index will include other non-key attributes that you specify.

      • * ALL - All of the table attributes are projected into the index.

        *
    • NonKeyAttributes - A list of one or more * non-key attribute names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed across all * of the secondary indexes, must not exceed 100. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total.

  • * ProvisionedThroughput - The provisioned throughput settings for the * global secondary index, consisting of read and write capacity units, along with * data about increases and decreases.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline const Aws::Vector& GetGlobalSecondaryIndexes() const{ return m_globalSecondaryIndexes; } /** *

The global secondary indexes, if any, on the table. Each index is scoped to a * given partition key value. Each element is composed of:

  • * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary index is * added to the table. It is the process by which DynamoDB populates the new index * with data from the table. (This attribute does not appear for indexes that were * created during a CreateTable operation.)

    You can delete an * index that is being created during the Backfilling phase when * IndexStatus is set to CREATING and Backfilling is * true. You can't delete the index that is being created when * IndexStatus is set to CREATING and Backfilling is * false. (This attribute does not appear for indexes that were created during a * CreateTable operation.)

  • IndexName - * The name of the global secondary index.

  • * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value.

  • * IndexStatus - The current status of the global secondary index:

    *
    • CREATING - The index is being created.

    • *

      UPDATING - The index is being updated.

    • * DELETING - The index is being deleted.

    • * ACTIVE - The index is ready for use.

  • * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

  • KeySchema - * Specifies the complete index key schema. The attribute names in the key schema * must be between 1 and 255 characters (inclusive). The key schema must begin with * the same partition key as the table.

  • Projection * - Specifies attributes that are copied (projected) from the table into the * index. These are in addition to the primary key attributes and index key * attributes, which are automatically projected. Each attribute specification is * composed of:

    • ProjectionType - One of the * following:

      • KEYS_ONLY - Only the index and primary * keys are projected into the index.

      • INCLUDE - In * addition to the attributes described in KEYS_ONLY, the secondary * index will include other non-key attributes that you specify.

      • * ALL - All of the table attributes are projected into the index.

        *
    • NonKeyAttributes - A list of one or more * non-key attribute names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed across all * of the secondary indexes, must not exceed 100. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total.

  • * ProvisionedThroughput - The provisioned throughput settings for the * global secondary index, consisting of read and write capacity units, along with * data about increases and decreases.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline bool GlobalSecondaryIndexesHasBeenSet() const { return m_globalSecondaryIndexesHasBeenSet; } /** *

The global secondary indexes, if any, on the table. Each index is scoped to a * given partition key value. Each element is composed of:

  • * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary index is * added to the table. It is the process by which DynamoDB populates the new index * with data from the table. (This attribute does not appear for indexes that were * created during a CreateTable operation.)

    You can delete an * index that is being created during the Backfilling phase when * IndexStatus is set to CREATING and Backfilling is * true. You can't delete the index that is being created when * IndexStatus is set to CREATING and Backfilling is * false. (This attribute does not appear for indexes that were created during a * CreateTable operation.)

  • IndexName - * The name of the global secondary index.

  • * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value.

  • * IndexStatus - The current status of the global secondary index:

    *
    • CREATING - The index is being created.

    • *

      UPDATING - The index is being updated.

    • * DELETING - The index is being deleted.

    • * ACTIVE - The index is ready for use.

  • * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

  • KeySchema - * Specifies the complete index key schema. The attribute names in the key schema * must be between 1 and 255 characters (inclusive). The key schema must begin with * the same partition key as the table.

  • Projection * - Specifies attributes that are copied (projected) from the table into the * index. These are in addition to the primary key attributes and index key * attributes, which are automatically projected. Each attribute specification is * composed of:

    • ProjectionType - One of the * following:

      • KEYS_ONLY - Only the index and primary * keys are projected into the index.

      • INCLUDE - In * addition to the attributes described in KEYS_ONLY, the secondary * index will include other non-key attributes that you specify.

      • * ALL - All of the table attributes are projected into the index.

        *
    • NonKeyAttributes - A list of one or more * non-key attribute names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed across all * of the secondary indexes, must not exceed 100. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total.

  • * ProvisionedThroughput - The provisioned throughput settings for the * global secondary index, consisting of read and write capacity units, along with * data about increases and decreases.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline void SetGlobalSecondaryIndexes(const Aws::Vector& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes = value; } /** *

The global secondary indexes, if any, on the table. Each index is scoped to a * given partition key value. Each element is composed of:

  • * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary index is * added to the table. It is the process by which DynamoDB populates the new index * with data from the table. (This attribute does not appear for indexes that were * created during a CreateTable operation.)

    You can delete an * index that is being created during the Backfilling phase when * IndexStatus is set to CREATING and Backfilling is * true. You can't delete the index that is being created when * IndexStatus is set to CREATING and Backfilling is * false. (This attribute does not appear for indexes that were created during a * CreateTable operation.)

  • IndexName - * The name of the global secondary index.

  • * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value.

  • * IndexStatus - The current status of the global secondary index:

    *
    • CREATING - The index is being created.

    • *

      UPDATING - The index is being updated.

    • * DELETING - The index is being deleted.

    • * ACTIVE - The index is ready for use.

  • * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

  • KeySchema - * Specifies the complete index key schema. The attribute names in the key schema * must be between 1 and 255 characters (inclusive). The key schema must begin with * the same partition key as the table.

  • Projection * - Specifies attributes that are copied (projected) from the table into the * index. These are in addition to the primary key attributes and index key * attributes, which are automatically projected. Each attribute specification is * composed of:

    • ProjectionType - One of the * following:

      • KEYS_ONLY - Only the index and primary * keys are projected into the index.

      • INCLUDE - In * addition to the attributes described in KEYS_ONLY, the secondary * index will include other non-key attributes that you specify.

      • * ALL - All of the table attributes are projected into the index.

        *
    • NonKeyAttributes - A list of one or more * non-key attribute names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed across all * of the secondary indexes, must not exceed 100. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total.

  • * ProvisionedThroughput - The provisioned throughput settings for the * global secondary index, consisting of read and write capacity units, along with * data about increases and decreases.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline void SetGlobalSecondaryIndexes(Aws::Vector&& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes = std::move(value); } /** *

The global secondary indexes, if any, on the table. Each index is scoped to a * given partition key value. Each element is composed of:

  • * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary index is * added to the table. It is the process by which DynamoDB populates the new index * with data from the table. (This attribute does not appear for indexes that were * created during a CreateTable operation.)

    You can delete an * index that is being created during the Backfilling phase when * IndexStatus is set to CREATING and Backfilling is * true. You can't delete the index that is being created when * IndexStatus is set to CREATING and Backfilling is * false. (This attribute does not appear for indexes that were created during a * CreateTable operation.)

  • IndexName - * The name of the global secondary index.

  • * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value.

  • * IndexStatus - The current status of the global secondary index:

    *
    • CREATING - The index is being created.

    • *

      UPDATING - The index is being updated.

    • * DELETING - The index is being deleted.

    • * ACTIVE - The index is ready for use.

  • * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

  • KeySchema - * Specifies the complete index key schema. The attribute names in the key schema * must be between 1 and 255 characters (inclusive). The key schema must begin with * the same partition key as the table.

  • Projection * - Specifies attributes that are copied (projected) from the table into the * index. These are in addition to the primary key attributes and index key * attributes, which are automatically projected. Each attribute specification is * composed of:

    • ProjectionType - One of the * following:

      • KEYS_ONLY - Only the index and primary * keys are projected into the index.

      • INCLUDE - In * addition to the attributes described in KEYS_ONLY, the secondary * index will include other non-key attributes that you specify.

      • * ALL - All of the table attributes are projected into the index.

        *
    • NonKeyAttributes - A list of one or more * non-key attribute names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed across all * of the secondary indexes, must not exceed 100. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total.

  • * ProvisionedThroughput - The provisioned throughput settings for the * global secondary index, consisting of read and write capacity units, along with * data about increases and decreases.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline TableDescription& WithGlobalSecondaryIndexes(const Aws::Vector& value) { SetGlobalSecondaryIndexes(value); return *this;} /** *

The global secondary indexes, if any, on the table. Each index is scoped to a * given partition key value. Each element is composed of:

  • * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary index is * added to the table. It is the process by which DynamoDB populates the new index * with data from the table. (This attribute does not appear for indexes that were * created during a CreateTable operation.)

    You can delete an * index that is being created during the Backfilling phase when * IndexStatus is set to CREATING and Backfilling is * true. You can't delete the index that is being created when * IndexStatus is set to CREATING and Backfilling is * false. (This attribute does not appear for indexes that were created during a * CreateTable operation.)

  • IndexName - * The name of the global secondary index.

  • * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value.

  • * IndexStatus - The current status of the global secondary index:

    *
    • CREATING - The index is being created.

    • *

      UPDATING - The index is being updated.

    • * DELETING - The index is being deleted.

    • * ACTIVE - The index is ready for use.

  • * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

  • KeySchema - * Specifies the complete index key schema. The attribute names in the key schema * must be between 1 and 255 characters (inclusive). The key schema must begin with * the same partition key as the table.

  • Projection * - Specifies attributes that are copied (projected) from the table into the * index. These are in addition to the primary key attributes and index key * attributes, which are automatically projected. Each attribute specification is * composed of:

    • ProjectionType - One of the * following:

      • KEYS_ONLY - Only the index and primary * keys are projected into the index.

      • INCLUDE - In * addition to the attributes described in KEYS_ONLY, the secondary * index will include other non-key attributes that you specify.

      • * ALL - All of the table attributes are projected into the index.

        *
    • NonKeyAttributes - A list of one or more * non-key attribute names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed across all * of the secondary indexes, must not exceed 100. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total.

  • * ProvisionedThroughput - The provisioned throughput settings for the * global secondary index, consisting of read and write capacity units, along with * data about increases and decreases.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline TableDescription& WithGlobalSecondaryIndexes(Aws::Vector&& value) { SetGlobalSecondaryIndexes(std::move(value)); return *this;} /** *

The global secondary indexes, if any, on the table. Each index is scoped to a * given partition key value. Each element is composed of:

  • * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary index is * added to the table. It is the process by which DynamoDB populates the new index * with data from the table. (This attribute does not appear for indexes that were * created during a CreateTable operation.)

    You can delete an * index that is being created during the Backfilling phase when * IndexStatus is set to CREATING and Backfilling is * true. You can't delete the index that is being created when * IndexStatus is set to CREATING and Backfilling is * false. (This attribute does not appear for indexes that were created during a * CreateTable operation.)

  • IndexName - * The name of the global secondary index.

  • * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value.

  • * IndexStatus - The current status of the global secondary index:

    *
    • CREATING - The index is being created.

    • *

      UPDATING - The index is being updated.

    • * DELETING - The index is being deleted.

    • * ACTIVE - The index is ready for use.

  • * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

  • KeySchema - * Specifies the complete index key schema. The attribute names in the key schema * must be between 1 and 255 characters (inclusive). The key schema must begin with * the same partition key as the table.

  • Projection * - Specifies attributes that are copied (projected) from the table into the * index. These are in addition to the primary key attributes and index key * attributes, which are automatically projected. Each attribute specification is * composed of:

    • ProjectionType - One of the * following:

      • KEYS_ONLY - Only the index and primary * keys are projected into the index.

      • INCLUDE - In * addition to the attributes described in KEYS_ONLY, the secondary * index will include other non-key attributes that you specify.

      • * ALL - All of the table attributes are projected into the index.

        *
    • NonKeyAttributes - A list of one or more * non-key attribute names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed across all * of the secondary indexes, must not exceed 100. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total.

  • * ProvisionedThroughput - The provisioned throughput settings for the * global secondary index, consisting of read and write capacity units, along with * data about increases and decreases.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline TableDescription& AddGlobalSecondaryIndexes(const GlobalSecondaryIndexDescription& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes.push_back(value); return *this; } /** *

The global secondary indexes, if any, on the table. Each index is scoped to a * given partition key value. Each element is composed of:

  • * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary index is * added to the table. It is the process by which DynamoDB populates the new index * with data from the table. (This attribute does not appear for indexes that were * created during a CreateTable operation.)

    You can delete an * index that is being created during the Backfilling phase when * IndexStatus is set to CREATING and Backfilling is * true. You can't delete the index that is being created when * IndexStatus is set to CREATING and Backfilling is * false. (This attribute does not appear for indexes that were created during a * CreateTable operation.)

  • IndexName - * The name of the global secondary index.

  • * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value.

  • * IndexStatus - The current status of the global secondary index:

    *
    • CREATING - The index is being created.

    • *

      UPDATING - The index is being updated.

    • * DELETING - The index is being deleted.

    • * ACTIVE - The index is ready for use.

  • * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes might * not be reflected in this value.

  • KeySchema - * Specifies the complete index key schema. The attribute names in the key schema * must be between 1 and 255 characters (inclusive). The key schema must begin with * the same partition key as the table.

  • Projection * - Specifies attributes that are copied (projected) from the table into the * index. These are in addition to the primary key attributes and index key * attributes, which are automatically projected. Each attribute specification is * composed of:

    • ProjectionType - One of the * following:

      • KEYS_ONLY - Only the index and primary * keys are projected into the index.

      • INCLUDE - In * addition to the attributes described in KEYS_ONLY, the secondary * index will include other non-key attributes that you specify.

      • * ALL - All of the table attributes are projected into the index.

        *
    • NonKeyAttributes - A list of one or more * non-key attribute names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed across all * of the secondary indexes, must not exceed 100. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total.

  • * ProvisionedThroughput - The provisioned throughput settings for the * global secondary index, consisting of read and write capacity units, along with * data about increases and decreases.

If the table is in the * DELETING state, no information about indexes will be returned.

*/ inline TableDescription& AddGlobalSecondaryIndexes(GlobalSecondaryIndexDescription&& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes.push_back(std::move(value)); return *this; } /** *

The current DynamoDB Streams configuration for the table.

*/ inline const StreamSpecification& GetStreamSpecification() const{ return m_streamSpecification; } /** *

The current DynamoDB Streams configuration for the table.

*/ inline bool StreamSpecificationHasBeenSet() const { return m_streamSpecificationHasBeenSet; } /** *

The current DynamoDB Streams configuration for the table.

*/ inline void SetStreamSpecification(const StreamSpecification& value) { m_streamSpecificationHasBeenSet = true; m_streamSpecification = value; } /** *

The current DynamoDB Streams configuration for the table.

*/ inline void SetStreamSpecification(StreamSpecification&& value) { m_streamSpecificationHasBeenSet = true; m_streamSpecification = std::move(value); } /** *

The current DynamoDB Streams configuration for the table.

*/ inline TableDescription& WithStreamSpecification(const StreamSpecification& value) { SetStreamSpecification(value); return *this;} /** *

The current DynamoDB Streams configuration for the table.

*/ inline TableDescription& WithStreamSpecification(StreamSpecification&& value) { SetStreamSpecification(std::move(value)); return *this;} /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • Amazon Web Services customer ID

    *
  • Table name

  • StreamLabel

  • *
*/ inline const Aws::String& GetLatestStreamLabel() const{ return m_latestStreamLabel; } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • Amazon Web Services customer ID

    *
  • Table name

  • StreamLabel

  • *
*/ inline bool LatestStreamLabelHasBeenSet() const { return m_latestStreamLabelHasBeenSet; } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • Amazon Web Services customer ID

    *
  • Table name

  • StreamLabel

  • *
*/ inline void SetLatestStreamLabel(const Aws::String& value) { m_latestStreamLabelHasBeenSet = true; m_latestStreamLabel = value; } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • Amazon Web Services customer ID

    *
  • Table name

  • StreamLabel

  • *
*/ inline void SetLatestStreamLabel(Aws::String&& value) { m_latestStreamLabelHasBeenSet = true; m_latestStreamLabel = std::move(value); } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • Amazon Web Services customer ID

    *
  • Table name

  • StreamLabel

  • *
*/ inline void SetLatestStreamLabel(const char* value) { m_latestStreamLabelHasBeenSet = true; m_latestStreamLabel.assign(value); } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • Amazon Web Services customer ID

    *
  • Table name

  • StreamLabel

  • *
*/ inline TableDescription& WithLatestStreamLabel(const Aws::String& value) { SetLatestStreamLabel(value); return *this;} /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • Amazon Web Services customer ID

    *
  • Table name

  • StreamLabel

  • *
*/ inline TableDescription& WithLatestStreamLabel(Aws::String&& value) { SetLatestStreamLabel(std::move(value)); return *this;} /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • Amazon Web Services customer ID

    *
  • Table name

  • StreamLabel

  • *
*/ inline TableDescription& WithLatestStreamLabel(const char* value) { SetLatestStreamLabel(value); return *this;} /** *

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for * this table.

*/ inline const Aws::String& GetLatestStreamArn() const{ return m_latestStreamArn; } /** *

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for * this table.

*/ inline bool LatestStreamArnHasBeenSet() const { return m_latestStreamArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for * this table.

*/ inline void SetLatestStreamArn(const Aws::String& value) { m_latestStreamArnHasBeenSet = true; m_latestStreamArn = value; } /** *

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for * this table.

*/ inline void SetLatestStreamArn(Aws::String&& value) { m_latestStreamArnHasBeenSet = true; m_latestStreamArn = std::move(value); } /** *

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for * this table.

*/ inline void SetLatestStreamArn(const char* value) { m_latestStreamArnHasBeenSet = true; m_latestStreamArn.assign(value); } /** *

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for * this table.

*/ inline TableDescription& WithLatestStreamArn(const Aws::String& value) { SetLatestStreamArn(value); return *this;} /** *

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for * this table.

*/ inline TableDescription& WithLatestStreamArn(Aws::String&& value) { SetLatestStreamArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for * this table.

*/ inline TableDescription& WithLatestStreamArn(const char* value) { SetLatestStreamArn(value); return *this;} /** *

Represents the version of global * tables in use, if the table is replicated across Amazon Web Services * Regions.

*/ inline const Aws::String& GetGlobalTableVersion() const{ return m_globalTableVersion; } /** *

Represents the version of global * tables in use, if the table is replicated across Amazon Web Services * Regions.

*/ inline bool GlobalTableVersionHasBeenSet() const { return m_globalTableVersionHasBeenSet; } /** *

Represents the version of global * tables in use, if the table is replicated across Amazon Web Services * Regions.

*/ inline void SetGlobalTableVersion(const Aws::String& value) { m_globalTableVersionHasBeenSet = true; m_globalTableVersion = value; } /** *

Represents the version of global * tables in use, if the table is replicated across Amazon Web Services * Regions.

*/ inline void SetGlobalTableVersion(Aws::String&& value) { m_globalTableVersionHasBeenSet = true; m_globalTableVersion = std::move(value); } /** *

Represents the version of global * tables in use, if the table is replicated across Amazon Web Services * Regions.

*/ inline void SetGlobalTableVersion(const char* value) { m_globalTableVersionHasBeenSet = true; m_globalTableVersion.assign(value); } /** *

Represents the version of global * tables in use, if the table is replicated across Amazon Web Services * Regions.

*/ inline TableDescription& WithGlobalTableVersion(const Aws::String& value) { SetGlobalTableVersion(value); return *this;} /** *

Represents the version of global * tables in use, if the table is replicated across Amazon Web Services * Regions.

*/ inline TableDescription& WithGlobalTableVersion(Aws::String&& value) { SetGlobalTableVersion(std::move(value)); return *this;} /** *

Represents the version of global * tables in use, if the table is replicated across Amazon Web Services * Regions.

*/ inline TableDescription& WithGlobalTableVersion(const char* value) { SetGlobalTableVersion(value); return *this;} /** *

Represents replicas of the table.

*/ inline const Aws::Vector& GetReplicas() const{ return m_replicas; } /** *

Represents replicas of the table.

*/ inline bool ReplicasHasBeenSet() const { return m_replicasHasBeenSet; } /** *

Represents replicas of the table.

*/ inline void SetReplicas(const Aws::Vector& value) { m_replicasHasBeenSet = true; m_replicas = value; } /** *

Represents replicas of the table.

*/ inline void SetReplicas(Aws::Vector&& value) { m_replicasHasBeenSet = true; m_replicas = std::move(value); } /** *

Represents replicas of the table.

*/ inline TableDescription& WithReplicas(const Aws::Vector& value) { SetReplicas(value); return *this;} /** *

Represents replicas of the table.

*/ inline TableDescription& WithReplicas(Aws::Vector&& value) { SetReplicas(std::move(value)); return *this;} /** *

Represents replicas of the table.

*/ inline TableDescription& AddReplicas(const ReplicaDescription& value) { m_replicasHasBeenSet = true; m_replicas.push_back(value); return *this; } /** *

Represents replicas of the table.

*/ inline TableDescription& AddReplicas(ReplicaDescription&& value) { m_replicasHasBeenSet = true; m_replicas.push_back(std::move(value)); return *this; } /** *

Contains details for the restore.

*/ inline const RestoreSummary& GetRestoreSummary() const{ return m_restoreSummary; } /** *

Contains details for the restore.

*/ inline bool RestoreSummaryHasBeenSet() const { return m_restoreSummaryHasBeenSet; } /** *

Contains details for the restore.

*/ inline void SetRestoreSummary(const RestoreSummary& value) { m_restoreSummaryHasBeenSet = true; m_restoreSummary = value; } /** *

Contains details for the restore.

*/ inline void SetRestoreSummary(RestoreSummary&& value) { m_restoreSummaryHasBeenSet = true; m_restoreSummary = std::move(value); } /** *

Contains details for the restore.

*/ inline TableDescription& WithRestoreSummary(const RestoreSummary& value) { SetRestoreSummary(value); return *this;} /** *

Contains details for the restore.

*/ inline TableDescription& WithRestoreSummary(RestoreSummary&& value) { SetRestoreSummary(std::move(value)); return *this;} /** *

The description of the server-side encryption status on the specified * table.

*/ inline const SSEDescription& GetSSEDescription() const{ return m_sSEDescription; } /** *

The description of the server-side encryption status on the specified * table.

*/ inline bool SSEDescriptionHasBeenSet() const { return m_sSEDescriptionHasBeenSet; } /** *

The description of the server-side encryption status on the specified * table.

*/ inline void SetSSEDescription(const SSEDescription& value) { m_sSEDescriptionHasBeenSet = true; m_sSEDescription = value; } /** *

The description of the server-side encryption status on the specified * table.

*/ inline void SetSSEDescription(SSEDescription&& value) { m_sSEDescriptionHasBeenSet = true; m_sSEDescription = std::move(value); } /** *

The description of the server-side encryption status on the specified * table.

*/ inline TableDescription& WithSSEDescription(const SSEDescription& value) { SetSSEDescription(value); return *this;} /** *

The description of the server-side encryption status on the specified * table.

*/ inline TableDescription& WithSSEDescription(SSEDescription&& value) { SetSSEDescription(std::move(value)); return *this;} /** *

Contains information about the table archive.

*/ inline const ArchivalSummary& GetArchivalSummary() const{ return m_archivalSummary; } /** *

Contains information about the table archive.

*/ inline bool ArchivalSummaryHasBeenSet() const { return m_archivalSummaryHasBeenSet; } /** *

Contains information about the table archive.

*/ inline void SetArchivalSummary(const ArchivalSummary& value) { m_archivalSummaryHasBeenSet = true; m_archivalSummary = value; } /** *

Contains information about the table archive.

*/ inline void SetArchivalSummary(ArchivalSummary&& value) { m_archivalSummaryHasBeenSet = true; m_archivalSummary = std::move(value); } /** *

Contains information about the table archive.

*/ inline TableDescription& WithArchivalSummary(const ArchivalSummary& value) { SetArchivalSummary(value); return *this;} /** *

Contains information about the table archive.

*/ inline TableDescription& WithArchivalSummary(ArchivalSummary&& value) { SetArchivalSummary(std::move(value)); return *this;} /** *

Contains details of the table class.

*/ inline const TableClassSummary& GetTableClassSummary() const{ return m_tableClassSummary; } /** *

Contains details of the table class.

*/ inline bool TableClassSummaryHasBeenSet() const { return m_tableClassSummaryHasBeenSet; } /** *

Contains details of the table class.

*/ inline void SetTableClassSummary(const TableClassSummary& value) { m_tableClassSummaryHasBeenSet = true; m_tableClassSummary = value; } /** *

Contains details of the table class.

*/ inline void SetTableClassSummary(TableClassSummary&& value) { m_tableClassSummaryHasBeenSet = true; m_tableClassSummary = std::move(value); } /** *

Contains details of the table class.

*/ inline TableDescription& WithTableClassSummary(const TableClassSummary& value) { SetTableClassSummary(value); return *this;} /** *

Contains details of the table class.

*/ inline TableDescription& WithTableClassSummary(TableClassSummary&& value) { SetTableClassSummary(std::move(value)); return *this;} /** *

Indicates whether deletion protection is enabled (true) or disabled (false) * on the table.

*/ inline bool GetDeletionProtectionEnabled() const{ return m_deletionProtectionEnabled; } /** *

Indicates whether deletion protection is enabled (true) or disabled (false) * on the table.

*/ inline bool DeletionProtectionEnabledHasBeenSet() const { return m_deletionProtectionEnabledHasBeenSet; } /** *

Indicates whether deletion protection is enabled (true) or disabled (false) * on the table.

*/ inline void SetDeletionProtectionEnabled(bool value) { m_deletionProtectionEnabledHasBeenSet = true; m_deletionProtectionEnabled = value; } /** *

Indicates whether deletion protection is enabled (true) or disabled (false) * on the table.

*/ inline TableDescription& WithDeletionProtectionEnabled(bool value) { SetDeletionProtectionEnabled(value); return *this;} private: Aws::Vector m_attributeDefinitions; bool m_attributeDefinitionsHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::Vector m_keySchema; bool m_keySchemaHasBeenSet = false; TableStatus m_tableStatus; bool m_tableStatusHasBeenSet = false; Aws::Utils::DateTime m_creationDateTime; bool m_creationDateTimeHasBeenSet = false; ProvisionedThroughputDescription m_provisionedThroughput; bool m_provisionedThroughputHasBeenSet = false; long long m_tableSizeBytes; bool m_tableSizeBytesHasBeenSet = false; long long m_itemCount; bool m_itemCountHasBeenSet = false; Aws::String m_tableArn; bool m_tableArnHasBeenSet = false; Aws::String m_tableId; bool m_tableIdHasBeenSet = false; BillingModeSummary m_billingModeSummary; bool m_billingModeSummaryHasBeenSet = false; Aws::Vector m_localSecondaryIndexes; bool m_localSecondaryIndexesHasBeenSet = false; Aws::Vector m_globalSecondaryIndexes; bool m_globalSecondaryIndexesHasBeenSet = false; StreamSpecification m_streamSpecification; bool m_streamSpecificationHasBeenSet = false; Aws::String m_latestStreamLabel; bool m_latestStreamLabelHasBeenSet = false; Aws::String m_latestStreamArn; bool m_latestStreamArnHasBeenSet = false; Aws::String m_globalTableVersion; bool m_globalTableVersionHasBeenSet = false; Aws::Vector m_replicas; bool m_replicasHasBeenSet = false; RestoreSummary m_restoreSummary; bool m_restoreSummaryHasBeenSet = false; SSEDescription m_sSEDescription; bool m_sSEDescriptionHasBeenSet = false; ArchivalSummary m_archivalSummary; bool m_archivalSummaryHasBeenSet = false; TableClassSummary m_tableClassSummary; bool m_tableClassSummaryHasBeenSet = false; bool m_deletionProtectionEnabled; bool m_deletionProtectionEnabledHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws