/* * Copyright 2010-2019 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; /** *
* Creates a global table from an existing table. A global table creates a * replication relationship between two or more DynamoDB tables with the same * table name in the provided regions. *
** If you want to add a new replica table to a global table, each of the * following conditions must be true: *
** The table must have the same primary key as all of the other replicas. *
** The table must have the same name as all of the other replicas. *
** The table must have DynamoDB Streams enabled, with the stream containing both * the new and the old images of the item. *
** None of the replica tables in the global table can contain any data. *
** If global secondary indexes are specified, then the following conditions must * also be met: *
** The global secondary indexes must have the same name. *
** The global secondary indexes must have the same hash key and sort key (if * present). *
** Write capacity settings should be set consistently across your replica tables * and secondary indexes. DynamoDB strongly recommends enabling auto scaling to * manage the write capacity settings for all of your global tables replicas and * indexes. *
** If you prefer to manage write capacity settings manually, you should * provision equal replicated write capacity units to your replica tables. You * should also provision equal replicated write capacity units to matching * secondary indexes across your global table. *
** The global table name. *
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*/
private String globalTableName;
/**
*
* The regions where the global table needs to be created. *
*/ private java.util.List* The global table name. *
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @return
* The global table name. *
*/ public String getGlobalTableName() { return globalTableName; } /** ** The global table name. *
*
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @param globalTableName
* The global table name. *
*/ public void setGlobalTableName(String globalTableName) { this.globalTableName = globalTableName; } /** ** The global table name. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*
* @param globalTableName
* The global table name. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateGlobalTableRequest withGlobalTableName(String globalTableName) { this.globalTableName = globalTableName; return this; } /** ** The regions where the global table needs to be created. *
* * @return* The regions where the global table needs to be created. *
*/ public java.util.List* The regions where the global table needs to be created. *
* * @param replicationGroup* The regions where the global table needs to be created. *
*/ public void setReplicationGroup(java.util.Collection* The regions where the global table needs to be created. *
** Returns a reference to this object so that method calls can be chained * together. * * @param replicationGroup
* The regions where the global table needs to be created. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateGlobalTableRequest withReplicationGroup(Replica... replicationGroup) { if (getReplicationGroup() == null) { this.replicationGroup = new java.util.ArrayList* The regions where the global table needs to be created. *
** Returns a reference to this object so that method calls can be chained * together. * * @param replicationGroup
* The regions where the global table needs to be created. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateGlobalTableRequest withReplicationGroup( java.util.Collection