/* * 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 RestoreTableToPointInTime operation. /// Restores the specified table to the specified point in time within EarliestRestorableDateTime /// and LatestRestorableDateTime. You can restore your table to any point /// in time during the last 35 days. Any number of users can execute up to 4 concurrent /// restores (any type of restore) in a given account. /// /// /// /// When you restore using point in time recovery, DynamoDB restores your table data /// to the state based on the selected date and time (day:hour:minute:second) to a new /// table. /// /// /// /// Along with data, the following are also included on the new restored table using /// point in time recovery: /// /// /// /// You must manually set up the following on the restored table: /// /// /// public partial class RestoreTableToPointInTimeRequest : AmazonDynamoDBRequest { private BillingMode _billingModeOverride; private List _globalSecondaryIndexOverride = new List(); private List _localSecondaryIndexOverride = new List(); private ProvisionedThroughput _provisionedThroughputOverride; private DateTime? _restoreDateTime; private string _sourceTableName; private string _targetTableName; private bool? _useLatestRestorableTime; /// /// 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 RestoreDateTime. /// /// Time in the past to restore the table to. /// /// public DateTime RestoreDateTime { get { return this._restoreDateTime.GetValueOrDefault(); } set { this._restoreDateTime = value; } } // Check to see if RestoreDateTime property is set internal bool IsSetRestoreDateTime() { return this._restoreDateTime.HasValue; } /// /// Gets and sets the property SourceTableName. /// /// Name of the source table that is being restored. /// /// [AWSProperty(Required=true, Min=3, Max=255)] public string SourceTableName { get { return this._sourceTableName; } set { this._sourceTableName = value; } } // Check to see if SourceTableName property is set internal bool IsSetSourceTableName() { return this._sourceTableName != null; } /// /// Gets and sets the property TargetTableName. /// /// The name of the new table to which it must be restored to. /// /// [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; } /// /// Gets and sets the property UseLatestRestorableTime. /// /// Restore the table to the latest possible time. LatestRestorableDateTime /// is typically 5 minutes before the current time. /// /// public bool UseLatestRestorableTime { get { return this._useLatestRestorableTime.GetValueOrDefault(); } set { this._useLatestRestorableTime = value; } } // Check to see if UseLatestRestorableTime property is set internal bool IsSetUseLatestRestorableTime() { return this._useLatestRestorableTime.HasValue; } } }