/* * 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 keyspaces-2022-02-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.Keyspaces.Model { /// /// Container for the parameters to the RestoreTable operation. /// Restores the specified table to the specified point in time within the earliest_restorable_timestamp /// and the current time. For more information about restore points, see /// Time window for PITR continuous backups in the Amazon Keyspaces Developer Guide. /// /// /// /// 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, Amazon Keyspaces restores your source /// table's schema and data to the state based on the selected timestamp (day:hour:minute:second) /// to a new table. The Time to Live (TTL) settings are also restored to the state based /// on the selected timestamp. /// /// /// /// In addition to the table's schema, data, and TTL settings, RestoreTable /// restores the capacity mode, encryption, and point-in-time recovery settings from the /// source table. Unlike the table's schema data and TTL settings, which are restored /// based on the selected timestamp, these settings are always restored based on the table's /// settings as of the current time or when the table was deleted. /// /// /// /// You can also overwrite these settings during restore: /// /// /// /// For more information, see PITR /// restore settings in the Amazon Keyspaces Developer Guide. /// /// /// /// Note that the following settings are not restored, and you must configure them manually /// for the new table: /// /// /// public partial class RestoreTableRequest : AmazonKeyspacesRequest { private CapacitySpecification _capacitySpecificationOverride; private EncryptionSpecification _encryptionSpecificationOverride; private PointInTimeRecovery _pointInTimeRecoveryOverride; private DateTime? _restoreTimestamp; private string _sourceKeyspaceName; private string _sourceTableName; private List _tagsOverride = new List(); private string _targetKeyspaceName; private string _targetTableName; /// /// Gets and sets the property CapacitySpecificationOverride. /// /// Specifies the read/write throughput capacity mode for the target table. The options /// are: /// ///
  • /// /// throughputMode:PAY_PER_REQUEST /// ///
  • /// /// throughputMode:PROVISIONED - Provisioned capacity mode requires readCapacityUnits /// and writeCapacityUnits as input. /// ///
/// /// The default is throughput_mode:PAY_PER_REQUEST. /// /// /// /// For more information, see Read/write /// capacity modes in the Amazon Keyspaces Developer Guide. /// ///
public CapacitySpecification CapacitySpecificationOverride { get { return this._capacitySpecificationOverride; } set { this._capacitySpecificationOverride = value; } } // Check to see if CapacitySpecificationOverride property is set internal bool IsSetCapacitySpecificationOverride() { return this._capacitySpecificationOverride != null; } /// /// Gets and sets the property EncryptionSpecificationOverride. /// /// Specifies the encryption settings for the target table. You can choose one of the /// following KMS key (KMS key): /// ///
  • /// /// type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. /// ///
  • /// /// type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and /// is created, owned, and managed by you. This option requires the kms_key_identifier /// of the KMS key in Amazon Resource Name (ARN) format as input. /// ///
/// /// The default is type:AWS_OWNED_KMS_KEY. /// /// /// /// For more information, see Encryption /// at rest in the Amazon Keyspaces Developer Guide. /// ///
public EncryptionSpecification EncryptionSpecificationOverride { get { return this._encryptionSpecificationOverride; } set { this._encryptionSpecificationOverride = value; } } // Check to see if EncryptionSpecificationOverride property is set internal bool IsSetEncryptionSpecificationOverride() { return this._encryptionSpecificationOverride != null; } /// /// Gets and sets the property PointInTimeRecoveryOverride. /// /// Specifies the pointInTimeRecovery settings for the target table. The /// options are: /// ///
  • /// /// status=ENABLED /// ///
  • /// /// status=DISABLED /// ///
/// /// If it's not specified, the default is status=DISABLED. /// /// /// /// For more information, see Point-in-time /// recovery in the Amazon Keyspaces Developer Guide. /// ///
public PointInTimeRecovery PointInTimeRecoveryOverride { get { return this._pointInTimeRecoveryOverride; } set { this._pointInTimeRecoveryOverride = value; } } // Check to see if PointInTimeRecoveryOverride property is set internal bool IsSetPointInTimeRecoveryOverride() { return this._pointInTimeRecoveryOverride != null; } /// /// Gets and sets the property RestoreTimestamp. /// /// The restore timestamp in ISO 8601 format. /// /// public DateTime RestoreTimestamp { get { return this._restoreTimestamp.GetValueOrDefault(); } set { this._restoreTimestamp = value; } } // Check to see if RestoreTimestamp property is set internal bool IsSetRestoreTimestamp() { return this._restoreTimestamp.HasValue; } /// /// Gets and sets the property SourceKeyspaceName. /// /// The keyspace name of the source table. /// /// [AWSProperty(Required=true, Min=1, Max=48)] public string SourceKeyspaceName { get { return this._sourceKeyspaceName; } set { this._sourceKeyspaceName = value; } } // Check to see if SourceKeyspaceName property is set internal bool IsSetSourceKeyspaceName() { return this._sourceKeyspaceName != null; } /// /// Gets and sets the property SourceTableName. /// /// The name of the source table. /// /// [AWSProperty(Required=true, Min=1, Max=48)] 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 TagsOverride. /// /// A list of key-value pair tags to be attached to the restored table. /// /// /// /// For more information, see Adding /// tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer /// Guide. /// /// [AWSProperty(Min=1, Max=60)] public List TagsOverride { get { return this._tagsOverride; } set { this._tagsOverride = value; } } // Check to see if TagsOverride property is set internal bool IsSetTagsOverride() { return this._tagsOverride != null && this._tagsOverride.Count > 0; } /// /// Gets and sets the property TargetKeyspaceName. /// /// The name of the target keyspace. /// /// [AWSProperty(Required=true, Min=1, Max=48)] public string TargetKeyspaceName { get { return this._targetKeyspaceName; } set { this._targetKeyspaceName = value; } } // Check to see if TargetKeyspaceName property is set internal bool IsSetTargetKeyspaceName() { return this._targetKeyspaceName != null; } /// /// Gets and sets the property TargetTableName. /// /// The name of the target table. /// /// [AWSProperty(Required=true, Min=1, Max=48)] 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; } } }