/* * 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 { /// <summary> /// Container for the parameters to the RestoreTableFromBackup operation. /// Creates a new table from an existing backup. Any number of users can execute up to /// 50 concurrent restores (any type of restore) in a given account. /// /// /// <para> /// You can call <code>RestoreTableFromBackup</code> at a maximum rate of 10 times per /// second. /// </para> /// /// <para> /// You must manually set up the following on the restored table: /// </para> /// <ul> <li> /// <para> /// Auto scaling policies /// </para> /// </li> <li> /// <para> /// IAM policies /// </para> /// </li> <li> /// <para> /// Amazon CloudWatch metrics and alarms /// </para> /// </li> <li> /// <para> /// Tags /// </para> /// </li> <li> /// <para> /// Stream settings /// </para> /// </li> <li> /// <para> /// Time to Live (TTL) settings /// </para> /// </li> </ul> /// </summary> public partial class RestoreTableFromBackupRequest : AmazonDynamoDBRequest { private string _backupArn; private BillingMode _billingModeOverride; private List<GlobalSecondaryIndex> _globalSecondaryIndexOverride = new List<GlobalSecondaryIndex>(); private List<LocalSecondaryIndex> _localSecondaryIndexOverride = new List<LocalSecondaryIndex>(); private ProvisionedThroughput _provisionedThroughputOverride; private SSESpecification _sseSpecificationOverride; private string _targetTableName; /// <summary> /// Gets and sets the property BackupArn. /// <para> /// The Amazon Resource Name (ARN) associated with the backup. /// </para> /// </summary> [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; } /// <summary> /// Gets and sets the property BillingModeOverride. /// <para> /// The billing mode of the restored table. /// </para> /// </summary> 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; } /// <summary> /// Gets and sets the property GlobalSecondaryIndexOverride. /// <para> /// 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. /// </para> /// </summary> public List<GlobalSecondaryIndex> 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; } /// <summary> /// Gets and sets the property LocalSecondaryIndexOverride. /// <para> /// 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. /// </para> /// </summary> public List<LocalSecondaryIndex> 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; } /// <summary> /// Gets and sets the property ProvisionedThroughputOverride. /// <para> /// Provisioned throughput settings for the restored table. /// </para> /// </summary> 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; } /// <summary> /// Gets and sets the property SSESpecificationOverride. /// <para> /// The new server-side encryption settings for the restored table. /// </para> /// </summary> public SSESpecification SSESpecificationOverride { get { return this._sseSpecificationOverride; } set { this._sseSpecificationOverride = value; } } // Check to see if SSESpecificationOverride property is set internal bool IsSetSSESpecificationOverride() { return this._sseSpecificationOverride != null; } /// <summary> /// Gets and sets the property TargetTableName. /// <para> /// The name of the new table to which the backup must be restored. /// </para> /// </summary> [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; } } }