aws_sdk_keyspaces/operation/update_table/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_table::_update_table_output::UpdateTableOutputBuilder;
3
4pub use crate::operation::update_table::_update_table_input::UpdateTableInputBuilder;
5
6impl crate::operation::update_table::builders::UpdateTableInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::update_table::UpdateTableOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_table::UpdateTableError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_table();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateTable`.
24///
25/// <p>Adds new columns to the table or updates one of the table's settings, for example capacity mode, auto scaling, encryption, point-in-time recovery, or ttl settings. Note that you can only update one specific table setting per update operation.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct UpdateTableFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::update_table::builders::UpdateTableInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::update_table::UpdateTableOutput,
35        crate::operation::update_table::UpdateTableError,
36    > for UpdateTableFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::update_table::UpdateTableOutput,
44            crate::operation::update_table::UpdateTableError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl UpdateTableFluentBuilder {
51    /// Creates a new `UpdateTableFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the UpdateTable as a reference.
60    pub fn as_input(&self) -> &crate::operation::update_table::builders::UpdateTableInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::update_table::UpdateTableOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::update_table::UpdateTableError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::update_table::UpdateTable::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::update_table::UpdateTable::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::update_table::UpdateTableOutput,
97        crate::operation::update_table::UpdateTableError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// <p>The name of the keyspace the specified table is stored in.</p>
112    pub fn keyspace_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.keyspace_name(input.into());
114        self
115    }
116    /// <p>The name of the keyspace the specified table is stored in.</p>
117    pub fn set_keyspace_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_keyspace_name(input);
119        self
120    }
121    /// <p>The name of the keyspace the specified table is stored in.</p>
122    pub fn get_keyspace_name(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_keyspace_name()
124    }
125    /// <p>The name of the table.</p>
126    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.table_name(input.into());
128        self
129    }
130    /// <p>The name of the table.</p>
131    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_table_name(input);
133        self
134    }
135    /// <p>The name of the table.</p>
136    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_table_name()
138    }
139    ///
140    /// Appends an item to `addColumns`.
141    ///
142    /// To override the contents of this collection use [`set_add_columns`](Self::set_add_columns).
143    ///
144    /// <p>For each column to be added to the specified table:</p>
145    /// <ul>
146    /// <li>
147    /// <p><code>name</code> - The name of the column.</p></li>
148    /// <li>
149    /// <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>
150    /// </ul>
151    pub fn add_columns(mut self, input: crate::types::ColumnDefinition) -> Self {
152        self.inner = self.inner.add_columns(input);
153        self
154    }
155    /// <p>For each column to be added to the specified table:</p>
156    /// <ul>
157    /// <li>
158    /// <p><code>name</code> - The name of the column.</p></li>
159    /// <li>
160    /// <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>
161    /// </ul>
162    pub fn set_add_columns(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ColumnDefinition>>) -> Self {
163        self.inner = self.inner.set_add_columns(input);
164        self
165    }
166    /// <p>For each column to be added to the specified table:</p>
167    /// <ul>
168    /// <li>
169    /// <p><code>name</code> - The name of the column.</p></li>
170    /// <li>
171    /// <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>
172    /// </ul>
173    pub fn get_add_columns(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ColumnDefinition>> {
174        self.inner.get_add_columns()
175    }
176    /// <p>Modifies the read/write throughput capacity mode for the table. The options are:</p>
177    /// <ul>
178    /// <li>
179    /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
180    /// <li>
181    /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
182    /// </ul>
183    /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
184    /// <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>
185    pub fn capacity_specification(mut self, input: crate::types::CapacitySpecification) -> Self {
186        self.inner = self.inner.capacity_specification(input);
187        self
188    }
189    /// <p>Modifies the read/write throughput capacity mode for the table. The options are:</p>
190    /// <ul>
191    /// <li>
192    /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
193    /// <li>
194    /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
195    /// </ul>
196    /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
197    /// <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>
198    pub fn set_capacity_specification(mut self, input: ::std::option::Option<crate::types::CapacitySpecification>) -> Self {
199        self.inner = self.inner.set_capacity_specification(input);
200        self
201    }
202    /// <p>Modifies the read/write throughput capacity mode for the table. The options are:</p>
203    /// <ul>
204    /// <li>
205    /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
206    /// <li>
207    /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
208    /// </ul>
209    /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
210    /// <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>
211    pub fn get_capacity_specification(&self) -> &::std::option::Option<crate::types::CapacitySpecification> {
212        self.inner.get_capacity_specification()
213    }
214    /// <p>Modifies the encryption settings of the table. You can choose one of the following KMS key (KMS key):</p>
215    /// <ul>
216    /// <li>
217    /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
218    /// <li>
219    /// <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>
220    /// </ul>
221    /// <p>The default is <code>AWS_OWNED_KMS_KEY</code>.</p>
222    /// <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>
223    pub fn encryption_specification(mut self, input: crate::types::EncryptionSpecification) -> Self {
224        self.inner = self.inner.encryption_specification(input);
225        self
226    }
227    /// <p>Modifies the encryption settings of the table. You can choose one of the following KMS key (KMS key):</p>
228    /// <ul>
229    /// <li>
230    /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
231    /// <li>
232    /// <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>
233    /// </ul>
234    /// <p>The default is <code>AWS_OWNED_KMS_KEY</code>.</p>
235    /// <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>
236    pub fn set_encryption_specification(mut self, input: ::std::option::Option<crate::types::EncryptionSpecification>) -> Self {
237        self.inner = self.inner.set_encryption_specification(input);
238        self
239    }
240    /// <p>Modifies the encryption settings of the table. You can choose one of the following KMS key (KMS key):</p>
241    /// <ul>
242    /// <li>
243    /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
244    /// <li>
245    /// <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>
246    /// </ul>
247    /// <p>The default is <code>AWS_OWNED_KMS_KEY</code>.</p>
248    /// <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>
249    pub fn get_encryption_specification(&self) -> &::std::option::Option<crate::types::EncryptionSpecification> {
250        self.inner.get_encryption_specification()
251    }
252    /// <p>Modifies the <code>pointInTimeRecovery</code> settings of the table. The options are:</p>
253    /// <ul>
254    /// <li>
255    /// <p><code>status=ENABLED</code></p></li>
256    /// <li>
257    /// <p><code>status=DISABLED</code></p></li>
258    /// </ul>
259    /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
260    /// <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>
261    pub fn point_in_time_recovery(mut self, input: crate::types::PointInTimeRecovery) -> Self {
262        self.inner = self.inner.point_in_time_recovery(input);
263        self
264    }
265    /// <p>Modifies the <code>pointInTimeRecovery</code> settings of the table. The options are:</p>
266    /// <ul>
267    /// <li>
268    /// <p><code>status=ENABLED</code></p></li>
269    /// <li>
270    /// <p><code>status=DISABLED</code></p></li>
271    /// </ul>
272    /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
273    /// <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>
274    pub fn set_point_in_time_recovery(mut self, input: ::std::option::Option<crate::types::PointInTimeRecovery>) -> Self {
275        self.inner = self.inner.set_point_in_time_recovery(input);
276        self
277    }
278    /// <p>Modifies the <code>pointInTimeRecovery</code> settings of the table. The options are:</p>
279    /// <ul>
280    /// <li>
281    /// <p><code>status=ENABLED</code></p></li>
282    /// <li>
283    /// <p><code>status=DISABLED</code></p></li>
284    /// </ul>
285    /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
286    /// <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>
287    pub fn get_point_in_time_recovery(&self) -> &::std::option::Option<crate::types::PointInTimeRecovery> {
288        self.inner.get_point_in_time_recovery()
289    }
290    /// <p>Modifies Time to Live custom settings for the table. The options are:</p>
291    /// <ul>
292    /// <li>
293    /// <p><code>status:enabled</code></p></li>
294    /// <li>
295    /// <p><code>status:disabled</code></p></li>
296    /// </ul>
297    /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
298    /// <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>
299    pub fn ttl(mut self, input: crate::types::TimeToLive) -> Self {
300        self.inner = self.inner.ttl(input);
301        self
302    }
303    /// <p>Modifies Time to Live custom settings for the table. The options are:</p>
304    /// <ul>
305    /// <li>
306    /// <p><code>status:enabled</code></p></li>
307    /// <li>
308    /// <p><code>status:disabled</code></p></li>
309    /// </ul>
310    /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
311    /// <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>
312    pub fn set_ttl(mut self, input: ::std::option::Option<crate::types::TimeToLive>) -> Self {
313        self.inner = self.inner.set_ttl(input);
314        self
315    }
316    /// <p>Modifies Time to Live custom settings for the table. The options are:</p>
317    /// <ul>
318    /// <li>
319    /// <p><code>status:enabled</code></p></li>
320    /// <li>
321    /// <p><code>status:disabled</code></p></li>
322    /// </ul>
323    /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
324    /// <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>
325    pub fn get_ttl(&self) -> &::std::option::Option<crate::types::TimeToLive> {
326        self.inner.get_ttl()
327    }
328    /// <p>The default Time to Live setting in seconds for the table.</p>
329    /// <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>
330    pub fn default_time_to_live(mut self, input: i32) -> Self {
331        self.inner = self.inner.default_time_to_live(input);
332        self
333    }
334    /// <p>The default Time to Live setting in seconds for the table.</p>
335    /// <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>
336    pub fn set_default_time_to_live(mut self, input: ::std::option::Option<i32>) -> Self {
337        self.inner = self.inner.set_default_time_to_live(input);
338        self
339    }
340    /// <p>The default Time to Live setting in seconds for the table.</p>
341    /// <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>
342    pub fn get_default_time_to_live(&self) -> &::std::option::Option<i32> {
343        self.inner.get_default_time_to_live()
344    }
345    /// <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>
346    /// <ul>
347    /// <li>
348    /// <p><code>status: "enabled"</code></p></li>
349    /// </ul>
350    /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
351    pub fn client_side_timestamps(mut self, input: crate::types::ClientSideTimestamps) -> Self {
352        self.inner = self.inner.client_side_timestamps(input);
353        self
354    }
355    /// <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>
356    /// <ul>
357    /// <li>
358    /// <p><code>status: "enabled"</code></p></li>
359    /// </ul>
360    /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
361    pub fn set_client_side_timestamps(mut self, input: ::std::option::Option<crate::types::ClientSideTimestamps>) -> Self {
362        self.inner = self.inner.set_client_side_timestamps(input);
363        self
364    }
365    /// <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>
366    /// <ul>
367    /// <li>
368    /// <p><code>status: "enabled"</code></p></li>
369    /// </ul>
370    /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
371    pub fn get_client_side_timestamps(&self) -> &::std::option::Option<crate::types::ClientSideTimestamps> {
372        self.inner.get_client_side_timestamps()
373    }
374    /// <p>The optional auto scaling settings to update for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity of a provisioned table automatically on your behalf. Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic.</p>
375    /// <p>If auto scaling is already enabled for the table, you can use <code>UpdateTable</code> to update the minimum and maximum values or the auto scaling policy settings independently.</p>
376    /// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html">Managing throughput capacity automatically with Amazon Keyspaces auto scaling</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
377    pub fn auto_scaling_specification(mut self, input: crate::types::AutoScalingSpecification) -> Self {
378        self.inner = self.inner.auto_scaling_specification(input);
379        self
380    }
381    /// <p>The optional auto scaling settings to update for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity of a provisioned table automatically on your behalf. Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic.</p>
382    /// <p>If auto scaling is already enabled for the table, you can use <code>UpdateTable</code> to update the minimum and maximum values or the auto scaling policy settings independently.</p>
383    /// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html">Managing throughput capacity automatically with Amazon Keyspaces auto scaling</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
384    pub fn set_auto_scaling_specification(mut self, input: ::std::option::Option<crate::types::AutoScalingSpecification>) -> Self {
385        self.inner = self.inner.set_auto_scaling_specification(input);
386        self
387    }
388    /// <p>The optional auto scaling settings to update for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity of a provisioned table automatically on your behalf. Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic.</p>
389    /// <p>If auto scaling is already enabled for the table, you can use <code>UpdateTable</code> to update the minimum and maximum values or the auto scaling policy settings independently.</p>
390    /// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html">Managing throughput capacity automatically with Amazon Keyspaces auto scaling</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
391    pub fn get_auto_scaling_specification(&self) -> &::std::option::Option<crate::types::AutoScalingSpecification> {
392        self.inner.get_auto_scaling_specification()
393    }
394    ///
395    /// Appends an item to `replicaSpecifications`.
396    ///
397    /// To override the contents of this collection use [`set_replica_specifications`](Self::set_replica_specifications).
398    ///
399    /// <p>The Region specific settings of a multi-Regional table.</p>
400    pub fn replica_specifications(mut self, input: crate::types::ReplicaSpecification) -> Self {
401        self.inner = self.inner.replica_specifications(input);
402        self
403    }
404    /// <p>The Region specific settings of a multi-Regional table.</p>
405    pub fn set_replica_specifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecification>>) -> Self {
406        self.inner = self.inner.set_replica_specifications(input);
407        self
408    }
409    /// <p>The Region specific settings of a multi-Regional table.</p>
410    pub fn get_replica_specifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecification>> {
411        self.inner.get_replica_specifications()
412    }
413    /// <p>The CDC stream settings of the table.</p>
414    pub fn cdc_specification(mut self, input: crate::types::CdcSpecification) -> Self {
415        self.inner = self.inner.cdc_specification(input);
416        self
417    }
418    /// <p>The CDC stream settings of the table.</p>
419    pub fn set_cdc_specification(mut self, input: ::std::option::Option<crate::types::CdcSpecification>) -> Self {
420        self.inner = self.inner.set_cdc_specification(input);
421        self
422    }
423    /// <p>The CDC stream settings of the table.</p>
424    pub fn get_cdc_specification(&self) -> &::std::option::Option<crate::types::CdcSpecification> {
425        self.inner.get_cdc_specification()
426    }
427}