com.amazonaws.services.dynamodbv2.model.TableDescription Maven / Gradle / Ivy
/*
* Copyright 2016-2021 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;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Represents the properties of a table.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class TableDescription implements Serializable, Cloneable, StructuredPojo {
/**
*
* 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.
*
*
*
*/
private java.util.List attributeDefinitions;
/**
*
* The name of the table.
*
*/
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'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.
*
*/
private java.util.List keySchema;
/**
*
* 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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in inaccessible.
* Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the table archival
* process when a table's AWS 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.
*
*
*
*/
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.
*
*/
private String tableId;
/**
*
* Contains the details for the read/write capacity mode.
*
*/
private BillingModeSummary billingModeSummary;
/**
*
* 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 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.
*
*/
private java.util.List localSecondaryIndexes;
/**
*
* 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 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.
*
*/
private java.util.List globalSecondaryIndexes;
/**
*
* 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:
*
*
* -
*
* AWS customer ID
*
*
* -
*
* Table name
*
*
* -
*
* StreamLabel
*
*
*
*/
private String latestStreamLabel;
/**
*
* The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.
*
*/
private String latestStreamArn;
/**
*
* Represents the version of global tables in
* use, if the table is replicated across AWS Regions.
*
*/
private String globalTableVersion;
/**
*
* Represents replicas of the table.
*
*/
private java.util.List replicas;
/**
*
* Contains details for the restore.
*
*/
private RestoreSummary restoreSummary;
/**
*
* The description of the server-side encryption status on the specified table.
*
*/
private SSEDescription sSEDescription;
/**
*
* Contains information about the table archive.
*
*/
private ArchivalSummary archivalSummary;
/**
*
* 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.
*
*
*
*
* @return 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.
*
*
*/
public java.util.List getAttributeDefinitions() {
return 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.
*
*
*
*
* @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.
*
*
*/
public void setAttributeDefinitions(java.util.Collection attributeDefinitions) {
if (attributeDefinitions == null) {
this.attributeDefinitions = null;
return;
}
this.attributeDefinitions = new java.util.ArrayList(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.
*
*
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAttributeDefinitions(java.util.Collection)} or {@link #withAttributeDefinitions(java.util.Collection)}
* if you want to override the existing values.
*
*
* @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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withAttributeDefinitions(AttributeDefinition... attributeDefinitions) {
if (this.attributeDefinitions == null) {
setAttributeDefinitions(new java.util.ArrayList(attributeDefinitions.length));
}
for (AttributeDefinition ele : attributeDefinitions) {
this.attributeDefinitions.add(ele);
}
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.
*
*
*
*
* @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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withAttributeDefinitions(java.util.Collection attributeDefinitions) {
setAttributeDefinitions(attributeDefinitions);
return this;
}
/**
*
* The name of the table.
*
*
* @param tableName
* The name of the table.
*/
public void setTableName(String tableName) {
this.tableName = tableName;
}
/**
*
* The name of the table.
*
*
* @return The name of the table.
*/
public String getTableName() {
return this.tableName;
}
/**
*
* The name of the table.
*
*
* @param tableName
* The name of the table.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withTableName(String tableName) {
setTableName(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'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.
*
*
* @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'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.
*/
public java.util.List getKeySchema() {
return 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.
*
*
* @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'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.
*/
public void setKeySchema(java.util.Collection keySchema) {
if (keySchema == null) {
this.keySchema = null;
return;
}
this.keySchema = new java.util.ArrayList(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.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setKeySchema(java.util.Collection)} or {@link #withKeySchema(java.util.Collection)} if you want to
* override the existing values.
*
*
* @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'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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withKeySchema(KeySchemaElement... keySchema) {
if (this.keySchema == null) {
setKeySchema(new java.util.ArrayList(keySchema.length));
}
for (KeySchemaElement ele : keySchema) {
this.keySchema.add(ele);
}
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.
*
*
* @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'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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withKeySchema(java.util.Collection keySchema) {
setKeySchema(keySchema);
return this;
}
/**
*
* 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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in inaccessible.
* Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the table archival
* process when a table's AWS 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.
*
*
*
*
* @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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in
* inaccessible. Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the
* table archival process when a table's AWS 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.
*
*
* @see TableStatus
*/
public void setTableStatus(String tableStatus) {
this.tableStatus = 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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in inaccessible.
* Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the table archival
* process when a table's AWS 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.
*
*
*
*
* @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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in
* inaccessible. Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the
* table archival process when a table's AWS 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.
*
*
* @see TableStatus
*/
public String getTableStatus() {
return this.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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in inaccessible.
* Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the table archival
* process when a table's AWS 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.
*
*
*
*
* @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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in
* inaccessible. Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the
* table archival process when a table's AWS 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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see TableStatus
*/
public TableDescription withTableStatus(String tableStatus) {
setTableStatus(tableStatus);
return this;
}
/**
*
* 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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in inaccessible.
* Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the table archival
* process when a table's AWS 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.
*
*
*
*
* @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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in
* inaccessible. Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the
* table archival process when a table's AWS 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.
*
*
* @see TableStatus
*/
public void setTableStatus(TableStatus tableStatus) {
withTableStatus(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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in inaccessible.
* Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the table archival
* process when a table's AWS 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.
*
*
*
*
* @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.
*
*
* -
*
* INACCESSIBLE_ENCRYPTION_CREDENTIALS
- The AWS KMS key used to encrypt the table in
* inaccessible. Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the
* table archival process when a table's AWS 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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see TableStatus
*/
public TableDescription withTableStatus(TableStatus tableStatus) {
this.tableStatus = tableStatus.toString();
return this;
}
/**
*
* 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.
*
*
* @return The date and time when the table was created, in UNIX epoch
* time format.
*/
public java.util.Date getCreationDateTime() {
return this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withCreationDateTime(java.util.Date creationDateTime) {
setCreationDateTime(creationDateTime);
return this;
}
/**
*
* 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.
*
*
* @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 this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withProvisionedThroughput(ProvisionedThroughputDescription provisionedThroughput) {
setProvisionedThroughput(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.
*
*
* @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.
*
*
* @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 this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withTableSizeBytes(Long tableSizeBytes) {
setTableSizeBytes(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.
*
*
* @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.
*
*
* @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 this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withItemCount(Long itemCount) {
setItemCount(itemCount);
return this;
}
/**
*
* 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.
*
*
* @return The Amazon Resource Name (ARN) that uniquely identifies the table.
*/
public String getTableArn() {
return this.tableArn;
}
/**
*
* The Amazon Resource Name (ARN) that uniquely identifies the table.
*
*
* @param tableArn
* The Amazon Resource Name (ARN) that uniquely identifies the table.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withTableArn(String tableArn) {
setTableArn(tableArn);
return this;
}
/**
*
* Unique identifier for the table for which the backup was created.
*
*
* @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.
*
*
* @return Unique identifier for the table for which the backup was created.
*/
public String getTableId() {
return this.tableId;
}
/**
*
* Unique identifier for the table for which the backup was created.
*
*
* @param tableId
* Unique identifier for the table for which the backup was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withTableId(String tableId) {
setTableId(tableId);
return this;
}
/**
*
* Contains the details for the read/write capacity mode.
*
*
* @param billingModeSummary
* Contains the details for the read/write capacity mode.
*/
public void setBillingModeSummary(BillingModeSummary billingModeSummary) {
this.billingModeSummary = billingModeSummary;
}
/**
*
* Contains the details for the read/write capacity mode.
*
*
* @return Contains the details for the read/write capacity mode.
*/
public BillingModeSummary getBillingModeSummary() {
return this.billingModeSummary;
}
/**
*
* Contains the details for the read/write capacity mode.
*
*
* @param billingModeSummary
* Contains the details for the read/write capacity mode.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withBillingModeSummary(BillingModeSummary billingModeSummary) {
setBillingModeSummary(billingModeSummary);
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 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.
*
*
* @return 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 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.
*/
public java.util.List getLocalSecondaryIndexes() {
return 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 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.
*
*
* @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 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 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.
*/
public void setLocalSecondaryIndexes(java.util.Collection localSecondaryIndexes) {
if (localSecondaryIndexes == null) {
this.localSecondaryIndexes = null;
return;
}
this.localSecondaryIndexes = new java.util.ArrayList(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 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.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setLocalSecondaryIndexes(java.util.Collection)} or
* {@link #withLocalSecondaryIndexes(java.util.Collection)} if you want to override the existing values.
*
*
* @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 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 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withLocalSecondaryIndexes(LocalSecondaryIndexDescription... localSecondaryIndexes) {
if (this.localSecondaryIndexes == null) {
setLocalSecondaryIndexes(new java.util.ArrayList(localSecondaryIndexes.length));
}
for (LocalSecondaryIndexDescription ele : localSecondaryIndexes) {
this.localSecondaryIndexes.add(ele);
}
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 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.
*
*
* @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 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 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withLocalSecondaryIndexes(java.util.Collection localSecondaryIndexes) {
setLocalSecondaryIndexes(localSecondaryIndexes);
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 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.
*
*
* @return 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 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.
*/
public java.util.List getGlobalSecondaryIndexes() {
return 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 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.
*
*
* @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.)
*
*
* 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 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.
*/
public void setGlobalSecondaryIndexes(java.util.Collection globalSecondaryIndexes) {
if (globalSecondaryIndexes == null) {
this.globalSecondaryIndexes = null;
return;
}
this.globalSecondaryIndexes = new java.util.ArrayList(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 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.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setGlobalSecondaryIndexes(java.util.Collection)} or
* {@link #withGlobalSecondaryIndexes(java.util.Collection)} if you want to override the existing values.
*
*
* @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.)
*
*
* 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 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withGlobalSecondaryIndexes(GlobalSecondaryIndexDescription... globalSecondaryIndexes) {
if (this.globalSecondaryIndexes == null) {
setGlobalSecondaryIndexes(new java.util.ArrayList(globalSecondaryIndexes.length));
}
for (GlobalSecondaryIndexDescription ele : globalSecondaryIndexes) {
this.globalSecondaryIndexes.add(ele);
}
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 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.
*
*
* @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.)
*
*
* 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 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withGlobalSecondaryIndexes(java.util.Collection globalSecondaryIndexes) {
setGlobalSecondaryIndexes(globalSecondaryIndexes);
return this;
}
/**
*
* 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.
*
*
* @return The current DynamoDB Streams configuration for the table.
*/
public StreamSpecification getStreamSpecification() {
return this.streamSpecification;
}
/**
*
* The current DynamoDB Streams configuration for the table.
*
*
* @param streamSpecification
* The current DynamoDB Streams configuration for the table.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withStreamSpecification(StreamSpecification streamSpecification) {
setStreamSpecification(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:
*
*
* -
*
* AWS customer ID
*
*
* -
*
* Table name
*
*
* -
*
* StreamLabel
*
*
*
*
* @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:
*
*
* -
*
* AWS customer ID
*
*
* -
*
* Table name
*
*
* -
*
* StreamLabel
*
*
*/
public void setLatestStreamLabel(String latestStreamLabel) {
this.latestStreamLabel = 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:
*
*
* -
*
* AWS customer ID
*
*
* -
*
* Table name
*
*
* -
*
* StreamLabel
*
*
*
*
* @return 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:
*
*
* -
*
* AWS customer ID
*
*
* -
*
* Table name
*
*
* -
*
* StreamLabel
*
*
*/
public String getLatestStreamLabel() {
return this.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:
*
*
* -
*
* AWS customer ID
*
*
* -
*
* Table name
*
*
* -
*
* StreamLabel
*
*
*
*
* @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:
*
*
* -
*
* AWS customer ID
*
*
* -
*
* Table name
*
*
* -
*
* StreamLabel
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withLatestStreamLabel(String latestStreamLabel) {
setLatestStreamLabel(latestStreamLabel);
return this;
}
/**
*
* The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.
*
*
* @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.
*
*
* @return The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.
*/
public String getLatestStreamArn() {
return this.latestStreamArn;
}
/**
*
* The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.
*
*
* @param latestStreamArn
* The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withLatestStreamArn(String latestStreamArn) {
setLatestStreamArn(latestStreamArn);
return this;
}
/**
*
* Represents the version of global tables in
* use, if the table is replicated across AWS Regions.
*
*
* @param globalTableVersion
* Represents the version of global
* tables in use, if the table is replicated across AWS Regions.
*/
public void setGlobalTableVersion(String globalTableVersion) {
this.globalTableVersion = globalTableVersion;
}
/**
*
* Represents the version of global tables in
* use, if the table is replicated across AWS Regions.
*
*
* @return Represents the version of global
* tables in use, if the table is replicated across AWS Regions.
*/
public String getGlobalTableVersion() {
return this.globalTableVersion;
}
/**
*
* Represents the version of global tables in
* use, if the table is replicated across AWS Regions.
*
*
* @param globalTableVersion
* Represents the version of global
* tables in use, if the table is replicated across AWS Regions.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withGlobalTableVersion(String globalTableVersion) {
setGlobalTableVersion(globalTableVersion);
return this;
}
/**
*
* Represents replicas of the table.
*
*
* @return Represents replicas of the table.
*/
public java.util.List getReplicas() {
return replicas;
}
/**
*
* Represents replicas of the table.
*
*
* @param replicas
* Represents replicas of the table.
*/
public void setReplicas(java.util.Collection replicas) {
if (replicas == null) {
this.replicas = null;
return;
}
this.replicas = new java.util.ArrayList(replicas);
}
/**
*
* Represents replicas of the table.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setReplicas(java.util.Collection)} or {@link #withReplicas(java.util.Collection)} if you want to override
* the existing values.
*
*
* @param replicas
* Represents replicas of the table.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withReplicas(ReplicaDescription... replicas) {
if (this.replicas == null) {
setReplicas(new java.util.ArrayList(replicas.length));
}
for (ReplicaDescription ele : replicas) {
this.replicas.add(ele);
}
return this;
}
/**
*
* Represents replicas of the table.
*
*
* @param replicas
* Represents replicas of the table.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withReplicas(java.util.Collection replicas) {
setReplicas(replicas);
return this;
}
/**
*
* 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.
*
*
* @return Contains details for the restore.
*/
public RestoreSummary getRestoreSummary() {
return this.restoreSummary;
}
/**
*
* Contains details for the restore.
*
*
* @param restoreSummary
* Contains details for the restore.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withRestoreSummary(RestoreSummary restoreSummary) {
setRestoreSummary(restoreSummary);
return this;
}
/**
*
* 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.
*
*
* @return The description of the server-side encryption status on the specified table.
*/
public SSEDescription getSSEDescription() {
return this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withSSEDescription(SSEDescription sSEDescription) {
setSSEDescription(sSEDescription);
return this;
}
/**
*
* Contains information about the table archive.
*
*
* @param archivalSummary
* Contains information about the table archive.
*/
public void setArchivalSummary(ArchivalSummary archivalSummary) {
this.archivalSummary = archivalSummary;
}
/**
*
* Contains information about the table archive.
*
*
* @return Contains information about the table archive.
*/
public ArchivalSummary getArchivalSummary() {
return this.archivalSummary;
}
/**
*
* Contains information about the table archive.
*
*
* @param archivalSummary
* Contains information about the table archive.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TableDescription withArchivalSummary(ArchivalSummary archivalSummary) {
setArchivalSummary(archivalSummary);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @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: ").append(getAttributeDefinitions()).append(",");
if (getTableName() != null)
sb.append("TableName: ").append(getTableName()).append(",");
if (getKeySchema() != null)
sb.append("KeySchema: ").append(getKeySchema()).append(",");
if (getTableStatus() != null)
sb.append("TableStatus: ").append(getTableStatus()).append(",");
if (getCreationDateTime() != null)
sb.append("CreationDateTime: ").append(getCreationDateTime()).append(",");
if (getProvisionedThroughput() != null)
sb.append("ProvisionedThroughput: ").append(getProvisionedThroughput()).append(",");
if (getTableSizeBytes() != null)
sb.append("TableSizeBytes: ").append(getTableSizeBytes()).append(",");
if (getItemCount() != null)
sb.append("ItemCount: ").append(getItemCount()).append(",");
if (getTableArn() != null)
sb.append("TableArn: ").append(getTableArn()).append(",");
if (getTableId() != null)
sb.append("TableId: ").append(getTableId()).append(",");
if (getBillingModeSummary() != null)
sb.append("BillingModeSummary: ").append(getBillingModeSummary()).append(",");
if (getLocalSecondaryIndexes() != null)
sb.append("LocalSecondaryIndexes: ").append(getLocalSecondaryIndexes()).append(",");
if (getGlobalSecondaryIndexes() != null)
sb.append("GlobalSecondaryIndexes: ").append(getGlobalSecondaryIndexes()).append(",");
if (getStreamSpecification() != null)
sb.append("StreamSpecification: ").append(getStreamSpecification()).append(",");
if (getLatestStreamLabel() != null)
sb.append("LatestStreamLabel: ").append(getLatestStreamLabel()).append(",");
if (getLatestStreamArn() != null)
sb.append("LatestStreamArn: ").append(getLatestStreamArn()).append(",");
if (getGlobalTableVersion() != null)
sb.append("GlobalTableVersion: ").append(getGlobalTableVersion()).append(",");
if (getReplicas() != null)
sb.append("Replicas: ").append(getReplicas()).append(",");
if (getRestoreSummary() != null)
sb.append("RestoreSummary: ").append(getRestoreSummary()).append(",");
if (getSSEDescription() != null)
sb.append("SSEDescription: ").append(getSSEDescription()).append(",");
if (getArchivalSummary() != null)
sb.append("ArchivalSummary: ").append(getArchivalSummary());
sb.append("}");
return sb.toString();
}
@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.getBillingModeSummary() == null ^ this.getBillingModeSummary() == null)
return false;
if (other.getBillingModeSummary() != null && other.getBillingModeSummary().equals(this.getBillingModeSummary()) == 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.getGlobalTableVersion() == null ^ this.getGlobalTableVersion() == null)
return false;
if (other.getGlobalTableVersion() != null && other.getGlobalTableVersion().equals(this.getGlobalTableVersion()) == false)
return false;
if (other.getReplicas() == null ^ this.getReplicas() == null)
return false;
if (other.getReplicas() != null && other.getReplicas().equals(this.getReplicas()) == 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;
if (other.getArchivalSummary() == null ^ this.getArchivalSummary() == null)
return false;
if (other.getArchivalSummary() != null && other.getArchivalSummary().equals(this.getArchivalSummary()) == false)
return false;
return true;
}
@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 + ((getBillingModeSummary() == null) ? 0 : getBillingModeSummary().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 + ((getGlobalTableVersion() == null) ? 0 : getGlobalTableVersion().hashCode());
hashCode = prime * hashCode + ((getReplicas() == null) ? 0 : getReplicas().hashCode());
hashCode = prime * hashCode + ((getRestoreSummary() == null) ? 0 : getRestoreSummary().hashCode());
hashCode = prime * hashCode + ((getSSEDescription() == null) ? 0 : getSSEDescription().hashCode());
hashCode = prime * hashCode + ((getArchivalSummary() == null) ? 0 : getArchivalSummary().hashCode());
return hashCode;
}
@Override
public TableDescription clone() {
try {
return (TableDescription) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.dynamodbv2.model.transform.TableDescriptionMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}