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

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

Go to download

The AWS Java SDK for Amazon DynamoDB module holds the client classes that are used for communicating with Amazon DynamoDB Service

There is a newer version: 1.12.753
Show newest version
/*
 * Copyright 2019-2024 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/index configuration is being updated. The table/index remains available for * data operations when UPDATING. *

    *
  • *
  • *

    * DELETING - The table is being deleted. *

    *
  • *
  • *

    * ACTIVE - The table is ready for use. *

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • *
*/ 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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

      *
    • *
    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • *
*

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

*/ 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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

      *
    • *
    *
  • *
  • *

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

    *
  • *
*

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

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

*
    *
  • *

    * Amazon Web Services 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 Amazon Web Services 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; /** *

* Contains details of the table class. *

*/ private TableClassSummary tableClassSummary; /** *

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

*/ private Boolean deletionProtectionEnabled; /** *

* The maximum number of read and write units for the specified on-demand table. If you use this parameter, you must * specify MaxReadRequestUnits, MaxWriteRequestUnits, or both. *

*/ private OnDemandThroughput onDemandThroughput; /** *

* 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/index configuration is being updated. The table/index remains available for * data operations when UPDATING. *

            *
          • *
          • *

            * DELETING - The table is being deleted. *

            *
          • *
          • *

            * ACTIVE - The table is ready for use. *

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • *
          * * @param tableStatus * The current state of the table:

          *
            *
          • *

            * CREATING - The table is being created. *

            *
          • *
          • *

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

            *
          • *
          • *

            * DELETING - The table is being deleted. *

            *
          • *
          • *

            * ACTIVE - The table is ready for use. *

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • * @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/index configuration is being updated. The table/index remains available for * data operations when UPDATING. *

              *
            • *
            • *

              * DELETING - The table is being deleted. *

              *
            • *
            • *

              * ACTIVE - The table is ready for use. *

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • *
            * * @return The current state of the table:

            *
              *
            • *

              * CREATING - The table is being created. *

              *
            • *
            • *

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

              *
            • *
            • *

              * DELETING - The table is being deleted. *

              *
            • *
            • *

              * ACTIVE - The table is ready for use. *

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • * @see TableStatus */ public String getTableStatus() { return this.tableStatus; } /** *

              * The current state of the table: *

              *
                *
              • *

                * CREATING - The table is being created. *

                *
              • *
              • *

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

                *
              • *
              • *

                * DELETING - The table is being deleted. *

                *
              • *
              • *

                * ACTIVE - The table is ready for use. *

                *
              • *
              • *

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

                *
              • *
              • *

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

                *
              • *
              • *

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

                *
              • *
              * * @param tableStatus * The current state of the table:

              *
                *
              • *

                * CREATING - The table is being created. *

                *
              • *
              • *

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

                *
              • *
              • *

                * DELETING - The table is being deleted. *

                *
              • *
              • *

                * ACTIVE - The table is ready for use. *

                *
              • *
              • *

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

                *
              • *
              • *

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

                *
              • *
              • *

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

                *
              • * @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/index configuration is being updated. The table/index remains available for * data operations when UPDATING. *

                  *
                • *
                • *

                  * DELETING - The table is being deleted. *

                  *
                • *
                • *

                  * ACTIVE - The table is ready for use. *

                  *
                • *
                • *

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

                  *
                • *
                • *

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

                  *
                • *
                • *

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

                  *
                • *
                * * @param tableStatus * The current state of the table:

                *
                  *
                • *

                  * CREATING - The table is being created. *

                  *
                • *
                • *

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

                  *
                • *
                • *

                  * DELETING - The table is being deleted. *

                  *
                • *
                • *

                  * ACTIVE - The table is ready for use. *

                  *
                • *
                • *

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

                  *
                • *
                • *

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

                  *
                • *
                • *

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

                  *
                • * @see TableStatus */ public void setTableStatus(TableStatus tableStatus) { withTableStatus(tableStatus); } /** *

                  * The current state of the table: *

                  *
                    *
                  • *

                    * CREATING - The table is being created. *

                    *
                  • *
                  • *

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

                    *
                  • *
                  • *

                    * DELETING - The table is being deleted. *

                    *
                  • *
                  • *

                    * ACTIVE - The table is ready for use. *

                    *
                  • *
                  • *

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

                    *
                  • *
                  • *

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

                    *
                  • *
                  • *

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

                    *
                  • *
                  * * @param tableStatus * The current state of the table:

                  *
                    *
                  • *

                    * CREATING - The table is being created. *

                    *
                  • *
                  • *

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

                    *
                  • *
                  • *

                    * DELETING - The table is being deleted. *

                    *
                  • *
                  • *

                    * ACTIVE - The table is ready for use. *

                    *
                  • *
                  • *

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

                    *
                  • *
                  • *

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

                    *
                  • *
                  • *

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

                    *
                  • * @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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *

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

                    * * @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 100. If you project the same attribute into two different * indexes, this counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about indexes will be returned. */ 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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *

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

                    * * @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 100. If you project the same attribute into two different * indexes, this counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about indexes will be returned. */ 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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *

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

                    *

                    * 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 100. If you project the same attribute into two different * indexes, this counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about indexes will be returned. * @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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *

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

                    * * @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 100. If you project the same attribute into two different * indexes, this counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about indexes will be returned. * @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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    *

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

                    * * @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 100. If you project the same attribute into two different * indexes, this counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about indexes will be returned. */ 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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    *

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

                    * * @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 100. If you project the same attribute into two different * indexes, this counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about indexes will be returned. */ 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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    *

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

                    *

                    * 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 100. If you project the same attribute into two different * indexes, this counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about indexes will be returned. * @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 100. If you project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    *

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

                    * * @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 100. If you project the same attribute into two different * indexes, this counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

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

                      *
                    • *
                    *

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

                    *
                      *
                    • *

                      * Amazon Web Services 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: *

                    *
                      *
                    • *

                      * Amazon Web Services 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: *

                      *
                        *
                      • *

                        * Amazon Web Services 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: *

                      *
                        *
                      • *

                        * Amazon Web Services 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: *

                        *
                          *
                        • *

                          * Amazon Web Services 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: *

                        *
                          *
                        • *

                          * Amazon Web Services 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 Amazon Web Services Regions. *

                          * * @param globalTableVersion * Represents the version of global * tables in use, if the table is replicated across Amazon Web Services Regions. */ public void setGlobalTableVersion(String globalTableVersion) { this.globalTableVersion = globalTableVersion; } /** *

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

                          * * @return Represents the version of global * tables in use, if the table is replicated across Amazon Web Services Regions. */ public String getGlobalTableVersion() { return this.globalTableVersion; } /** *

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

                          * * @param globalTableVersion * Represents the version of global * tables in use, if the table is replicated across Amazon Web Services 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; } /** *

                          * Contains details of the table class. *

                          * * @param tableClassSummary * Contains details of the table class. */ public void setTableClassSummary(TableClassSummary tableClassSummary) { this.tableClassSummary = tableClassSummary; } /** *

                          * Contains details of the table class. *

                          * * @return Contains details of the table class. */ public TableClassSummary getTableClassSummary() { return this.tableClassSummary; } /** *

                          * Contains details of the table class. *

                          * * @param tableClassSummary * Contains details of the table class. * @return Returns a reference to this object so that method calls can be chained together. */ public TableDescription withTableClassSummary(TableClassSummary tableClassSummary) { setTableClassSummary(tableClassSummary); return this; } /** *

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

                          * * @param deletionProtectionEnabled * Indicates whether deletion protection is enabled (true) or disabled (false) on the table. */ public void setDeletionProtectionEnabled(Boolean deletionProtectionEnabled) { this.deletionProtectionEnabled = deletionProtectionEnabled; } /** *

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

                          * * @return Indicates whether deletion protection is enabled (true) or disabled (false) on the table. */ public Boolean getDeletionProtectionEnabled() { return this.deletionProtectionEnabled; } /** *

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

                          * * @param deletionProtectionEnabled * Indicates whether deletion protection is enabled (true) or disabled (false) on the table. * @return Returns a reference to this object so that method calls can be chained together. */ public TableDescription withDeletionProtectionEnabled(Boolean deletionProtectionEnabled) { setDeletionProtectionEnabled(deletionProtectionEnabled); return this; } /** *

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

                          * * @return Indicates whether deletion protection is enabled (true) or disabled (false) on the table. */ public Boolean isDeletionProtectionEnabled() { return this.deletionProtectionEnabled; } /** *

                          * The maximum number of read and write units for the specified on-demand table. If you use this parameter, you must * specify MaxReadRequestUnits, MaxWriteRequestUnits, or both. *

                          * * @param onDemandThroughput * The maximum number of read and write units for the specified on-demand table. If you use this parameter, * you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both. */ public void setOnDemandThroughput(OnDemandThroughput onDemandThroughput) { this.onDemandThroughput = onDemandThroughput; } /** *

                          * The maximum number of read and write units for the specified on-demand table. If you use this parameter, you must * specify MaxReadRequestUnits, MaxWriteRequestUnits, or both. *

                          * * @return The maximum number of read and write units for the specified on-demand table. If you use this parameter, * you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both. */ public OnDemandThroughput getOnDemandThroughput() { return this.onDemandThroughput; } /** *

                          * The maximum number of read and write units for the specified on-demand table. If you use this parameter, you must * specify MaxReadRequestUnits, MaxWriteRequestUnits, or both. *

                          * * @param onDemandThroughput * The maximum number of read and write units for the specified on-demand table. If you use this parameter, * you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both. * @return Returns a reference to this object so that method calls can be chained together. */ public TableDescription withOnDemandThroughput(OnDemandThroughput onDemandThroughput) { setOnDemandThroughput(onDemandThroughput); 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()).append(","); if (getTableClassSummary() != null) sb.append("TableClassSummary: ").append(getTableClassSummary()).append(","); if (getDeletionProtectionEnabled() != null) sb.append("DeletionProtectionEnabled: ").append(getDeletionProtectionEnabled()).append(","); if (getOnDemandThroughput() != null) sb.append("OnDemandThroughput: ").append(getOnDemandThroughput()); 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; if (other.getTableClassSummary() == null ^ this.getTableClassSummary() == null) return false; if (other.getTableClassSummary() != null && other.getTableClassSummary().equals(this.getTableClassSummary()) == false) return false; if (other.getDeletionProtectionEnabled() == null ^ this.getDeletionProtectionEnabled() == null) return false; if (other.getDeletionProtectionEnabled() != null && other.getDeletionProtectionEnabled().equals(this.getDeletionProtectionEnabled()) == false) return false; if (other.getOnDemandThroughput() == null ^ this.getOnDemandThroughput() == null) return false; if (other.getOnDemandThroughput() != null && other.getOnDemandThroughput().equals(this.getOnDemandThroughput()) == 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()); hashCode = prime * hashCode + ((getTableClassSummary() == null) ? 0 : getTableClassSummary().hashCode()); hashCode = prime * hashCode + ((getDeletionProtectionEnabled() == null) ? 0 : getDeletionProtectionEnabled().hashCode()); hashCode = prime * hashCode + ((getOnDemandThroughput() == null) ? 0 : getOnDemandThroughput().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); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy