/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the dynamodb-2012-08-10.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.DynamoDBv2.Model
{
///
/// The parameters for the table created as part of the import operation.
///
public partial class TableCreationParameters
{
private List _attributeDefinitions = new List();
private BillingMode _billingMode;
private List _globalSecondaryIndexes = new List();
private List _keySchema = new List();
private ProvisionedThroughput _provisionedThroughput;
private SSESpecification _sseSpecification;
private string _tableName;
///
/// Gets and sets the property AttributeDefinitions.
///
/// The attributes of the table created as part of the import operation.
///
///
[AWSProperty(Required=true)]
public List AttributeDefinitions
{
get { return this._attributeDefinitions; }
set { this._attributeDefinitions = value; }
}
// Check to see if AttributeDefinitions property is set
internal bool IsSetAttributeDefinitions()
{
return this._attributeDefinitions != null && this._attributeDefinitions.Count > 0;
}
///
/// Gets and sets the property BillingMode.
///
/// The billing mode for provisioning the table created as part of the import operation.
///
///
///
public BillingMode BillingMode
{
get { return this._billingMode; }
set { this._billingMode = value; }
}
// Check to see if BillingMode property is set
internal bool IsSetBillingMode()
{
return this._billingMode != null;
}
///
/// Gets and sets the property GlobalSecondaryIndexes.
///
/// The Global Secondary Indexes (GSI) of the table to be created as part of the import
/// operation.
///
///
public List GlobalSecondaryIndexes
{
get { return this._globalSecondaryIndexes; }
set { this._globalSecondaryIndexes = value; }
}
// Check to see if GlobalSecondaryIndexes property is set
internal bool IsSetGlobalSecondaryIndexes()
{
return this._globalSecondaryIndexes != null && this._globalSecondaryIndexes.Count > 0;
}
///
/// Gets and sets the property KeySchema.
///
/// The primary key and option sort key of the table created as part of the import operation.
///
///
///
[AWSProperty(Required=true, Min=1, Max=2)]
public List KeySchema
{
get { return this._keySchema; }
set { this._keySchema = value; }
}
// Check to see if KeySchema property is set
internal bool IsSetKeySchema()
{
return this._keySchema != null && this._keySchema.Count > 0;
}
///
/// Gets and sets the property ProvisionedThroughput.
///
public ProvisionedThroughput ProvisionedThroughput
{
get { return this._provisionedThroughput; }
set { this._provisionedThroughput = value; }
}
// Check to see if ProvisionedThroughput property is set
internal bool IsSetProvisionedThroughput()
{
return this._provisionedThroughput != null;
}
///
/// Gets and sets the property SSESpecification.
///
public SSESpecification SSESpecification
{
get { return this._sseSpecification; }
set { this._sseSpecification = value; }
}
// Check to see if SSESpecification property is set
internal bool IsSetSSESpecification()
{
return this._sseSpecification != null;
}
///
/// Gets and sets the property TableName.
///
/// The name of the table created as part of the import operation.
///
///
[AWSProperty(Required=true, Min=3, Max=255)]
public string TableName
{
get { return this._tableName; }
set { this._tableName = value; }
}
// Check to see if TableName property is set
internal bool IsSetTableName()
{
return this._tableName != null;
}
}
}