/*
* Copyright 2010-2014 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 Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.DynamoDBv2.Model
{
///
/// Container for the parameters to the RestoreTableFromBackup operation.
/// Creates a new table from an existing backup. Any number of users can execute up to
/// 4 concurrent restores (any type of restore) in a given account.
///
///
///
/// You can call RestoreTableFromBackup
at a maximum rate of 10 times per
/// second.
///
///
///
/// You must manually set up the following on the restored table:
///
/// -
///
/// Auto scaling policies
///
///
-
///
/// IAM policies
///
///
-
///
/// Amazon CloudWatch metrics and alarms
///
///
-
///
/// Tags
///
///
-
///
/// Stream settings
///
///
-
///
/// Time to Live (TTL) settings
///
///
///
public partial class RestoreTableFromBackupRequest : AmazonDynamoDBRequest
{
private string _backupArn;
private BillingMode _billingModeOverride;
private List _globalSecondaryIndexOverride = new List();
private List _localSecondaryIndexOverride = new List();
private ProvisionedThroughput _provisionedThroughputOverride;
private string _targetTableName;
///
/// Gets and sets the property BackupArn.
///
/// The Amazon Resource Name (ARN) associated with the backup.
///
///
[AWSProperty(Required=true, Min=37, Max=1024)]
public string BackupArn
{
get { return this._backupArn; }
set { this._backupArn = value; }
}
// Check to see if BackupArn property is set
internal bool IsSetBackupArn()
{
return this._backupArn != null;
}
///
/// Gets and sets the property BillingModeOverride.
///
/// The billing mode of the restored table.
///
///
public BillingMode BillingModeOverride
{
get { return this._billingModeOverride; }
set { this._billingModeOverride = value; }
}
// Check to see if BillingModeOverride property is set
internal bool IsSetBillingModeOverride()
{
return this._billingModeOverride != null;
}
///
/// Gets and sets the property GlobalSecondaryIndexOverride.
///
/// List of global secondary indexes for the restored table. The indexes provided should
/// match existing secondary indexes. You can choose to exclude some or all of the indexes
/// at the time of restore.
///
///
public List GlobalSecondaryIndexOverride
{
get { return this._globalSecondaryIndexOverride; }
set { this._globalSecondaryIndexOverride = value; }
}
// Check to see if GlobalSecondaryIndexOverride property is set
internal bool IsSetGlobalSecondaryIndexOverride()
{
return this._globalSecondaryIndexOverride != null && this._globalSecondaryIndexOverride.Count > 0;
}
///
/// Gets and sets the property LocalSecondaryIndexOverride.
///
/// List of local secondary indexes for the restored table. The indexes provided should
/// match existing secondary indexes. You can choose to exclude some or all of the indexes
/// at the time of restore.
///
///
public List LocalSecondaryIndexOverride
{
get { return this._localSecondaryIndexOverride; }
set { this._localSecondaryIndexOverride = value; }
}
// Check to see if LocalSecondaryIndexOverride property is set
internal bool IsSetLocalSecondaryIndexOverride()
{
return this._localSecondaryIndexOverride != null && this._localSecondaryIndexOverride.Count > 0;
}
///
/// Gets and sets the property ProvisionedThroughputOverride.
///
/// Provisioned throughput settings for the restored table.
///
///
public ProvisionedThroughput ProvisionedThroughputOverride
{
get { return this._provisionedThroughputOverride; }
set { this._provisionedThroughputOverride = value; }
}
// Check to see if ProvisionedThroughputOverride property is set
internal bool IsSetProvisionedThroughputOverride()
{
return this._provisionedThroughputOverride != null;
}
///
/// Gets and sets the property TargetTableName.
///
/// The name of the new table to which the backup must be restored.
///
///
[AWSProperty(Required=true, Min=3, Max=255)]
public string TargetTableName
{
get { return this._targetTableName; }
set { this._targetTableName = value; }
}
// Check to see if TargetTableName property is set
internal bool IsSetTargetTableName()
{
return this._targetTableName != null;
}
}
}