1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 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())
    }
}