// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateTable`](crate::operation::update_table::builders::UpdateTableFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`keyspace_name(impl Into<String>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::keyspace_name) / [`set_keyspace_name(Option<String>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_keyspace_name):<br>required: **true**<br><p>The name of the keyspace the specified table is stored in.</p><br>
/// - [`table_name(impl Into<String>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::table_name) / [`set_table_name(Option<String>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_table_name):<br>required: **true**<br><p>The name of the table.</p><br>
/// - [`add_columns(ColumnDefinition)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::add_columns) / [`set_add_columns(Option<Vec::<ColumnDefinition>>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_add_columns):<br>required: **false**<br><p>For each column to be added to the specified table:</p> <ul> <li> <p> <code>name</code> - The name of the column.</p> </li> <li> <p> <code>type</code> - An Amazon Keyspaces data type. For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types">Data types</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p> </li> </ul><br>
/// - [`capacity_specification(CapacitySpecification)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::capacity_specification) / [`set_capacity_specification(Option<CapacitySpecification>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_capacity_specification):<br>required: **false**<br><p>Modifies the read/write throughput capacity mode for the table. The options are:</p> <ul> <li> <p> <code>throughputMode:PAY_PER_REQUEST</code> and </p> </li> <li> <p> <code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p> </li> </ul> <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html">Read/write capacity modes</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p><br>
/// - [`encryption_specification(EncryptionSpecification)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::encryption_specification) / [`set_encryption_specification(Option<EncryptionSpecification>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_encryption_specification):<br>required: **false**<br><p>Modifies the encryption settings of the table. You can choose one of the following KMS key (KMS key):</p> <ul> <li> <p> <code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces. </p> </li> <li> <p> <code>type:CUSTOMER_MANAGED_KMS_KEY</code> - This key is stored in your account and is created, owned, and managed by you. This option requires the <code>kms_key_identifier</code> of the KMS key in Amazon Resource Name (ARN) format as input. </p> </li> </ul> <p>The default is <code>AWS_OWNED_KMS_KEY</code>.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html">Encryption at rest</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p><br>
/// - [`point_in_time_recovery(PointInTimeRecovery)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::point_in_time_recovery) / [`set_point_in_time_recovery(Option<PointInTimeRecovery>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_point_in_time_recovery):<br>required: **false**<br><p>Modifies the <code>pointInTimeRecovery</code> settings of the table. The options are:</p> <ul> <li> <p> <code>status=ENABLED</code> </p> </li> <li> <p> <code>status=DISABLED</code> </p> </li> </ul> <p>If it's not specified, the default is <code>status=DISABLED</code>.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html">Point-in-time recovery</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p><br>
/// - [`ttl(TimeToLive)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::ttl) / [`set_ttl(Option<TimeToLive>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_ttl):<br>required: **false**<br><p>Modifies Time to Live custom settings for the table. The options are:</p> <ul> <li> <p> <code>status:enabled</code> </p> </li> <li> <p> <code>status:disabled</code> </p> </li> </ul> <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html">Expiring data by using Amazon Keyspaces Time to Live (TTL)</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p><br>
/// - [`default_time_to_live(i32)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::default_time_to_live) / [`set_default_time_to_live(Option<i32>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_default_time_to_live):<br>required: **false**<br><p>The default Time to Live setting in seconds for the table.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl">Setting the default TTL value for a table</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p><br>
/// - [`client_side_timestamps(ClientSideTimestamps)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::client_side_timestamps) / [`set_client_side_timestamps(Option<ClientSideTimestamps>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_client_side_timestamps):<br>required: **false**<br><p>Enables client-side timestamps for the table. By default, the setting is disabled. You can enable client-side timestamps with the following option:</p> <ul> <li> <p> <code>status: "enabled"</code> </p> </li> </ul> <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p><br>
/// - On success, responds with [`UpdateTableOutput`](crate::operation::update_table::UpdateTableOutput) with field(s):
/// - [`resource_arn(String)`](crate::operation::update_table::UpdateTableOutput::resource_arn): <p>The Amazon Resource Name (ARN) of the modified table.</p>
/// - On failure, responds with [`SdkError<UpdateTableError>`](crate::operation::update_table::UpdateTableError)
pub fn update_table(&self) -> crate::operation::update_table::builders::UpdateTableFluentBuilder {
crate::operation::update_table::builders::UpdateTableFluentBuilder::new(self.handle.clone())
}
}