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

com.amazonaws.services.dynamodbv2.model.CreateTableRequest 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.772
Show newest version
/*
 * Copyright 2010-2015 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 com.amazonaws.AmazonWebServiceRequest;

/**
 * 

* Represents the input of a CreateTable operation. *

*/ public class CreateTableRequest extends AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* An array of attributes that describe the key schema for the table and * indexes. *

*/ private java.util.List attributeDefinitions; /** *

* The name of the table to create. *

*/ private String tableName; /** *

* Specifies the attributes that make up the primary key for a table or an * index. The attributes in KeySchema must also be defined in the * AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide. *

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must provide * exactly one element with a KeyType of HASH. *

*

* For a primary key that consists of hash and range attributes, you must * provide exactly two elements, in this order: The first element must have * a KeyType of HASH, and the second element must have a * KeyType of RANGE. *

*

* For more information, see Specifying the Primary Key in the Amazon DynamoDB Developer * Guide. *

*/ private java.util.List keySchema; /** *

* One or more local secondary indexes (the maximum is five) to be created * on the table. Each index is scoped to a given hash key value. There is a * 10 GB size limit per hash key; otherwise, the size of a local secondary * index is unconstrained. *

*

* Each local secondary index in the array includes the following: *

*
    *
  • *

    * IndexName - The name of the local secondary index. Must be unique * only for this table. *

    *

    *

  • *
  • *

    * KeySchema - Specifies the key schema for the local secondary * index. The key schema must begin with the same hash key attribute as the * table. *

    *
  • *
  • *

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

    *
      *
    • *

      * ProjectionType - One of the following: *

      *
        *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      *
    • *
    • *

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

      *
    • *
    *
  • *
*/ private java.util.List localSecondaryIndexes; /** *

* One or more global secondary indexes (the maximum is five) to be created * on the table. Each global secondary index in the array includes the * following: *

*
    *
  • *

    * IndexName - The name of the global secondary index. Must be unique * only for this table. *

    *

    *

  • *
  • *

    * KeySchema - Specifies the key schema for the global secondary * index. *

    *
  • *
  • *

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

    *
      *
    • *

      * ProjectionType - One of the following: *

      *
        *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      *
    • *
    • *

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

      *
    • *
    *
  • *
  • *

    * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units. *

    *
  • *
*/ private java.util.List globalSecondaryIndexes; private ProvisionedThroughput provisionedThroughput; /** *

* The settings for DynamoDB Streams on the table. These settings consist * of: *

*
    *
  • *

    * StreamEnabled - Indicates whether Streams is to be enabled (true) * or disabled (false). *

    *
  • *
  • *

    * StreamViewType - When an item in the table is modified, * StreamViewType determines what information is written to the * table's stream. Valid values for StreamViewType are: *

    *
      *
    • *

      * KEYS_ONLY - Only the key attributes of the modified item are * written to the stream. *

      *
    • *
    • *

      * NEW_IMAGE - The entire item, as it appears after it was modified, * is written to the stream. *

      *
    • *
    • *

      * OLD_IMAGE - The entire item, as it appeared before it was * modified, is written to the stream. *

      *
    • *
    • *

      * NEW_AND_OLD_IMAGES - Both the new and the old item images of the * item are written to the stream. *

      *
    • *
    *
  • *
*/ private StreamSpecification streamSpecification; /** * Default constructor for CreateTableRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize the object after * creating it. */ public CreateTableRequest() { } /** * Constructs a new CreateTableRequest object. Callers should use the setter * or fluent setter (with...) methods to initialize any additional object * members. * * @param tableName * The name of the table to create. * @param keySchema * Specifies the attributes that make up the primary key for a table * or an index. The attributes in KeySchema must also be * defined in the AttributeDefinitions array. For more * information, see Data Model in the Amazon DynamoDB Developer Guide.

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must * provide exactly one element with a KeyType of * HASH. *

*

* For a primary key that consists of hash and range attributes, you * must provide exactly two elements, in this order: The first * element must have a KeyType of HASH, and the * second element must have a KeyType of RANGE. *

*

* For more information, see Specifying the Primary Key in the Amazon DynamoDB * Developer Guide. */ public CreateTableRequest(String tableName, java.util.List keySchema) { setTableName(tableName); setKeySchema(keySchema); } /** * Constructs a new CreateTableRequest object. Callers should use the setter * or fluent setter (with...) methods to initialize any additional object * members. * * @param attributeDefinitions * An array of attributes that describe the key schema for the table * and indexes. * @param tableName * The name of the table to create. * @param keySchema * Specifies the attributes that make up the primary key for a table * or an index. The attributes in KeySchema must also be * defined in the AttributeDefinitions array. For more * information, see Data Model in the Amazon DynamoDB Developer Guide.

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must * provide exactly one element with a KeyType of * HASH. *

*

* For a primary key that consists of hash and range attributes, you * must provide exactly two elements, in this order: The first * element must have a KeyType of HASH, and the * second element must have a KeyType of RANGE. *

*

* For more information, see Specifying the Primary Key in the Amazon DynamoDB * Developer Guide. * @param provisionedThroughput */ public CreateTableRequest( java.util.List attributeDefinitions, String tableName, java.util.List keySchema, ProvisionedThroughput provisionedThroughput) { setAttributeDefinitions(attributeDefinitions); setTableName(tableName); setKeySchema(keySchema); setProvisionedThroughput(provisionedThroughput); } /** *

* An array of attributes that describe the key schema for the table and * indexes. *

* * @return An array of attributes that describe the key schema for the table * and indexes. */ public java.util.List getAttributeDefinitions() { return attributeDefinitions; } /** *

* An array of attributes that describe the key schema for the table and * indexes. *

* * @param attributeDefinitions * An array of attributes that describe the key schema for the table * and indexes. */ public void setAttributeDefinitions( java.util.Collection attributeDefinitions) { if (attributeDefinitions == null) { this.attributeDefinitions = null; return; } this.attributeDefinitions = new java.util.ArrayList( attributeDefinitions); } /** *

* An array of attributes that describe the key schema for the table and * indexes. *

*

* 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 attributes that describe the key schema for the table * and indexes. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest 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 attributes that describe the key schema for the table and * indexes. *

* * @param attributeDefinitions * An array of attributes that describe the key schema for the table * and indexes. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withAttributeDefinitions( java.util.Collection attributeDefinitions) { setAttributeDefinitions(attributeDefinitions); return this; } /** *

* The name of the table to create. *

* * @param tableName * The name of the table to create. */ public void setTableName(String tableName) { this.tableName = tableName; } /** *

* The name of the table to create. *

* * @return The name of the table to create. */ public String getTableName() { return this.tableName; } /** *

* The name of the table to create. *

* * @param tableName * The name of the table to create. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withTableName(String tableName) { setTableName(tableName); return this; } /** *

* Specifies the attributes that make up the primary key for a table or an * index. The attributes in KeySchema must also be defined in the * AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide. *

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must provide * exactly one element with a KeyType of HASH. *

*

* For a primary key that consists of hash and range attributes, you must * provide exactly two elements, in this order: The first element must have * a KeyType of HASH, and the second element must have a * KeyType of RANGE. *

*

* For more information, see Specifying the Primary Key in the Amazon DynamoDB Developer * Guide. *

* * @return Specifies the attributes that make up the primary key for a table * or an index. The attributes in KeySchema must also be * defined in the AttributeDefinitions array. For more * information, see Data Model in the Amazon DynamoDB Developer * Guide.

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must * provide exactly one element with a KeyType of * HASH. *

*

* For a primary key that consists of hash and range attributes, you * must provide exactly two elements, in this order: The first * element must have a KeyType of HASH, and the * second element must have a KeyType of RANGE. *

*

* For more information, see Specifying the Primary Key in the Amazon DynamoDB * Developer Guide. */ public java.util.List getKeySchema() { return keySchema; } /** *

* Specifies the attributes that make up the primary key for a table or an * index. The attributes in KeySchema must also be defined in the * AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide. *

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must provide * exactly one element with a KeyType of HASH. *

*

* For a primary key that consists of hash and range attributes, you must * provide exactly two elements, in this order: The first element must have * a KeyType of HASH, and the second element must have a * KeyType of RANGE. *

*

* For more information, see Specifying the Primary Key in the Amazon DynamoDB Developer * Guide. *

* * @param keySchema * Specifies the attributes that make up the primary key for a table * or an index. The attributes in KeySchema must also be * defined in the AttributeDefinitions array. For more * information, see Data Model in the Amazon DynamoDB Developer Guide.

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must * provide exactly one element with a KeyType of * HASH. *

*

* For a primary key that consists of hash and range attributes, you * must provide exactly two elements, in this order: The first * element must have a KeyType of HASH, and the * second element must have a KeyType of RANGE. *

*

* For more information, see Specifying the 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); } /** *

* Specifies the attributes that make up the primary key for a table or an * index. The attributes in KeySchema must also be defined in the * AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide. *

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must provide * exactly one element with a KeyType of HASH. *

*

* For a primary key that consists of hash and range attributes, you must * provide exactly two elements, in this order: The first element must have * a KeyType of HASH, and the second element must have a * KeyType of RANGE. *

*

* For more information, see Specifying the 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 * Specifies the attributes that make up the primary key for a table * or an index. The attributes in KeySchema must also be * defined in the AttributeDefinitions array. For more * information, see Data Model in the Amazon DynamoDB Developer Guide.

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must * provide exactly one element with a KeyType of * HASH. *

*

* For a primary key that consists of hash and range attributes, you * must provide exactly two elements, in this order: The first * element must have a KeyType of HASH, and the * second element must have a KeyType of RANGE. *

*

* For more information, see Specifying the Primary Key in the Amazon DynamoDB * Developer Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withKeySchema(KeySchemaElement... keySchema) { if (this.keySchema == null) { setKeySchema(new java.util.ArrayList( keySchema.length)); } for (KeySchemaElement ele : keySchema) { this.keySchema.add(ele); } return this; } /** *

* Specifies the attributes that make up the primary key for a table or an * index. The attributes in KeySchema must also be defined in the * AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide. *

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must provide * exactly one element with a KeyType of HASH. *

*

* For a primary key that consists of hash and range attributes, you must * provide exactly two elements, in this order: The first element must have * a KeyType of HASH, and the second element must have a * KeyType of RANGE. *

*

* For more information, see Specifying the Primary Key in the Amazon DynamoDB Developer * Guide. *

* * @param keySchema * Specifies the attributes that make up the primary key for a table * or an index. The attributes in KeySchema must also be * defined in the AttributeDefinitions array. For more * information, see Data Model in the Amazon DynamoDB Developer Guide.

*

* Each KeySchemaElement in the array is composed of: *

*
    *
  • *

    * AttributeName - The name of this key attribute. *

    *
  • *
  • *

    * KeyType - Determines whether the key attribute is * HASH or RANGE. *

    *
  • *
*

* For a primary key that consists of a hash attribute, you must * provide exactly one element with a KeyType of * HASH. *

*

* For a primary key that consists of hash and range attributes, you * must provide exactly two elements, in this order: The first * element must have a KeyType of HASH, and the * second element must have a KeyType of RANGE. *

*

* For more information, see Specifying the Primary Key in the Amazon DynamoDB * Developer Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withKeySchema( java.util.Collection keySchema) { setKeySchema(keySchema); return this; } /** *

* One or more local secondary indexes (the maximum is five) to be created * on the table. Each index is scoped to a given hash key value. There is a * 10 GB size limit per hash key; otherwise, the size of a local secondary * index is unconstrained. *

*

* Each local secondary index in the array includes the following: *

*
    *
  • *

    * IndexName - The name of the local secondary index. Must be unique * only for this table. *

    *

    *

  • *
  • *

    * KeySchema - Specifies the key schema for the local secondary * index. The key schema must begin with the same hash key attribute as the * table. *

    *
  • *
  • *

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

    *
      *
    • *

      * ProjectionType - One of the following: *

      *
        *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      *
    • *
    • *

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

      *
    • *
    *
  • *
* * @return One or more local secondary indexes (the maximum is five) to be * created on the table. Each index is scoped to a given hash key * value. There is a 10 GB size limit per hash key; otherwise, the * size of a local secondary index is unconstrained.

*

* Each local secondary index in the array includes the following: *

*
    *
  • *

    * IndexName - The name of the local secondary index. Must be * unique only for this table. *

    *

    *

  • *
  • *

    * KeySchema - Specifies the key schema for the local * secondary index. The key schema must begin with the same hash key * attribute as the table. *

    *
  • *
  • *

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

    *
      *
    • *

      * ProjectionType - One of the following: *

      *
        *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      *
    • *
    • *

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

      *
    • *
    *
  • */ public java.util.List getLocalSecondaryIndexes() { return localSecondaryIndexes; } /** *

    * One or more local secondary indexes (the maximum is five) to be created * on the table. Each index is scoped to a given hash key value. There is a * 10 GB size limit per hash key; otherwise, the size of a local secondary * index is unconstrained. *

    *

    * Each local secondary index in the array includes the following: *

    *
      *
    • *

      * IndexName - The name of the local secondary index. Must be unique * only for this table. *

      *

      *

    • *
    • *

      * KeySchema - Specifies the key schema for the local secondary * index. The key schema must begin with the same hash key attribute as the * table. *

      *
    • *
    • *

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

      *
        *
      • *

        * ProjectionType - One of the following: *

        *
          *
        • *

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

          *
        • *
        • *

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

          *
        • *
        • *

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

          *
        • *
        *
      • *
      • *

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

        *
      • *
      *
    • *
    * * @param localSecondaryIndexes * One or more local secondary indexes (the maximum is five) to be * created on the table. Each index is scoped to a given hash key * value. There is a 10 GB size limit per hash key; otherwise, the * size of a local secondary index is unconstrained.

    *

    * Each local secondary index in the array includes the following: *

    *
      *
    • *

      * IndexName - The name of the local secondary index. Must be * unique only for this table. *

      *

      *

    • *
    • *

      * KeySchema - Specifies the key schema for the local * secondary index. The key schema must begin with the same hash key * attribute as the table. *

      *
    • *
    • *

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

      *
        *
      • *

        * ProjectionType - One of the following: *

        *
          *
        • *

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

          *
        • *
        • *

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

          *
        • *
        • *

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

          *
        • *
        *
      • *
      • *

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

        *
      • *
      *
    • */ public void setLocalSecondaryIndexes( java.util.Collection localSecondaryIndexes) { if (localSecondaryIndexes == null) { this.localSecondaryIndexes = null; return; } this.localSecondaryIndexes = new java.util.ArrayList( localSecondaryIndexes); } /** *

      * One or more local secondary indexes (the maximum is five) to be created * on the table. Each index is scoped to a given hash key value. There is a * 10 GB size limit per hash key; otherwise, the size of a local secondary * index is unconstrained. *

      *

      * Each local secondary index in the array includes the following: *

      *
        *
      • *

        * IndexName - The name of the local secondary index. Must be unique * only for this table. *

        *

        *

      • *
      • *

        * KeySchema - Specifies the key schema for the local secondary * index. The key schema must begin with the same hash key attribute as the * table. *

        *
      • *
      • *

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

        *
          *
        • *

          * ProjectionType - One of the following: *

          *
            *
          • *

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

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • *
          *
        • *
        • *

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

          *
        • *
        *
      • *
      *

      * 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 * One or more local secondary indexes (the maximum is five) to be * created on the table. Each index is scoped to a given hash key * value. There is a 10 GB size limit per hash key; otherwise, the * size of a local secondary index is unconstrained.

      *

      * Each local secondary index in the array includes the following: *

      *
        *
      • *

        * IndexName - The name of the local secondary index. Must be * unique only for this table. *

        *

        *

      • *
      • *

        * KeySchema - Specifies the key schema for the local * secondary index. The key schema must begin with the same hash key * attribute as the table. *

        *
      • *
      • *

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

        *
          *
        • *

          * ProjectionType - One of the following: *

          *
            *
          • *

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

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • *
          *
        • *
        • *

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

          *
        • *
        *
      • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withLocalSecondaryIndexes( LocalSecondaryIndex... localSecondaryIndexes) { if (this.localSecondaryIndexes == null) { setLocalSecondaryIndexes(new java.util.ArrayList( localSecondaryIndexes.length)); } for (LocalSecondaryIndex ele : localSecondaryIndexes) { this.localSecondaryIndexes.add(ele); } return this; } /** *

        * One or more local secondary indexes (the maximum is five) to be created * on the table. Each index is scoped to a given hash key value. There is a * 10 GB size limit per hash key; otherwise, the size of a local secondary * index is unconstrained. *

        *

        * Each local secondary index in the array includes the following: *

        *
          *
        • *

          * IndexName - The name of the local secondary index. Must be unique * only for this table. *

          *

          *

        • *
        • *

          * KeySchema - Specifies the key schema for the local secondary * index. The key schema must begin with the same hash key attribute as the * table. *

          *
        • *
        • *

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

          *
            *
          • *

            * ProjectionType - One of the following: *

            *
              *
            • *

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

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • *
            *
          • *
          • *

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

            *
          • *
          *
        • *
        * * @param localSecondaryIndexes * One or more local secondary indexes (the maximum is five) to be * created on the table. Each index is scoped to a given hash key * value. There is a 10 GB size limit per hash key; otherwise, the * size of a local secondary index is unconstrained.

        *

        * Each local secondary index in the array includes the following: *

        *
          *
        • *

          * IndexName - The name of the local secondary index. Must be * unique only for this table. *

          *

          *

        • *
        • *

          * KeySchema - Specifies the key schema for the local * secondary index. The key schema must begin with the same hash key * attribute as the table. *

          *
        • *
        • *

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

          *
            *
          • *

            * ProjectionType - One of the following: *

            *
              *
            • *

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

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • *
            *
          • *
          • *

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

            *
          • *
          *
        • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withLocalSecondaryIndexes( java.util.Collection localSecondaryIndexes) { setLocalSecondaryIndexes(localSecondaryIndexes); return this; } /** *

          * One or more global secondary indexes (the maximum is five) to be created * on the table. Each global secondary index in the array includes the * following: *

          *
            *
          • *

            * IndexName - The name of the global secondary index. Must be unique * only for this table. *

            *

            *

          • *
          • *

            * KeySchema - Specifies the key schema for the global secondary * index. *

            *
          • *
          • *

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

            *
              *
            • *

              * ProjectionType - One of the following: *

              *
                *
              • *

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

                *
              • *
              • *

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

                *
              • *
              • *

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

                *
              • *
              *
            • *
            • *

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

              *
            • *
            *
          • *
          • *

            * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units. *

            *
          • *
          * * @return One or more global secondary indexes (the maximum is five) to be * created on the table. Each global secondary index in the array * includes the following:

          *
            *
          • *

            * IndexName - The name of the global secondary index. Must * be unique only for this table. *

            *

            *

          • *
          • *

            * KeySchema - Specifies the key schema for the global * secondary index. *

            *
          • *
          • *

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

            *
              *
            • *

              * ProjectionType - One of the following: *

              *
                *
              • *

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

                *
              • *
              • *

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

                *
              • *
              • *

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

                *
              • *
              *
            • *
            • *

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

              *
            • *
            *
          • *
          • *

            * ProvisionedThroughput - The provisioned throughput * settings for the global secondary index, consisting of read and * write capacity units. *

            *
          • */ public java.util.List getGlobalSecondaryIndexes() { return globalSecondaryIndexes; } /** *

            * One or more global secondary indexes (the maximum is five) to be created * on the table. Each global secondary index in the array includes the * following: *

            *
              *
            • *

              * IndexName - The name of the global secondary index. Must be unique * only for this table. *

              *

              *

            • *
            • *

              * KeySchema - Specifies the key schema for the global secondary * index. *

              *
            • *
            • *

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

              *
                *
              • *

                * ProjectionType - One of the following: *

                *
                  *
                • *

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

                  *
                • *
                • *

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

                  *
                • *
                • *

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

                  *
                • *
                *
              • *
              • *

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

                *
              • *
              *
            • *
            • *

              * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units. *

              *
            • *
            * * @param globalSecondaryIndexes * One or more global secondary indexes (the maximum is five) to be * created on the table. Each global secondary index in the array * includes the following:

            *
              *
            • *

              * IndexName - The name of the global secondary index. Must be * unique only for this table. *

              *

              *

            • *
            • *

              * KeySchema - Specifies the key schema for the global * secondary index. *

              *
            • *
            • *

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

              *
                *
              • *

                * ProjectionType - One of the following: *

                *
                  *
                • *

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

                  *
                • *
                • *

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

                  *
                • *
                • *

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

                  *
                • *
                *
              • *
              • *

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

                *
              • *
              *
            • *
            • *

              * ProvisionedThroughput - The provisioned throughput settings * for the global secondary index, consisting of read and write * capacity units. *

              *
            • */ public void setGlobalSecondaryIndexes( java.util.Collection globalSecondaryIndexes) { if (globalSecondaryIndexes == null) { this.globalSecondaryIndexes = null; return; } this.globalSecondaryIndexes = new java.util.ArrayList( globalSecondaryIndexes); } /** *

              * One or more global secondary indexes (the maximum is five) to be created * on the table. Each global secondary index in the array includes the * following: *

              *
                *
              • *

                * IndexName - The name of the global secondary index. Must be unique * only for this table. *

                *

                *

              • *
              • *

                * KeySchema - Specifies the key schema for the global secondary * index. *

                *
              • *
              • *

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

                *
                  *
                • *

                  * ProjectionType - One of the following: *

                  *
                    *
                  • *

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

                    *
                  • *
                  • *

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

                    *
                  • *
                  • *

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

                    *
                  • *
                  *
                • *
                • *

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

                  *
                • *
                *
              • *
              • *

                * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units. *

                *
              • *
              *

              * 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 * One or more global secondary indexes (the maximum is five) to be * created on the table. Each global secondary index in the array * includes the following:

              *
                *
              • *

                * IndexName - The name of the global secondary index. Must be * unique only for this table. *

                *

                *

              • *
              • *

                * KeySchema - Specifies the key schema for the global * secondary index. *

                *
              • *
              • *

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

                *
                  *
                • *

                  * ProjectionType - One of the following: *

                  *
                    *
                  • *

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

                    *
                  • *
                  • *

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

                    *
                  • *
                  • *

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

                    *
                  • *
                  *
                • *
                • *

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

                  *
                • *
                *
              • *
              • *

                * ProvisionedThroughput - The provisioned throughput settings * for the global secondary index, consisting of read and write * capacity units. *

                *
              • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withGlobalSecondaryIndexes( GlobalSecondaryIndex... globalSecondaryIndexes) { if (this.globalSecondaryIndexes == null) { setGlobalSecondaryIndexes(new java.util.ArrayList( globalSecondaryIndexes.length)); } for (GlobalSecondaryIndex ele : globalSecondaryIndexes) { this.globalSecondaryIndexes.add(ele); } return this; } /** *

                * One or more global secondary indexes (the maximum is five) to be created * on the table. Each global secondary index in the array includes the * following: *

                *
                  *
                • *

                  * IndexName - The name of the global secondary index. Must be unique * only for this table. *

                  *

                  *

                • *
                • *

                  * KeySchema - Specifies the key schema for the global secondary * index. *

                  *
                • *
                • *

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

                  *
                    *
                  • *

                    * ProjectionType - One of the following: *

                    *
                      *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *
                  • *
                  • *

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

                    *
                  • *
                  *
                • *
                • *

                  * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units. *

                  *
                • *
                * * @param globalSecondaryIndexes * One or more global secondary indexes (the maximum is five) to be * created on the table. Each global secondary index in the array * includes the following:

                *
                  *
                • *

                  * IndexName - The name of the global secondary index. Must be * unique only for this table. *

                  *

                  *

                • *
                • *

                  * KeySchema - Specifies the key schema for the global * secondary index. *

                  *
                • *
                • *

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

                  *
                    *
                  • *

                    * ProjectionType - One of the following: *

                    *
                      *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    • *

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

                      *
                    • *
                    *
                  • *
                  • *

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

                    *
                  • *
                  *
                • *
                • *

                  * ProvisionedThroughput - The provisioned throughput settings * for the global secondary index, consisting of read and write * capacity units. *

                  *
                • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withGlobalSecondaryIndexes( java.util.Collection globalSecondaryIndexes) { setGlobalSecondaryIndexes(globalSecondaryIndexes); return this; } /** * @param provisionedThroughput */ public void setProvisionedThroughput( ProvisionedThroughput provisionedThroughput) { this.provisionedThroughput = provisionedThroughput; } /** * @return */ public ProvisionedThroughput getProvisionedThroughput() { return this.provisionedThroughput; } /** * @param provisionedThroughput * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withProvisionedThroughput( ProvisionedThroughput provisionedThroughput) { setProvisionedThroughput(provisionedThroughput); return this; } /** *

                  * The settings for DynamoDB Streams on the table. These settings consist * of: *

                  *
                    *
                  • *

                    * StreamEnabled - Indicates whether Streams is to be enabled (true) * or disabled (false). *

                    *
                  • *
                  • *

                    * StreamViewType - When an item in the table is modified, * StreamViewType determines what information is written to the * table's stream. Valid values for StreamViewType are: *

                    *
                      *
                    • *

                      * KEYS_ONLY - Only the key attributes of the modified item are * written to the stream. *

                      *
                    • *
                    • *

                      * NEW_IMAGE - The entire item, as it appears after it was modified, * is written to the stream. *

                      *
                    • *
                    • *

                      * OLD_IMAGE - The entire item, as it appeared before it was * modified, is written to the stream. *

                      *
                    • *
                    • *

                      * NEW_AND_OLD_IMAGES - Both the new and the old item images of the * item are written to the stream. *

                      *
                    • *
                    *
                  • *
                  * * @param streamSpecification * The settings for DynamoDB Streams on the table. These settings * consist of:

                  *
                    *
                  • *

                    * StreamEnabled - Indicates whether Streams is to be enabled * (true) or disabled (false). *

                    *
                  • *
                  • *

                    * StreamViewType - When an item in the table is modified, * StreamViewType determines what information is written to * the table's stream. Valid values for StreamViewType are: *

                    *
                      *
                    • *

                      * KEYS_ONLY - Only the key attributes of the modified item * are written to the stream. *

                      *
                    • *
                    • *

                      * NEW_IMAGE - The entire item, as it appears after it was * modified, is written to the stream. *

                      *
                    • *
                    • *

                      * OLD_IMAGE - The entire item, as it appeared before it was * modified, is written to the stream. *

                      *
                    • *
                    • *

                      * NEW_AND_OLD_IMAGES - Both the new and the old item images * of the item are written to the stream. *

                      *
                    • *
                    *
                  • */ public void setStreamSpecification(StreamSpecification streamSpecification) { this.streamSpecification = streamSpecification; } /** *

                    * The settings for DynamoDB Streams on the table. These settings consist * of: *

                    *
                      *
                    • *

                      * StreamEnabled - Indicates whether Streams is to be enabled (true) * or disabled (false). *

                      *
                    • *
                    • *

                      * StreamViewType - When an item in the table is modified, * StreamViewType determines what information is written to the * table's stream. Valid values for StreamViewType are: *

                      *
                        *
                      • *

                        * KEYS_ONLY - Only the key attributes of the modified item are * written to the stream. *

                        *
                      • *
                      • *

                        * NEW_IMAGE - The entire item, as it appears after it was modified, * is written to the stream. *

                        *
                      • *
                      • *

                        * OLD_IMAGE - The entire item, as it appeared before it was * modified, is written to the stream. *

                        *
                      • *
                      • *

                        * NEW_AND_OLD_IMAGES - Both the new and the old item images of the * item are written to the stream. *

                        *
                      • *
                      *
                    • *
                    * * @return The settings for DynamoDB Streams on the table. These settings * consist of:

                    *
                      *
                    • *

                      * StreamEnabled - Indicates whether Streams is to be enabled * (true) or disabled (false). *

                      *
                    • *
                    • *

                      * StreamViewType - When an item in the table is modified, * StreamViewType determines what information is written to * the table's stream. Valid values for StreamViewType are: *

                      *
                        *
                      • *

                        * KEYS_ONLY - Only the key attributes of the modified item * are written to the stream. *

                        *
                      • *
                      • *

                        * NEW_IMAGE - The entire item, as it appears after it was * modified, is written to the stream. *

                        *
                      • *
                      • *

                        * OLD_IMAGE - The entire item, as it appeared before it was * modified, is written to the stream. *

                        *
                      • *
                      • *

                        * NEW_AND_OLD_IMAGES - Both the new and the old item images * of the item are written to the stream. *

                        *
                      • *
                      *
                    • */ public StreamSpecification getStreamSpecification() { return this.streamSpecification; } /** *

                      * The settings for DynamoDB Streams on the table. These settings consist * of: *

                      *
                        *
                      • *

                        * StreamEnabled - Indicates whether Streams is to be enabled (true) * or disabled (false). *

                        *
                      • *
                      • *

                        * StreamViewType - When an item in the table is modified, * StreamViewType determines what information is written to the * table's stream. Valid values for StreamViewType are: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the key attributes of the modified item are * written to the stream. *

                          *
                        • *
                        • *

                          * NEW_IMAGE - The entire item, as it appears after it was modified, * is written to the stream. *

                          *
                        • *
                        • *

                          * OLD_IMAGE - The entire item, as it appeared before it was * modified, is written to the stream. *

                          *
                        • *
                        • *

                          * NEW_AND_OLD_IMAGES - Both the new and the old item images of the * item are written to the stream. *

                          *
                        • *
                        *
                      • *
                      * * @param streamSpecification * The settings for DynamoDB Streams on the table. These settings * consist of:

                      *
                        *
                      • *

                        * StreamEnabled - Indicates whether Streams is to be enabled * (true) or disabled (false). *

                        *
                      • *
                      • *

                        * StreamViewType - When an item in the table is modified, * StreamViewType determines what information is written to * the table's stream. Valid values for StreamViewType are: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the key attributes of the modified item * are written to the stream. *

                          *
                        • *
                        • *

                          * NEW_IMAGE - The entire item, as it appears after it was * modified, is written to the stream. *

                          *
                        • *
                        • *

                          * OLD_IMAGE - The entire item, as it appeared before it was * modified, is written to the stream. *

                          *
                        • *
                        • *

                          * NEW_AND_OLD_IMAGES - Both the new and the old item images * of the item are written to the stream. *

                          *
                        • *
                        *
                      • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateTableRequest withStreamSpecification( StreamSpecification streamSpecification) { setStreamSpecification(streamSpecification); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAttributeDefinitions() != null) sb.append("AttributeDefinitions: " + getAttributeDefinitions() + ","); if (getTableName() != null) sb.append("TableName: " + getTableName() + ","); if (getKeySchema() != null) sb.append("KeySchema: " + getKeySchema() + ","); if (getLocalSecondaryIndexes() != null) sb.append("LocalSecondaryIndexes: " + getLocalSecondaryIndexes() + ","); if (getGlobalSecondaryIndexes() != null) sb.append("GlobalSecondaryIndexes: " + getGlobalSecondaryIndexes() + ","); if (getProvisionedThroughput() != null) sb.append("ProvisionedThroughput: " + getProvisionedThroughput() + ","); if (getStreamSpecification() != null) sb.append("StreamSpecification: " + getStreamSpecification()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateTableRequest == false) return false; CreateTableRequest other = (CreateTableRequest) 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.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.getProvisionedThroughput() == null ^ this.getProvisionedThroughput() == null) return false; if (other.getProvisionedThroughput() != null && other.getProvisionedThroughput().equals( this.getProvisionedThroughput()) == false) return false; if (other.getStreamSpecification() == null ^ this.getStreamSpecification() == null) return false; if (other.getStreamSpecification() != null && other.getStreamSpecification().equals( this.getStreamSpecification()) == 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 + ((getLocalSecondaryIndexes() == null) ? 0 : getLocalSecondaryIndexes().hashCode()); hashCode = prime * hashCode + ((getGlobalSecondaryIndexes() == null) ? 0 : getGlobalSecondaryIndexes().hashCode()); hashCode = prime * hashCode + ((getProvisionedThroughput() == null) ? 0 : getProvisionedThroughput().hashCode()); hashCode = prime * hashCode + ((getStreamSpecification() == null) ? 0 : getStreamSpecification().hashCode()); return hashCode; } @Override public CreateTableRequest clone() { return (CreateTableRequest) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy