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 SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

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

import java.io.Serializable;
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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly one * element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 partition key value. There * is a 10 GB size limit per partition key value; 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 partition key as the * table. *

    *
  • *
  • *

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

    *
      *
    • *

      * ProjectionType - One of the following: *

      *
        *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      *
    • *
    • *

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

      *
    • *
    *
  • *
*/ 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly * one element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly * one element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly one * element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide * exactly one element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly one * element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly * one element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly one * element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly * one element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly one * element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 - The role that the key attribute will assume: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    *
  • *
* *

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

*

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

*
*

* For a simple primary key (partition key), you must provide exactly * one element with a KeyType of HASH. *

*

* For a composite primary key (partition key and sort key), 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 partition key value. There * is a 10 GB size limit per partition key value; 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 partition key as the * table. *

    *
  • *
  • *

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

    *
      *
    • *

      * ProjectionType - One of the following: *

      *
        *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      *
    • *
    • *

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

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

    *
  • *
  • *

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

    *
      *
    • *

      * ProjectionType - One of the following: *

      *
        *
      • *

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

        *
      • *
      • *

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

        *
      • *
      • *

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

        *
      • *
      *
    • *
    • *

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

      *
    • *
    *
  • */ 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 partition key value. There * is a 10 GB size limit per partition key value; 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 partition key as the * table. *

      *
    • *
    • *

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

      *
        *
      • *

        * ProjectionType - One of the following: *

        *
          *
        • *

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

          *
        • *
        • *

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

          *
        • *
        • *

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

          *
        • *
        *
      • *
      • *

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

        *
      • *
      *
    • *
    * * @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 partition * key value. There is a 10 GB size limit per partition key value; * 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 partition * key as the table. *

      *
    • *
    • *

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

      *
        *
      • *

        * ProjectionType - One of the following: *

        *
          *
        • *

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

          *
        • *
        • *

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

          *
        • *
        • *

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

          *
        • *
        *
      • *
      • *

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

        *
      • *
      *
    • */ 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 partition key value. There * is a 10 GB size limit per partition key value; 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 partition key as the * table. *

        *
      • *
      • *

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

        *
          *
        • *

          * ProjectionType - One of the following: *

          *
            *
          • *

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

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • *
          *
        • *
        • *

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

          *
        • *
        *
      • *
      *

      * 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 partition * key value. There is a 10 GB size limit per partition key value; * 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 partition * key as the table. *

        *
      • *
      • *

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

        *
          *
        • *

          * ProjectionType - One of the following: *

          *
            *
          • *

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

            *
          • *
          • *

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

            *
          • *
          • *

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

            *
          • *
          *
        • *
        • *

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

          *
        • *
        *
      • * @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 partition key value. There * is a 10 GB size limit per partition key value; 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 partition key as the * table. *

          *
        • *
        • *

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

          *
            *
          • *

            * ProjectionType - One of the following: *

            *
              *
            • *

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

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • *
            *
          • *
          • *

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

            *
          • *
          *
        • *
        * * @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 partition * key value. There is a 10 GB size limit per partition key value; * 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 partition * key as the table. *

          *
        • *
        • *

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

          *
            *
          • *

            * ProjectionType - One of the following: *

            *
              *
            • *

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

              *
            • *
            • *

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

              *
            • *
            • *

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

              *
            • *
            *
          • *
          • *

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

            *
          • *
          *
        • * @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 - 2025 Weber Informatics LLC | Privacy Policy