/* * Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.dynamodbv2.model; import java.io.Serializable; /** *
* Represents the properties of a table. *
*/ public class TableDescription implements Serializable { /** *
* 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.
*
* The name of the table. *
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*/
private String tableName;
/**
*
* 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' 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. *
*/ private java.util.List* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE
*/
private String tableStatus;
/**
*
* The date and time when the table was created, in UNIX epoch time format. *
*/ private java.util.Date creationDateTime; /** ** The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases. *
*/ private ProvisionedThroughputDescription provisionedThroughput; /** ** 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. *
*/ private Long tableSizeBytes; /** ** 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. *
*/ private Long itemCount; /** ** The Amazon Resource Name (ARN) that uniquely identifies the table. *
*/ private String tableArn; /** ** Unique identifier for the table for which the backup was created. *
*
* Constraints:
* Pattern:
* [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
*/
private String tableId;
/**
*
* 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 are 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 20. 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.
*
* 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.)
*
* 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
- Only the specified table attributes are projected
* into the index. The list of projected attributes are 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 20. 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.
*
* The current DynamoDB Streams configuration for the table. *
*/ private StreamSpecification streamSpecification; /** ** 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:
*
* the AWS customer ID. *
** the table name. *
*
* the StreamLabel
.
*
* The Amazon Resource Name (ARN) that uniquely identifies the latest stream * for this table. *
*
* Constraints:
* Length: 37 - 1024
*/
private String latestStreamArn;
/**
*
* Contains details for the restore. *
*/ private RestoreSummary restoreSummary; /** ** The description of the server-side encryption status on the specified * table. *
*/ private SSEDescription sSEDescription; /** *
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param 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.
*
* 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.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param 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.
*
* The name of the table. *
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @return
* The name of the table. *
*/ public String getTableName() { return tableName; } /** ** The name of the table. *
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @param tableName
* The name of the table. *
*/ public void setTableName(String tableName) { this.tableName = tableName; } /** ** The name of the table. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @param tableName
* The name of the table. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withTableName(String tableName) { this.tableName = tableName; 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' 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. *
* * @return
* 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' * 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. *
*/ public java.util.List
* 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' 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. *
* * @param 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' 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. *
*/ public void setKeySchema(java.util.Collection
* 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' 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param 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' 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. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withKeySchema(KeySchemaElement... keySchema) { if (getKeySchema() == null) { this.keySchema = new java.util.ArrayList
* 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' 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param 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' 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. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withKeySchema(java.util.Collection* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE
*
* @return
* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE
*
* @param tableStatus
* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE
*
* @param tableStatus
* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE
*
* @param tableStatus
* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE
*
* @param tableStatus
* The current state of the table: *
*
* CREATING
- The table is being created.
*
* UPDATING
- The table is being updated.
*
* DELETING
- The table is being deleted.
*
* ACTIVE
- The table is ready for use.
*
* The date and time when the table was created, in UNIX epoch time format. *
* * @return* The date and time when the table was created, in UNIX epoch time format. *
*/ public java.util.Date getCreationDateTime() { return creationDateTime; } /** ** The date and time when the table was created, in UNIX epoch time format. *
* * @param creationDateTime* The date and time when the table was created, in UNIX epoch time * format. *
*/ public void setCreationDateTime(java.util.Date creationDateTime) { this.creationDateTime = creationDateTime; } /** ** The date and time when the table was created, in UNIX epoch time format. *
** Returns a reference to this object so that method calls can be chained * together. * * @param creationDateTime
* The date and time when the table was created, in UNIX epoch time * format. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withCreationDateTime(java.util.Date creationDateTime) { this.creationDateTime = creationDateTime; return this; } /** ** The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases. *
* * @return* The provisioned throughput settings for the table, consisting of * read and write capacity units, along with data about increases * and decreases. *
*/ public ProvisionedThroughputDescription getProvisionedThroughput() { return provisionedThroughput; } /** ** The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases. *
* * @param provisionedThroughput* The provisioned throughput settings for the table, consisting * of read and write capacity units, along with data about * increases and decreases. *
*/ public void setProvisionedThroughput(ProvisionedThroughputDescription provisionedThroughput) { this.provisionedThroughput = provisionedThroughput; } /** ** The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases. *
** Returns a reference to this object so that method calls can be chained * together. * * @param provisionedThroughput
* The provisioned throughput settings for the table, consisting * of read and write capacity units, along with data about * increases and decreases. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withProvisionedThroughput( ProvisionedThroughputDescription provisionedThroughput) { this.provisionedThroughput = provisionedThroughput; 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. *
* * @return* 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. *
*/ public Long getTableSizeBytes() { return 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. *
* * @param 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. *
*/ public void setTableSizeBytes(Long tableSizeBytes) { this.tableSizeBytes = 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param 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. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withTableSizeBytes(Long tableSizeBytes) { this.tableSizeBytes = tableSizeBytes; 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. *
* * @return* 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. *
*/ public Long getItemCount() { return 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. *
* * @param 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. *
*/ public void setItemCount(Long itemCount) { this.itemCount = 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param 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. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withItemCount(Long itemCount) { this.itemCount = itemCount; return this; } /** ** The Amazon Resource Name (ARN) that uniquely identifies the table. *
* * @return* The Amazon Resource Name (ARN) that uniquely identifies the * table. *
*/ public String getTableArn() { return tableArn; } /** ** The Amazon Resource Name (ARN) that uniquely identifies the table. *
* * @param tableArn* The Amazon Resource Name (ARN) that uniquely identifies the * table. *
*/ public void setTableArn(String tableArn) { this.tableArn = tableArn; } /** ** The Amazon Resource Name (ARN) that uniquely identifies the table. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tableArn
* The Amazon Resource Name (ARN) that uniquely identifies the * table. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withTableArn(String tableArn) { this.tableArn = tableArn; return this; } /** ** Unique identifier for the table for which the backup was created. *
*
* Constraints:
* Pattern:
* [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
*
* @return
* Unique identifier for the table for which the backup was created. *
*/ public String getTableId() { return tableId; } /** ** Unique identifier for the table for which the backup was created. *
*
* Constraints:
* Pattern:
* [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
*
* @param tableId
* Unique identifier for the table for which the backup was * created. *
*/ public void setTableId(String tableId) { this.tableId = tableId; } /** ** Unique identifier for the table for which the backup was created. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Pattern:
* [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
*
* @param tableId
* Unique identifier for the table for which the backup was * created. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withTableId(String tableId) { this.tableId = tableId; 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 are 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 20. 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.
*
* 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 are 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 20. 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.
*
* 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 are 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 20. 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.
*
* 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 are
* 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 20. 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.
*
* 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 are 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 20. 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.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param 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 are
* 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 20. 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.
*
* 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 are 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 20. 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.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param 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 are
* 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 20. 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.
*
* 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.)
*
* 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
- Only the specified table attributes are projected
* into the index. The list of projected attributes are 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 20. 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.
*
* 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.)
*
* 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
- Only the specified table attributes are
* projected into the index. The list of projected attributes are 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 20. 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.
*
* 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.)
*
* 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
- Only the specified table attributes are projected
* into the index. The list of projected attributes are 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 20. 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.
*
* 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.)
*
* 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
- Only the specified table attributes are
* projected into the index. The list of projected attributes are
* 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 20. 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.
*
* 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.)
*
* 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
- Only the specified table attributes are projected
* into the index. The list of projected attributes are 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 20. 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.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param 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.)
*
* 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
- Only the specified table attributes are
* projected into the index. The list of projected attributes are
* 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 20. 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.
*
* 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.)
*
* 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
- Only the specified table attributes are projected
* into the index. The list of projected attributes are 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 20. 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.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param 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.)
*
* 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
- Only the specified table attributes are
* projected into the index. The list of projected attributes are
* 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 20. 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.
*
* The current DynamoDB Streams configuration for the table. *
* * @return* The current DynamoDB Streams configuration for the table. *
*/ public StreamSpecification getStreamSpecification() { return streamSpecification; } /** ** The current DynamoDB Streams configuration for the table. *
* * @param streamSpecification* The current DynamoDB Streams configuration for the table. *
*/ public void setStreamSpecification(StreamSpecification streamSpecification) { this.streamSpecification = streamSpecification; } /** ** The current DynamoDB Streams configuration for the table. *
** Returns a reference to this object so that method calls can be chained * together. * * @param streamSpecification
* The current DynamoDB Streams configuration for the table. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withStreamSpecification(StreamSpecification streamSpecification) { this.streamSpecification = streamSpecification; 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:
*
* the AWS customer ID. *
** the table name. *
*
* the StreamLabel
.
*
* 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:
*
* the AWS customer ID. *
** the table name. *
*
* the StreamLabel
.
*
* 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:
*
* the AWS customer ID. *
** the table name. *
*
* the StreamLabel
.
*
* 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:
*
* the AWS customer ID. *
** the table name. *
*
* the StreamLabel
.
*
* 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:
*
* the AWS customer ID. *
** the table name. *
*
* the StreamLabel
.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param 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:
*
* the AWS customer ID. *
** the table name. *
*
* the StreamLabel
.
*
* The Amazon Resource Name (ARN) that uniquely identifies the latest stream * for this table. *
*
* Constraints:
* Length: 37 - 1024
*
* @return
* The Amazon Resource Name (ARN) that uniquely identifies the * latest stream for this table. *
*/ public String getLatestStreamArn() { return latestStreamArn; } /** ** The Amazon Resource Name (ARN) that uniquely identifies the latest stream * for this table. *
*
* Constraints:
* Length: 37 - 1024
*
* @param latestStreamArn
* The Amazon Resource Name (ARN) that uniquely identifies the * latest stream for this table. *
*/ public void setLatestStreamArn(String latestStreamArn) { this.latestStreamArn = latestStreamArn; } /** ** The Amazon Resource Name (ARN) that uniquely identifies the latest stream * for this table. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 37 - 1024
*
* @param latestStreamArn
* The Amazon Resource Name (ARN) that uniquely identifies the * latest stream for this table. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withLatestStreamArn(String latestStreamArn) { this.latestStreamArn = latestStreamArn; return this; } /** ** Contains details for the restore. *
* * @return* Contains details for the restore. *
*/ public RestoreSummary getRestoreSummary() { return restoreSummary; } /** ** Contains details for the restore. *
* * @param restoreSummary* Contains details for the restore. *
*/ public void setRestoreSummary(RestoreSummary restoreSummary) { this.restoreSummary = restoreSummary; } /** ** Contains details for the restore. *
** Returns a reference to this object so that method calls can be chained * together. * * @param restoreSummary
* Contains details for the restore. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withRestoreSummary(RestoreSummary restoreSummary) { this.restoreSummary = restoreSummary; return this; } /** ** The description of the server-side encryption status on the specified * table. *
* * @return* The description of the server-side encryption status on the * specified table. *
*/ public SSEDescription getSSEDescription() { return sSEDescription; } /** ** The description of the server-side encryption status on the specified * table. *
* * @param sSEDescription* The description of the server-side encryption status on the * specified table. *
*/ public void setSSEDescription(SSEDescription sSEDescription) { this.sSEDescription = sSEDescription; } /** ** The description of the server-side encryption status on the specified * table. *
** Returns a reference to this object so that method calls can be chained * together. * * @param sSEDescription
* The description of the server-side encryption status on the * specified table. *
* @return A reference to this updated object so that method calls can be * chained together. */ public TableDescription withSSEDescription(SSEDescription sSEDescription) { this.sSEDescription = sSEDescription; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAttributeDefinitions() != null) sb.append("AttributeDefinitions: " + getAttributeDefinitions() + ","); if (getTableName() != null) sb.append("TableName: " + getTableName() + ","); if (getKeySchema() != null) sb.append("KeySchema: " + getKeySchema() + ","); if (getTableStatus() != null) sb.append("TableStatus: " + getTableStatus() + ","); if (getCreationDateTime() != null) sb.append("CreationDateTime: " + getCreationDateTime() + ","); if (getProvisionedThroughput() != null) sb.append("ProvisionedThroughput: " + getProvisionedThroughput() + ","); if (getTableSizeBytes() != null) sb.append("TableSizeBytes: " + getTableSizeBytes() + ","); if (getItemCount() != null) sb.append("ItemCount: " + getItemCount() + ","); if (getTableArn() != null) sb.append("TableArn: " + getTableArn() + ","); if (getTableId() != null) sb.append("TableId: " + getTableId() + ","); if (getLocalSecondaryIndexes() != null) sb.append("LocalSecondaryIndexes: " + getLocalSecondaryIndexes() + ","); if (getGlobalSecondaryIndexes() != null) sb.append("GlobalSecondaryIndexes: " + getGlobalSecondaryIndexes() + ","); if (getStreamSpecification() != null) sb.append("StreamSpecification: " + getStreamSpecification() + ","); if (getLatestStreamLabel() != null) sb.append("LatestStreamLabel: " + getLatestStreamLabel() + ","); if (getLatestStreamArn() != null) sb.append("LatestStreamArn: " + getLatestStreamArn() + ","); if (getRestoreSummary() != null) sb.append("RestoreSummary: " + getRestoreSummary() + ","); if (getSSEDescription() != null) sb.append("SSEDescription: " + getSSEDescription()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAttributeDefinitions() == null) ? 0 : getAttributeDefinitions().hashCode()); hashCode = prime * hashCode + ((getTableName() == null) ? 0 : getTableName().hashCode()); hashCode = prime * hashCode + ((getKeySchema() == null) ? 0 : getKeySchema().hashCode()); hashCode = prime * hashCode + ((getTableStatus() == null) ? 0 : getTableStatus().hashCode()); hashCode = prime * hashCode + ((getCreationDateTime() == null) ? 0 : getCreationDateTime().hashCode()); hashCode = prime * hashCode + ((getProvisionedThroughput() == null) ? 0 : getProvisionedThroughput().hashCode()); hashCode = prime * hashCode + ((getTableSizeBytes() == null) ? 0 : getTableSizeBytes().hashCode()); hashCode = prime * hashCode + ((getItemCount() == null) ? 0 : getItemCount().hashCode()); hashCode = prime * hashCode + ((getTableArn() == null) ? 0 : getTableArn().hashCode()); hashCode = prime * hashCode + ((getTableId() == null) ? 0 : getTableId().hashCode()); hashCode = prime * hashCode + ((getLocalSecondaryIndexes() == null) ? 0 : getLocalSecondaryIndexes().hashCode()); hashCode = prime * hashCode + ((getGlobalSecondaryIndexes() == null) ? 0 : getGlobalSecondaryIndexes() .hashCode()); hashCode = prime * hashCode + ((getStreamSpecification() == null) ? 0 : getStreamSpecification().hashCode()); hashCode = prime * hashCode + ((getLatestStreamLabel() == null) ? 0 : getLatestStreamLabel().hashCode()); hashCode = prime * hashCode + ((getLatestStreamArn() == null) ? 0 : getLatestStreamArn().hashCode()); hashCode = prime * hashCode + ((getRestoreSummary() == null) ? 0 : getRestoreSummary().hashCode()); hashCode = prime * hashCode + ((getSSEDescription() == null) ? 0 : getSSEDescription().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof TableDescription == false) return false; TableDescription other = (TableDescription) obj; if (other.getAttributeDefinitions() == null ^ this.getAttributeDefinitions() == null) return false; if (other.getAttributeDefinitions() != null && other.getAttributeDefinitions().equals(this.getAttributeDefinitions()) == false) return false; if (other.getTableName() == null ^ this.getTableName() == null) return false; if (other.getTableName() != null && other.getTableName().equals(this.getTableName()) == false) return false; if (other.getKeySchema() == null ^ this.getKeySchema() == null) return false; if (other.getKeySchema() != null && other.getKeySchema().equals(this.getKeySchema()) == false) return false; if (other.getTableStatus() == null ^ this.getTableStatus() == null) return false; if (other.getTableStatus() != null && other.getTableStatus().equals(this.getTableStatus()) == false) return false; if (other.getCreationDateTime() == null ^ this.getCreationDateTime() == null) return false; if (other.getCreationDateTime() != null && other.getCreationDateTime().equals(this.getCreationDateTime()) == false) return false; if (other.getProvisionedThroughput() == null ^ this.getProvisionedThroughput() == null) return false; if (other.getProvisionedThroughput() != null && other.getProvisionedThroughput().equals(this.getProvisionedThroughput()) == false) return false; if (other.getTableSizeBytes() == null ^ this.getTableSizeBytes() == null) return false; if (other.getTableSizeBytes() != null && other.getTableSizeBytes().equals(this.getTableSizeBytes()) == false) return false; if (other.getItemCount() == null ^ this.getItemCount() == null) return false; if (other.getItemCount() != null && other.getItemCount().equals(this.getItemCount()) == false) return false; if (other.getTableArn() == null ^ this.getTableArn() == null) return false; if (other.getTableArn() != null && other.getTableArn().equals(this.getTableArn()) == false) return false; if (other.getTableId() == null ^ this.getTableId() == null) return false; if (other.getTableId() != null && other.getTableId().equals(this.getTableId()) == false) return false; if (other.getLocalSecondaryIndexes() == null ^ this.getLocalSecondaryIndexes() == null) return false; if (other.getLocalSecondaryIndexes() != null && other.getLocalSecondaryIndexes().equals(this.getLocalSecondaryIndexes()) == false) return false; if (other.getGlobalSecondaryIndexes() == null ^ this.getGlobalSecondaryIndexes() == null) return false; if (other.getGlobalSecondaryIndexes() != null && other.getGlobalSecondaryIndexes().equals(this.getGlobalSecondaryIndexes()) == false) return false; if (other.getStreamSpecification() == null ^ this.getStreamSpecification() == null) return false; if (other.getStreamSpecification() != null && other.getStreamSpecification().equals(this.getStreamSpecification()) == false) return false; if (other.getLatestStreamLabel() == null ^ this.getLatestStreamLabel() == null) return false; if (other.getLatestStreamLabel() != null && other.getLatestStreamLabel().equals(this.getLatestStreamLabel()) == false) return false; if (other.getLatestStreamArn() == null ^ this.getLatestStreamArn() == null) return false; if (other.getLatestStreamArn() != null && other.getLatestStreamArn().equals(this.getLatestStreamArn()) == false) return false; if (other.getRestoreSummary() == null ^ this.getRestoreSummary() == null) return false; if (other.getRestoreSummary() != null && other.getRestoreSummary().equals(this.getRestoreSummary()) == false) return false; if (other.getSSEDescription() == null ^ this.getSSEDescription() == null) return false; if (other.getSSEDescription() != null && other.getSSEDescription().equals(this.getSSEDescription()) == false) return false; return true; } }