All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.dynamodbv2.model.TableDescription Maven / Gradle / Ivy

/*
 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.dynamodbv2.model;

import java.io.Serializable;

/**
 * 

* Represents the properties of a table. *

*/ public class TableDescription implements Serializable { /** * An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

*/ private com.amazonaws.internal.ListWithAutoConstructFlag attributeDefinitions; /** * The name of the table. *

* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*/ private String tableName; /** * The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the attribute: . *

    • HASH - partition key

    • *
    • RANGE - sort key

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

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

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

* Constraints:
* Length: 1 - 2
*/ private com.amazonaws.internal.ListWithAutoConstructFlag 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. *

*

* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE */ private String tableStatus; /** * The date and time when the table was created, in UNIX epoch time format. */ private java.util.Date creationDateTime; /** * The provisioned throughput settings for the table, consisting of read * and write capacity units, along with data about increases and * decreases. */ private ProvisionedThroughputDescription provisionedThroughput; /** * The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. */ private Long tableSizeBytes; /** * The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. */ private Long itemCount; /** * The Amazon Resource Name (ARN) that uniquely identifies the table. */ private String tableArn; /** * Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection size * limit, where the amount of data within a given item collection cannot * exceed 10 GB. Each element is composed of:

  • *

    IndexName - The name of the local secondary index.

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

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

    • *

      ProjectionType - One of the following:

      • *

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

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

      • *

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

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

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

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

If the table is in the * DELETING state, no information about indexes will be * returned. */ private com.amazonaws.internal.ListWithAutoConstructFlag 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.)

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

  • *

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

  • *

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

    • CREATING - The index is being created. *

    • UPDATING - The index is being updated.

    • *

      DELETING - The index is being deleted.

    • *

      ACTIVE - The index is ready for use.

  • *

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

  • *

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

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

    • ProjectionType - One of the following:

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

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

      • *

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

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

  • *

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

*

If the table is in the DELETING state, no information * about indexes will be returned. */ private com.amazonaws.internal.ListWithAutoConstructFlag 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:

  • the AWS customer * ID.

  • the table name.

  • the * StreamLabel.

*/ private String latestStreamLabel; /** * The Amazon Resource Name (ARN) that uniquely identifies the latest * stream for this table. *

* Constraints:
* Length: 37 - 1024
*/ private String latestStreamArn; /** * Default constructor for a new TableDescription object. Callers should use the * setter or fluent setter (with...) methods to initialize this object after creating it. */ public TableDescription() {} /** * 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; } com.amazonaws.internal.ListWithAutoConstructFlag attributeDefinitionsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(attributeDefinitions.size()); attributeDefinitionsCopy.addAll(attributeDefinitions); this.attributeDefinitions = attributeDefinitionsCopy; } /** * An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

*

* Returns a reference to this object so that method calls can be chained together. * * @param attributeDefinitions An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

* * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withAttributeDefinitions(AttributeDefinition... attributeDefinitions) { if (getAttributeDefinitions() == null) setAttributeDefinitions(new java.util.ArrayList(attributeDefinitions.length)); for (AttributeDefinition value : attributeDefinitions) { getAttributeDefinitions().add(value); } return this; } /** * An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

*

* Returns a reference to this object so that method calls can be chained together. * * @param attributeDefinitions An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema.

Each * AttributeDefinition object in this array is composed of:

    *
  • AttributeName - The name of the attribute.

  • *

    AttributeType - The data type for the attribute.

* * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withAttributeDefinitions(java.util.Collection attributeDefinitions) { if (attributeDefinitions == null) { this.attributeDefinitions = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag attributeDefinitionsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(attributeDefinitions.size()); attributeDefinitionsCopy.addAll(attributeDefinitions); this.attributeDefinitions = attributeDefinitionsCopy; } return this; } /** * The name of the table. *

* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
* * @return The name of the table. */ public String getTableName() { return tableName; } /** * The name of the table. *

* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
* * @param tableName The name of the table. */ public void setTableName(String tableName) { this.tableName = tableName; } /** * The name of the table. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
* * @param tableName The name of the table. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withTableName(String tableName) { this.tableName = tableName; return this; } /** * The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the attribute: . *

    • HASH - partition key

    • *
    • RANGE - sort key

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

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

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

* Constraints:
* Length: 1 - 2
* * @return The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the attribute: . *

    • HASH - partition key

    • *
    • RANGE - sort key

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

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

For more information about primary keys, * see Primary * Key in the Amazon DynamoDB Developer Guide. */ public java.util.List 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' 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. *

* Constraints:
* Length: 1 - 2
* * @param keySchema The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the attribute: . *

    • HASH - partition key

    • *
    • RANGE - sort key

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

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

For more information about primary keys, * see Primary * Key in the Amazon DynamoDB Developer Guide. */ public void setKeySchema(java.util.Collection keySchema) { if (keySchema == null) { this.keySchema = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag keySchemaCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(keySchema.size()); keySchemaCopy.addAll(keySchema); this.keySchema = keySchemaCopy; } /** * The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the attribute: . *

    • HASH - partition key

    • *
    • RANGE - sort key

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

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

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

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 2
* * @param keySchema The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the attribute: . *

    • HASH - partition key

    • *
    • RANGE - sort key

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

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

For more information about primary keys, * see Primary * Key in the Amazon DynamoDB Developer Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withKeySchema(KeySchemaElement... keySchema) { if (getKeySchema() == null) setKeySchema(new java.util.ArrayList(keySchema.length)); for (KeySchemaElement value : keySchema) { getKeySchema().add(value); } return this; } /** * The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the attribute: . *

    • HASH - partition key

    • *
    • RANGE - sort key

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

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

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

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 2
* * @param keySchema The primary key structure for the table. Each KeySchemaElement * consists of:

  • AttributeName - The name of the * attribute.

  • KeyType - The role of the attribute: . *

    • HASH - partition key

    • *
    • RANGE - sort key

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

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

For more information about primary keys, * see Primary * Key in the Amazon DynamoDB Developer Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withKeySchema(java.util.Collection keySchema) { if (keySchema == null) { this.keySchema = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag keySchemaCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(keySchema.size()); keySchemaCopy.addAll(keySchema); this.keySchema = keySchemaCopy; } 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. *

*

* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE * * @return The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The table is * being updated.

  • DELETING - The table is being * deleted.

  • ACTIVE - The table is ready for use. *

* * @see TableStatus */ public String getTableStatus() { return 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. *

*

* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE * * @param tableStatus The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The table is * being updated.

  • DELETING - The table is being * deleted.

  • ACTIVE - The table is ready for use. *

* * @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. *

*

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE * * @param tableStatus The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The table is * being updated.

  • DELETING - The table is being * deleted.

  • ACTIVE - The table is ready for use. *

* * @return A reference to this updated object so that method calls can be chained * together. * * @see TableStatus */ public TableDescription withTableStatus(String tableStatus) { this.tableStatus = 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. *

*

* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE * * @param tableStatus The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The table is * being updated.

  • DELETING - The table is being * deleted.

  • ACTIVE - The table is ready for use. *

* * @see TableStatus */ public void setTableStatus(TableStatus tableStatus) { this.tableStatus = tableStatus.toString(); } /** * The current state of the table:
  • CREATING - The * table is being created.

  • UPDATING - The table is * being updated.

  • DELETING - The table is being * deleted.

  • ACTIVE - The table is ready for use. *

*

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: CREATING, UPDATING, DELETING, ACTIVE * * @param tableStatus The current state of the table:

  • CREATING - The * table is being created.

  • UPDATING - The table is * being updated.

  • DELETING - The table is being * deleted.

  • ACTIVE - The table is ready for use. *

* * @return A reference to this updated 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. * * @return The date and time when the table was created, in UNIX epoch time format. */ public java.util.Date getCreationDateTime() { return creationDateTime; } /** * The date and time when the table was created, in UNIX epoch time format. * * @param creationDateTime The date and time when the table was created, in UNIX epoch time format. */ public void setCreationDateTime(java.util.Date creationDateTime) { this.creationDateTime = creationDateTime; } /** * The date and time when the table was created, in UNIX epoch time format. *

* Returns a reference to this object so that method calls can be chained together. * * @param creationDateTime The date and time when the table was created, in UNIX epoch time format. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withCreationDateTime(java.util.Date creationDateTime) { this.creationDateTime = creationDateTime; return this; } /** * The provisioned throughput settings for the table, consisting of read * and write capacity units, along with data about increases and * decreases. * * @return The provisioned throughput settings for the table, consisting of read * and write capacity units, along with data about increases and * decreases. */ public ProvisionedThroughputDescription getProvisionedThroughput() { return provisionedThroughput; } /** * The provisioned throughput settings for the table, consisting of read * and write capacity units, along with data about increases and * decreases. * * @param provisionedThroughput The provisioned throughput settings for the table, consisting of read * and write capacity units, along with data about increases and * decreases. */ public void setProvisionedThroughput(ProvisionedThroughputDescription provisionedThroughput) { this.provisionedThroughput = provisionedThroughput; } /** * The provisioned throughput settings for the table, consisting of read * and write capacity units, along with data about increases and * decreases. *

* Returns a reference to this object so that method calls can be chained together. * * @param provisionedThroughput The provisioned throughput settings for the table, consisting of read * and write capacity units, along with data about increases and * decreases. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withProvisionedThroughput(ProvisionedThroughputDescription provisionedThroughput) { this.provisionedThroughput = provisionedThroughput; return this; } /** * The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. * * @return The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. */ public Long getTableSizeBytes() { return tableSizeBytes; } /** * The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. * * @param tableSizeBytes The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. */ public void setTableSizeBytes(Long tableSizeBytes) { this.tableSizeBytes = tableSizeBytes; } /** * The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. *

* Returns a reference to this object so that method calls can be chained together. * * @param tableSizeBytes The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withTableSizeBytes(Long tableSizeBytes) { this.tableSizeBytes = tableSizeBytes; return this; } /** * The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. * * @return The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. */ public Long getItemCount() { return itemCount; } /** * The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. * * @param itemCount The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. */ public void setItemCount(Long itemCount) { this.itemCount = itemCount; } /** * The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. *

* Returns a reference to this object so that method calls can be chained together. * * @param itemCount The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withItemCount(Long itemCount) { this.itemCount = itemCount; return this; } /** * The Amazon Resource Name (ARN) that uniquely identifies the table. * * @return The Amazon Resource Name (ARN) that uniquely identifies the table. */ public String getTableArn() { return tableArn; } /** * The Amazon Resource Name (ARN) that uniquely identifies the table. * * @param tableArn The Amazon Resource Name (ARN) that uniquely identifies the table. */ public void setTableArn(String tableArn) { this.tableArn = tableArn; } /** * The Amazon Resource Name (ARN) that uniquely identifies the table. *

* Returns a reference to this object so that method calls can be chained together. * * @param tableArn The Amazon Resource Name (ARN) that uniquely identifies the table. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withTableArn(String tableArn) { this.tableArn = tableArn; return this; } /** * Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection size * limit, where the amount of data within a given item collection cannot * exceed 10 GB. Each element is composed of:

  • *

    IndexName - The name of the local secondary index.

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

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

    • *

      ProjectionType - One of the following:

      • *

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

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

      • *

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

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

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

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

If the table is in the * DELETING state, no information about indexes will be * returned. * * @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 are in NonKeyAttributes.

      • *

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

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

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

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

If the table is in the * DELETING state, no information about indexes will be * returned. */ 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 are in NonKeyAttributes.

      • *

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

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

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

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

If the table is in the * DELETING state, no information about indexes will be * returned. * * @param localSecondaryIndexes Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection size * limit, where the amount of data within a given item collection cannot * exceed 10 GB. Each element is composed of:

  • *

    IndexName - The name of the local secondary index.

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

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

    • *

      ProjectionType - One of the following:

      • *

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

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

      • *

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

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

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

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

If the table is in the * DELETING state, no information about indexes will be * returned. */ public void setLocalSecondaryIndexes(java.util.Collection localSecondaryIndexes) { if (localSecondaryIndexes == null) { this.localSecondaryIndexes = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag localSecondaryIndexesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(localSecondaryIndexes.size()); localSecondaryIndexesCopy.addAll(localSecondaryIndexes); this.localSecondaryIndexes = localSecondaryIndexesCopy; } /** * Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection size * limit, where the amount of data within a given item collection cannot * exceed 10 GB. Each element is composed of:

  • *

    IndexName - The name of the local secondary index.

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

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

    • *

      ProjectionType - One of the following:

      • *

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

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

      • *

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

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

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

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

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

* Returns a reference to this object so that method calls can be chained together. * * @param localSecondaryIndexes Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection size * limit, where the amount of data within a given item collection cannot * exceed 10 GB. Each element is composed of:

  • *

    IndexName - The name of the local secondary index.

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

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

    • *

      ProjectionType - One of the following:

      • *

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

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

      • *

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

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

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

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

If the table is in the * DELETING state, no information about indexes will be * returned. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withLocalSecondaryIndexes(LocalSecondaryIndexDescription... localSecondaryIndexes) { if (getLocalSecondaryIndexes() == null) setLocalSecondaryIndexes(new java.util.ArrayList(localSecondaryIndexes.length)); for (LocalSecondaryIndexDescription value : localSecondaryIndexes) { getLocalSecondaryIndexes().add(value); } return this; } /** * Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection size * limit, where the amount of data within a given item collection cannot * exceed 10 GB. Each element is composed of:

  • *

    IndexName - The name of the local secondary index.

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

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

    • *

      ProjectionType - One of the following:

      • *

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

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

      • *

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

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

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

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

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

* Returns a reference to this object so that method calls can be chained together. * * @param localSecondaryIndexes Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection size * limit, where the amount of data within a given item collection cannot * exceed 10 GB. Each element is composed of:

  • *

    IndexName - The name of the local secondary index.

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

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

    • *

      ProjectionType - One of the following:

      • *

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

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

      • *

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

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

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

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

If the table is in the * DELETING state, no information about indexes will be * returned. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withLocalSecondaryIndexes(java.util.Collection localSecondaryIndexes) { if (localSecondaryIndexes == null) { this.localSecondaryIndexes = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag localSecondaryIndexesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(localSecondaryIndexes.size()); localSecondaryIndexesCopy.addAll(localSecondaryIndexes); this.localSecondaryIndexes = localSecondaryIndexesCopy; } 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.)

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

  • *

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

  • *

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

    • CREATING - The index is being created. *

    • UPDATING - The index is being updated.

    • *

      DELETING - The index is being deleted.

    • *

      ACTIVE - The index is ready for use.

  • *

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

  • *

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

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

    • ProjectionType - One of the following:

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

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

      • *

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

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

  • *

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

*

If the table is in the DELETING state, no information * about indexes will be returned. * * @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.)

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

  • *

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

  • *

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

    • CREATING - The index is being created. *

    • UPDATING - The index is being updated.

    • *

      DELETING - The index is being deleted.

    • *

      ACTIVE - The index is ready for use.

  • *

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

  • *

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

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

    • ProjectionType - One of the following:

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

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

      • *

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

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

  • *

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

*

If the table is in the DELETING state, no information * about indexes will be returned. */ 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.)

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

  • *

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

  • *

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

    • CREATING - The index is being created. *

    • UPDATING - The index is being updated.

    • *

      DELETING - The index is being deleted.

    • *

      ACTIVE - The index is ready for use.

  • *

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

  • *

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

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

    • ProjectionType - One of the following:

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

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

      • *

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

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

  • *

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

*

If the table is in the DELETING state, no information * about indexes will be returned. * * @param globalSecondaryIndexes The global secondary indexes, if any, on the table. Each index is * scoped to a given partition key value. Each element is composed of: *

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

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

  • *

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

  • *

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

    • CREATING - The index is being created. *

    • UPDATING - The index is being updated.

    • *

      DELETING - The index is being deleted.

    • *

      ACTIVE - The index is ready for use.

  • *

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

  • *

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

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

    • ProjectionType - One of the following:

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

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

      • *

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

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

  • *

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

*

If the table is in the DELETING state, no information * about indexes will be returned. */ public void setGlobalSecondaryIndexes(java.util.Collection globalSecondaryIndexes) { if (globalSecondaryIndexes == null) { this.globalSecondaryIndexes = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag globalSecondaryIndexesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(globalSecondaryIndexes.size()); globalSecondaryIndexesCopy.addAll(globalSecondaryIndexes); this.globalSecondaryIndexes = globalSecondaryIndexesCopy; } /** * The global secondary indexes, if any, on the table. Each index is * scoped to a given partition key value. Each element is composed of: *

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

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

  • *

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

  • *

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

    • CREATING - The index is being created. *

    • UPDATING - The index is being updated.

    • *

      DELETING - The index is being deleted.

    • *

      ACTIVE - The index is ready for use.

  • *

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

  • *

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

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

    • ProjectionType - One of the following:

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

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

      • *

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

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

  • *

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

*

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

* Returns a reference to this object so that method calls can be chained together. * * @param globalSecondaryIndexes The global secondary indexes, if any, on the table. Each index is * scoped to a given partition key value. Each element is composed of: *

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

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

  • *

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

  • *

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

    • CREATING - The index is being created. *

    • UPDATING - The index is being updated.

    • *

      DELETING - The index is being deleted.

    • *

      ACTIVE - The index is ready for use.

  • *

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

  • *

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

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

    • ProjectionType - One of the following:

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

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

      • *

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

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

  • *

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

*

If the table is in the DELETING state, no information * about indexes will be returned. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withGlobalSecondaryIndexes(GlobalSecondaryIndexDescription... globalSecondaryIndexes) { if (getGlobalSecondaryIndexes() == null) setGlobalSecondaryIndexes(new java.util.ArrayList(globalSecondaryIndexes.length)); for (GlobalSecondaryIndexDescription value : globalSecondaryIndexes) { getGlobalSecondaryIndexes().add(value); } return this; } /** * The global secondary indexes, if any, on the table. Each index is * scoped to a given partition key value. Each element is composed of: *

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

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

  • *

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

  • *

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

    • CREATING - The index is being created. *

    • UPDATING - The index is being updated.

    • *

      DELETING - The index is being deleted.

    • *

      ACTIVE - The index is ready for use.

  • *

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

  • *

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

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

    • ProjectionType - One of the following:

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

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

      • *

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

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

  • *

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

*

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

* Returns a reference to this object so that method calls can be chained together. * * @param globalSecondaryIndexes The global secondary indexes, if any, on the table. Each index is * scoped to a given partition key value. Each element is composed of: *

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

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

  • *

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

  • *

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

    • CREATING - The index is being created. *

    • UPDATING - The index is being updated.

    • *

      DELETING - The index is being deleted.

    • *

      ACTIVE - The index is ready for use.

  • *

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

  • *

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

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

    • ProjectionType - One of the following:

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

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

      • *

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

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

  • *

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

*

If the table is in the DELETING state, no information * about indexes will be returned. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withGlobalSecondaryIndexes(java.util.Collection globalSecondaryIndexes) { if (globalSecondaryIndexes == null) { this.globalSecondaryIndexes = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag globalSecondaryIndexesCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(globalSecondaryIndexes.size()); globalSecondaryIndexesCopy.addAll(globalSecondaryIndexes); this.globalSecondaryIndexes = globalSecondaryIndexesCopy; } return this; } /** * The current DynamoDB Streams configuration for the table. * * @return The current DynamoDB Streams configuration for the table. */ public StreamSpecification getStreamSpecification() { return streamSpecification; } /** * The current DynamoDB Streams configuration for the table. * * @param streamSpecification The current DynamoDB Streams configuration for the table. */ public void setStreamSpecification(StreamSpecification streamSpecification) { this.streamSpecification = streamSpecification; } /** * The current DynamoDB Streams configuration for the table. *

* Returns a reference to this object so that method calls can be chained together. * * @param streamSpecification The current DynamoDB Streams configuration for the table. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withStreamSpecification(StreamSpecification streamSpecification) { this.streamSpecification = streamSpecification; return this; } /** * A timestamp, in ISO 8601 format, for this stream.

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

  • the AWS customer * ID.

  • the table name.

  • the * StreamLabel.

* * @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:

  • the AWS customer * ID.

  • the table name.

  • the * StreamLabel.

*/ public String getLatestStreamLabel() { return latestStreamLabel; } /** * A timestamp, in ISO 8601 format, for this stream.

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

  • the AWS customer * ID.

  • the table name.

  • the * StreamLabel.

* * @param latestStreamLabel A timestamp, in ISO 8601 format, for this stream.

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

  • the AWS customer * ID.

  • the table name.

  • the * StreamLabel.

*/ 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:

  • the AWS customer * ID.

  • the table name.

  • the * StreamLabel.

*

* Returns a reference to this object so that method calls can be chained together. * * @param latestStreamLabel A timestamp, in ISO 8601 format, for this stream.

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

  • the AWS customer * ID.

  • the table name.

  • the * StreamLabel.

* * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withLatestStreamLabel(String latestStreamLabel) { this.latestStreamLabel = latestStreamLabel; return this; } /** * The Amazon Resource Name (ARN) that uniquely identifies the latest * stream for this table. *

* Constraints:
* Length: 37 - 1024
* * @return The Amazon Resource Name (ARN) that uniquely identifies the latest * stream for this table. */ public String getLatestStreamArn() { return latestStreamArn; } /** * The Amazon Resource Name (ARN) that uniquely identifies the latest * stream for this table. *

* Constraints:
* Length: 37 - 1024
* * @param latestStreamArn The Amazon Resource Name (ARN) that uniquely identifies the latest * stream for this table. */ public void setLatestStreamArn(String latestStreamArn) { this.latestStreamArn = latestStreamArn; } /** * The Amazon Resource Name (ARN) that uniquely identifies the latest * stream for this table. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 37 - 1024
* * @param latestStreamArn The Amazon Resource Name (ARN) that uniquely identifies the latest * stream for this table. * * @return A reference to this updated object so that method calls can be chained * together. */ public TableDescription withLatestStreamArn(String latestStreamArn) { this.latestStreamArn = latestStreamArn; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAttributeDefinitions() != null) sb.append("AttributeDefinitions: " + getAttributeDefinitions() + ","); if (getTableName() != null) sb.append("TableName: " + getTableName() + ","); if (getKeySchema() != null) sb.append("KeySchema: " + getKeySchema() + ","); if (getTableStatus() != null) sb.append("TableStatus: " + getTableStatus() + ","); if (getCreationDateTime() != null) sb.append("CreationDateTime: " + getCreationDateTime() + ","); if (getProvisionedThroughput() != null) sb.append("ProvisionedThroughput: " + getProvisionedThroughput() + ","); if (getTableSizeBytes() != null) sb.append("TableSizeBytes: " + getTableSizeBytes() + ","); if (getItemCount() != null) sb.append("ItemCount: " + getItemCount() + ","); if (getTableArn() != null) sb.append("TableArn: " + getTableArn() + ","); if (getLocalSecondaryIndexes() != null) sb.append("LocalSecondaryIndexes: " + getLocalSecondaryIndexes() + ","); if (getGlobalSecondaryIndexes() != null) sb.append("GlobalSecondaryIndexes: " + getGlobalSecondaryIndexes() + ","); if (getStreamSpecification() != null) sb.append("StreamSpecification: " + getStreamSpecification() + ","); if (getLatestStreamLabel() != null) sb.append("LatestStreamLabel: " + getLatestStreamLabel() + ","); if (getLatestStreamArn() != null) sb.append("LatestStreamArn: " + getLatestStreamArn() ); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAttributeDefinitions() == null) ? 0 : getAttributeDefinitions().hashCode()); hashCode = prime * hashCode + ((getTableName() == null) ? 0 : getTableName().hashCode()); hashCode = prime * hashCode + ((getKeySchema() == null) ? 0 : getKeySchema().hashCode()); hashCode = prime * hashCode + ((getTableStatus() == null) ? 0 : getTableStatus().hashCode()); hashCode = prime * hashCode + ((getCreationDateTime() == null) ? 0 : getCreationDateTime().hashCode()); hashCode = prime * hashCode + ((getProvisionedThroughput() == null) ? 0 : getProvisionedThroughput().hashCode()); hashCode = prime * hashCode + ((getTableSizeBytes() == null) ? 0 : getTableSizeBytes().hashCode()); hashCode = prime * hashCode + ((getItemCount() == null) ? 0 : getItemCount().hashCode()); hashCode = prime * hashCode + ((getTableArn() == null) ? 0 : getTableArn().hashCode()); hashCode = prime * hashCode + ((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()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof TableDescription == false) return false; TableDescription other = (TableDescription)obj; if (other.getAttributeDefinitions() == null ^ this.getAttributeDefinitions() == null) return false; if (other.getAttributeDefinitions() != null && other.getAttributeDefinitions().equals(this.getAttributeDefinitions()) == false) return false; if (other.getTableName() == null ^ this.getTableName() == null) return false; if (other.getTableName() != null && other.getTableName().equals(this.getTableName()) == false) return false; if (other.getKeySchema() == null ^ this.getKeySchema() == null) return false; if (other.getKeySchema() != null && other.getKeySchema().equals(this.getKeySchema()) == false) return false; if (other.getTableStatus() == null ^ this.getTableStatus() == null) return false; if (other.getTableStatus() != null && other.getTableStatus().equals(this.getTableStatus()) == false) return false; if (other.getCreationDateTime() == null ^ this.getCreationDateTime() == null) return false; if (other.getCreationDateTime() != null && other.getCreationDateTime().equals(this.getCreationDateTime()) == false) return false; if (other.getProvisionedThroughput() == null ^ this.getProvisionedThroughput() == null) return false; if (other.getProvisionedThroughput() != null && other.getProvisionedThroughput().equals(this.getProvisionedThroughput()) == false) return false; if (other.getTableSizeBytes() == null ^ this.getTableSizeBytes() == null) return false; if (other.getTableSizeBytes() != null && other.getTableSizeBytes().equals(this.getTableSizeBytes()) == false) return false; if (other.getItemCount() == null ^ this.getItemCount() == null) return false; if (other.getItemCount() != null && other.getItemCount().equals(this.getItemCount()) == false) return false; if (other.getTableArn() == null ^ this.getTableArn() == null) return false; if (other.getTableArn() != null && other.getTableArn().equals(this.getTableArn()) == false) return false; if (other.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; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy