/* * 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 UpdateTable operation. /// Adds new columns to the table or updates one of the table's settings, for example /// capacity mode, encryption, point-in-time recovery, or ttl settings. Note that you /// can only update one specific table setting per update operation. /// public partial class UpdateTableRequest : AmazonKeyspacesRequest { private List _addColumns = new List(); private CapacitySpecification _capacitySpecification; private ClientSideTimestamps _clientSideTimestamps; private int? _defaultTimeToLive; private EncryptionSpecification _encryptionSpecification; private string _keyspaceName; private PointInTimeRecovery _pointInTimeRecovery; private string _tableName; private TimeToLive _ttl; /// /// Gets and sets the property AddColumns. /// /// For each column to be added to the specified table: /// ///
  • /// /// name - The name of the column. /// ///
  • /// /// type - An Amazon Keyspaces data type. For more information, see Data /// types in the Amazon Keyspaces Developer Guide. /// ///
///
[AWSProperty(Min=1)] public List AddColumns { get { return this._addColumns; } set { this._addColumns = value; } } // Check to see if AddColumns property is set internal bool IsSetAddColumns() { return this._addColumns != null && this._addColumns.Count > 0; } /// /// Gets and sets the property CapacitySpecification. /// /// Modifies the read/write throughput capacity mode for the table. The options are: /// ///
  • /// /// throughputMode:PAY_PER_REQUEST and /// ///
  • /// /// 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 CapacitySpecification { get { return this._capacitySpecification; } set { this._capacitySpecification = value; } } // Check to see if CapacitySpecification property is set internal bool IsSetCapacitySpecification() { return this._capacitySpecification != null; } /// /// Gets and sets the property ClientSideTimestamps. /// /// Enables client-side timestamps for the table. By default, the setting is disabled. /// You can enable client-side timestamps with the following option: /// ///
  • /// /// status: "enabled" /// ///
/// /// Once client-side timestamps are enabled for a table, this setting cannot be disabled. /// ///
public ClientSideTimestamps ClientSideTimestamps { get { return this._clientSideTimestamps; } set { this._clientSideTimestamps = value; } } // Check to see if ClientSideTimestamps property is set internal bool IsSetClientSideTimestamps() { return this._clientSideTimestamps != null; } /// /// Gets and sets the property DefaultTimeToLive. /// /// The default Time to Live setting in seconds for the table. /// /// /// /// For more information, see Setting /// the default TTL value for a table in the Amazon Keyspaces Developer Guide. /// /// [AWSProperty(Min=1, Max=630720000)] public int DefaultTimeToLive { get { return this._defaultTimeToLive.GetValueOrDefault(); } set { this._defaultTimeToLive = value; } } // Check to see if DefaultTimeToLive property is set internal bool IsSetDefaultTimeToLive() { return this._defaultTimeToLive.HasValue; } /// /// Gets and sets the property EncryptionSpecification. /// /// Modifies the encryption settings of the 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 AWS_OWNED_KMS_KEY. /// /// /// /// For more information, see Encryption /// at rest in the Amazon Keyspaces Developer Guide. /// ///
public EncryptionSpecification EncryptionSpecification { get { return this._encryptionSpecification; } set { this._encryptionSpecification = value; } } // Check to see if EncryptionSpecification property is set internal bool IsSetEncryptionSpecification() { return this._encryptionSpecification != null; } /// /// Gets and sets the property KeyspaceName. /// /// The name of the keyspace the specified table is stored in. /// /// [AWSProperty(Required=true, Min=1, Max=48)] public string KeyspaceName { get { return this._keyspaceName; } set { this._keyspaceName = value; } } // Check to see if KeyspaceName property is set internal bool IsSetKeyspaceName() { return this._keyspaceName != null; } /// /// Gets and sets the property PointInTimeRecovery. /// /// Modifies the pointInTimeRecovery settings of the 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 PointInTimeRecovery { get { return this._pointInTimeRecovery; } set { this._pointInTimeRecovery = value; } } // Check to see if PointInTimeRecovery property is set internal bool IsSetPointInTimeRecovery() { return this._pointInTimeRecovery != null; } /// /// Gets and sets the property TableName. /// /// The name of the table. /// /// [AWSProperty(Required=true, Min=1, Max=48)] 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; } /// /// Gets and sets the property Ttl. /// /// Modifies Time to Live custom settings for the table. The options are: /// ///
  • /// /// status:enabled /// ///
  • /// /// status:disabled /// ///
/// /// The default is status:disabled. After ttl is enabled, you /// can't disable it for the table. /// /// /// /// For more information, see Expiring /// data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces Developer /// Guide. /// ///
public TimeToLive Ttl { get { return this._ttl; } set { this._ttl = value; } } // Check to see if Ttl property is set internal bool IsSetTtl() { return this._ttl != null; } } }