aws_sdk_dynamodb/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(self, client: &crate::Client) -> ::std::result::Result<
9                        crate::operation::update_table::UpdateTableOutput,
10                        ::aws_smithy_runtime_api::client::result::SdkError<
11                            crate::operation::update_table::UpdateTableError,
12                            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse
13                        >
14                    > {
15                        let mut fluent_builder = client.update_table();
16                        fluent_builder.inner = self;
17                        fluent_builder.send().await
18                    }
19                }
20/// Fluent builder constructing a request to `UpdateTable`.
21/// 
22/// <p>Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.</p>
23/// <p>You can only perform one of the following operations at once:</p>
24/// <ul>
25/// <li>
26/// <p>Modify the provisioned throughput settings of the table.</p></li>
27/// <li>
28/// <p>Remove a global secondary index from the table.</p></li>
29/// <li>
30/// <p>Create a new global secondary index on the table. After the index begins backfilling, you can use <code>UpdateTable</code> to perform other operations.</p></li>
31/// </ul>
32/// <p><code>UpdateTable</code> is an asynchronous operation; while it's executing, the table status changes from <code>ACTIVE</code> to <code>UPDATING</code>. While it's <code>UPDATING</code>, you can't issue another <code>UpdateTable</code> request. When the table returns to the <code>ACTIVE</code> state, the <code>UpdateTable</code> operation is complete.</p>
33#[derive(::std::clone::Clone, ::std::fmt::Debug)]
34pub struct UpdateTableFluentBuilder {
35                handle: ::std::sync::Arc<crate::client::Handle>,
36                inner: crate::operation::update_table::builders::UpdateTableInputBuilder,
37config_override: ::std::option::Option<crate::config::Builder>,
38            }
39impl
40                crate::client::customize::internal::CustomizableSend<
41                    crate::operation::update_table::UpdateTableOutput,
42                    crate::operation::update_table::UpdateTableError,
43                > for UpdateTableFluentBuilder
44            {
45                fn send(
46                    self,
47                    config_override: crate::config::Builder,
48                ) -> crate::client::customize::internal::BoxFuture<
49                    crate::client::customize::internal::SendResult<
50                        crate::operation::update_table::UpdateTableOutput,
51                        crate::operation::update_table::UpdateTableError,
52                    >,
53                > {
54                    ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
55                }
56            }
57impl UpdateTableFluentBuilder {
58    /// Creates a new `UpdateTableFluentBuilder`.
59                    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
60                        Self {
61                            handle,
62                            inner: ::std::default::Default::default(),
63    config_override: ::std::option::Option::None,
64                        }
65                    }
66    /// Access the UpdateTable as a reference.
67                    pub fn as_input(&self) -> &crate::operation::update_table::builders::UpdateTableInputBuilder {
68                        &self.inner
69                    }
70    /// Sends the request and returns the response.
71                    ///
72                    /// If an error occurs, an `SdkError` will be returned with additional details that
73                    /// can be matched against.
74                    ///
75                    /// By default, any retryable failures will be retried twice. Retry behavior
76                    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
77                    /// set when configuring the client. Note: retries are enabled by default when using
78                    /// `aws_config::load_from_env()` or when using `BehaviorVersion::v2025_01_17()` or later.
79                    pub async fn send(self) -> ::std::result::Result<crate::operation::update_table::UpdateTableOutput, ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::update_table::UpdateTableError, ::aws_smithy_runtime_api::client::orchestrator::HttpResponse>> {
80                        let input = self.inner.build().map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
81                        let runtime_plugins = crate::operation::update_table::UpdateTable::operation_runtime_plugins(
82                            self.handle.runtime_plugins.clone(),
83                            &self.handle.conf,
84                            self.config_override,
85                        );
86                        crate::operation::update_table::UpdateTable::orchestrate(&runtime_plugins, input).await
87                    }
88    
89                    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
90                    pub fn customize(
91                        self,
92                    ) -> crate::client::customize::CustomizableOperation<crate::operation::update_table::UpdateTableOutput, crate::operation::update_table::UpdateTableError, Self> {
93                        crate::client::customize::CustomizableOperation::new(self)
94                    }
95    pub(crate) fn config_override(
96                            mut self,
97                            config_override: impl ::std::convert::Into<crate::config::Builder>,
98                        ) -> Self {
99                            self.set_config_override(::std::option::Option::Some(config_override.into()));
100                            self
101                        }
102    
103                        pub(crate) fn set_config_override(
104                            &mut self,
105                            config_override: ::std::option::Option<crate::config::Builder>,
106                        ) -> &mut Self {
107                            self.config_override = config_override;
108                            self
109                        }
110    /// 
111    /// Appends an item to `AttributeDefinitions`.
112    /// 
113    /// To override the contents of this collection use [`set_attribute_definitions`](Self::set_attribute_definitions).
114    /// 
115    /// <p>An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, <code>AttributeDefinitions</code> must include the key element(s) of the new index.</p>
116    pub fn attribute_definitions(mut self, input: crate::types::AttributeDefinition) -> Self {
117                        self.inner = self.inner.attribute_definitions(input);
118                        self
119                    }
120    /// <p>An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, <code>AttributeDefinitions</code> must include the key element(s) of the new index.</p>
121    pub fn set_attribute_definitions(mut self, input: ::std::option::Option<::std::vec::Vec::<crate::types::AttributeDefinition>>) -> Self {
122                    self.inner = self.inner.set_attribute_definitions(input);
123                    self
124                }
125    /// <p>An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, <code>AttributeDefinitions</code> must include the key element(s) of the new index.</p>
126    pub fn get_attribute_definitions(&self) -> &::std::option::Option<::std::vec::Vec::<crate::types::AttributeDefinition>> {
127                    self.inner.get_attribute_definitions()
128                }
129    /// <p>The name of the table to be updated. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p>
130    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
131                    self.inner = self.inner.table_name(input.into());
132                    self
133                }
134    /// <p>The name of the table to be updated. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p>
135    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
136                    self.inner = self.inner.set_table_name(input);
137                    self
138                }
139    /// <p>The name of the table to be updated. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p>
140    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
141                    self.inner.get_table_name()
142                }
143    /// <p>Controls how you are charged for read and write throughput and how you manage capacity. When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial provisioned capacity values are estimated based on the consumed read and write capacity of your table and global secondary indexes over the past 30 minutes.</p>
144    /// <ul>
145    /// <li>
146    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for most DynamoDB workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html">On-demand capacity mode</a>.</p></li>
147    /// <li>
148    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for steady workloads with predictable growth where capacity requirements can be reliably forecasted. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html">Provisioned capacity mode</a>.</p></li>
149    /// </ul>
150    pub fn billing_mode(mut self, input: crate::types::BillingMode) -> Self {
151                    self.inner = self.inner.billing_mode(input);
152                    self
153                }
154    /// <p>Controls how you are charged for read and write throughput and how you manage capacity. When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial provisioned capacity values are estimated based on the consumed read and write capacity of your table and global secondary indexes over the past 30 minutes.</p>
155    /// <ul>
156    /// <li>
157    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for most DynamoDB workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html">On-demand capacity mode</a>.</p></li>
158    /// <li>
159    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for steady workloads with predictable growth where capacity requirements can be reliably forecasted. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html">Provisioned capacity mode</a>.</p></li>
160    /// </ul>
161    pub fn set_billing_mode(mut self, input: ::std::option::Option<crate::types::BillingMode>) -> Self {
162                    self.inner = self.inner.set_billing_mode(input);
163                    self
164                }
165    /// <p>Controls how you are charged for read and write throughput and how you manage capacity. When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial provisioned capacity values are estimated based on the consumed read and write capacity of your table and global secondary indexes over the past 30 minutes.</p>
166    /// <ul>
167    /// <li>
168    /// <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for most DynamoDB workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html">On-demand capacity mode</a>.</p></li>
169    /// <li>
170    /// <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for steady workloads with predictable growth where capacity requirements can be reliably forecasted. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html">Provisioned capacity mode</a>.</p></li>
171    /// </ul>
172    pub fn get_billing_mode(&self) -> &::std::option::Option<crate::types::BillingMode> {
173                    self.inner.get_billing_mode()
174                }
175    /// <p>The new provisioned throughput settings for the specified table or index.</p>
176    pub fn provisioned_throughput(mut self, input: crate::types::ProvisionedThroughput) -> Self {
177                    self.inner = self.inner.provisioned_throughput(input);
178                    self
179                }
180    /// <p>The new provisioned throughput settings for the specified table or index.</p>
181    pub fn set_provisioned_throughput(mut self, input: ::std::option::Option<crate::types::ProvisionedThroughput>) -> Self {
182                    self.inner = self.inner.set_provisioned_throughput(input);
183                    self
184                }
185    /// <p>The new provisioned throughput settings for the specified table or index.</p>
186    pub fn get_provisioned_throughput(&self) -> &::std::option::Option<crate::types::ProvisionedThroughput> {
187                    self.inner.get_provisioned_throughput()
188                }
189    /// 
190    /// Appends an item to `GlobalSecondaryIndexUpdates`.
191    /// 
192    /// To override the contents of this collection use [`set_global_secondary_index_updates`](Self::set_global_secondary_index_updates).
193    /// 
194    /// <p>An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:</p>
195    /// <ul>
196    /// <li>
197    /// <p><code>Create</code> - add a new global secondary index to the table.</p></li>
198    /// <li>
199    /// <p><code>Update</code> - modify the provisioned throughput settings of an existing global secondary index.</p></li>
200    /// <li>
201    /// <p><code>Delete</code> - remove a global secondary index from the table.</p></li>
202    /// </ul>
203    /// <p>You can create or delete only one global secondary index per <code>UpdateTable</code> operation.</p>
204    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html">Managing Global Secondary Indexes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
205    pub fn global_secondary_index_updates(mut self, input: crate::types::GlobalSecondaryIndexUpdate) -> Self {
206                        self.inner = self.inner.global_secondary_index_updates(input);
207                        self
208                    }
209    /// <p>An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:</p>
210    /// <ul>
211    /// <li>
212    /// <p><code>Create</code> - add a new global secondary index to the table.</p></li>
213    /// <li>
214    /// <p><code>Update</code> - modify the provisioned throughput settings of an existing global secondary index.</p></li>
215    /// <li>
216    /// <p><code>Delete</code> - remove a global secondary index from the table.</p></li>
217    /// </ul>
218    /// <p>You can create or delete only one global secondary index per <code>UpdateTable</code> operation.</p>
219    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html">Managing Global Secondary Indexes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
220    pub fn set_global_secondary_index_updates(mut self, input: ::std::option::Option<::std::vec::Vec::<crate::types::GlobalSecondaryIndexUpdate>>) -> Self {
221                    self.inner = self.inner.set_global_secondary_index_updates(input);
222                    self
223                }
224    /// <p>An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:</p>
225    /// <ul>
226    /// <li>
227    /// <p><code>Create</code> - add a new global secondary index to the table.</p></li>
228    /// <li>
229    /// <p><code>Update</code> - modify the provisioned throughput settings of an existing global secondary index.</p></li>
230    /// <li>
231    /// <p><code>Delete</code> - remove a global secondary index from the table.</p></li>
232    /// </ul>
233    /// <p>You can create or delete only one global secondary index per <code>UpdateTable</code> operation.</p>
234    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html">Managing Global Secondary Indexes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
235    pub fn get_global_secondary_index_updates(&self) -> &::std::option::Option<::std::vec::Vec::<crate::types::GlobalSecondaryIndexUpdate>> {
236                    self.inner.get_global_secondary_index_updates()
237                }
238    /// <p>Represents the DynamoDB Streams configuration for the table.</p><note>
239    /// <p>You receive a <code>ValidationException</code> if you try to enable a stream on a table that already has a stream, or if you try to disable a stream on a table that doesn't have a stream.</p>
240    /// </note>
241    pub fn stream_specification(mut self, input: crate::types::StreamSpecification) -> Self {
242                    self.inner = self.inner.stream_specification(input);
243                    self
244                }
245    /// <p>Represents the DynamoDB Streams configuration for the table.</p><note>
246    /// <p>You receive a <code>ValidationException</code> if you try to enable a stream on a table that already has a stream, or if you try to disable a stream on a table that doesn't have a stream.</p>
247    /// </note>
248    pub fn set_stream_specification(mut self, input: ::std::option::Option<crate::types::StreamSpecification>) -> Self {
249                    self.inner = self.inner.set_stream_specification(input);
250                    self
251                }
252    /// <p>Represents the DynamoDB Streams configuration for the table.</p><note>
253    /// <p>You receive a <code>ValidationException</code> if you try to enable a stream on a table that already has a stream, or if you try to disable a stream on a table that doesn't have a stream.</p>
254    /// </note>
255    pub fn get_stream_specification(&self) -> &::std::option::Option<crate::types::StreamSpecification> {
256                    self.inner.get_stream_specification()
257                }
258    /// <p>The new server-side encryption settings for the specified table.</p>
259    pub fn sse_specification(mut self, input: crate::types::SseSpecification) -> Self {
260                    self.inner = self.inner.sse_specification(input);
261                    self
262                }
263    /// <p>The new server-side encryption settings for the specified table.</p>
264    pub fn set_sse_specification(mut self, input: ::std::option::Option<crate::types::SseSpecification>) -> Self {
265                    self.inner = self.inner.set_sse_specification(input);
266                    self
267                }
268    /// <p>The new server-side encryption settings for the specified table.</p>
269    pub fn get_sse_specification(&self) -> &::std::option::Option<crate::types::SseSpecification> {
270                    self.inner.get_sse_specification()
271                }
272    /// 
273    /// Appends an item to `ReplicaUpdates`.
274    /// 
275    /// To override the contents of this collection use [`set_replica_updates`](Self::set_replica_updates).
276    /// 
277    /// <p>A list of replica update actions (create, delete, or update) for the table.</p>
278    pub fn replica_updates(mut self, input: crate::types::ReplicationGroupUpdate) -> Self {
279                        self.inner = self.inner.replica_updates(input);
280                        self
281                    }
282    /// <p>A list of replica update actions (create, delete, or update) for the table.</p>
283    pub fn set_replica_updates(mut self, input: ::std::option::Option<::std::vec::Vec::<crate::types::ReplicationGroupUpdate>>) -> Self {
284                    self.inner = self.inner.set_replica_updates(input);
285                    self
286                }
287    /// <p>A list of replica update actions (create, delete, or update) for the table.</p>
288    pub fn get_replica_updates(&self) -> &::std::option::Option<::std::vec::Vec::<crate::types::ReplicationGroupUpdate>> {
289                    self.inner.get_replica_updates()
290                }
291    /// <p>The table class of the table to be updated. Valid values are <code>STANDARD</code> and <code>STANDARD_INFREQUENT_ACCESS</code>.</p>
292    pub fn table_class(mut self, input: crate::types::TableClass) -> Self {
293                    self.inner = self.inner.table_class(input);
294                    self
295                }
296    /// <p>The table class of the table to be updated. Valid values are <code>STANDARD</code> and <code>STANDARD_INFREQUENT_ACCESS</code>.</p>
297    pub fn set_table_class(mut self, input: ::std::option::Option<crate::types::TableClass>) -> Self {
298                    self.inner = self.inner.set_table_class(input);
299                    self
300                }
301    /// <p>The table class of the table to be updated. Valid values are <code>STANDARD</code> and <code>STANDARD_INFREQUENT_ACCESS</code>.</p>
302    pub fn get_table_class(&self) -> &::std::option::Option<crate::types::TableClass> {
303                    self.inner.get_table_class()
304                }
305    /// <p>Indicates whether deletion protection is to be enabled (true) or disabled (false) on the table.</p>
306    pub fn deletion_protection_enabled(mut self, input: bool) -> Self {
307                    self.inner = self.inner.deletion_protection_enabled(input);
308                    self
309                }
310    /// <p>Indicates whether deletion protection is to be enabled (true) or disabled (false) on the table.</p>
311    pub fn set_deletion_protection_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
312                    self.inner = self.inner.set_deletion_protection_enabled(input);
313                    self
314                }
315    /// <p>Indicates whether deletion protection is to be enabled (true) or disabled (false) on the table.</p>
316    pub fn get_deletion_protection_enabled(&self) -> &::std::option::Option<bool> {
317                    self.inner.get_deletion_protection_enabled()
318                }
319    /// <p>Specifies the consistency mode for a new global table. This parameter is only valid when you create a global table by specifying one or more <a href="https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ReplicationGroupUpdate.html#DDB-Type-ReplicationGroupUpdate-Create">Create</a> actions in the <a href="https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html#DDB-UpdateTable-request-ReplicaUpdates">ReplicaUpdates</a> action list.</p>
320    /// <p>You can specify one of the following consistency modes:</p>
321    /// <ul>
322    /// <li>
323    /// <p><code>EVENTUAL</code>: Configures a new global table for multi-Region eventual consistency (MREC). This is the default consistency mode for global tables.</p></li>
324    /// <li>
325    /// <p><code>STRONG</code>: Configures a new global table for multi-Region strong consistency (MRSC).</p></li>
326    /// </ul>
327    /// <p>If you don't specify this field, the global table consistency mode defaults to <code>EVENTUAL</code>. For more information about global tables consistency modes, see <a href="https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes"> Consistency modes</a> in DynamoDB developer guide.</p>
328    pub fn multi_region_consistency(mut self, input: crate::types::MultiRegionConsistency) -> Self {
329                    self.inner = self.inner.multi_region_consistency(input);
330                    self
331                }
332    /// <p>Specifies the consistency mode for a new global table. This parameter is only valid when you create a global table by specifying one or more <a href="https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ReplicationGroupUpdate.html#DDB-Type-ReplicationGroupUpdate-Create">Create</a> actions in the <a href="https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html#DDB-UpdateTable-request-ReplicaUpdates">ReplicaUpdates</a> action list.</p>
333    /// <p>You can specify one of the following consistency modes:</p>
334    /// <ul>
335    /// <li>
336    /// <p><code>EVENTUAL</code>: Configures a new global table for multi-Region eventual consistency (MREC). This is the default consistency mode for global tables.</p></li>
337    /// <li>
338    /// <p><code>STRONG</code>: Configures a new global table for multi-Region strong consistency (MRSC).</p></li>
339    /// </ul>
340    /// <p>If you don't specify this field, the global table consistency mode defaults to <code>EVENTUAL</code>. For more information about global tables consistency modes, see <a href="https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes"> Consistency modes</a> in DynamoDB developer guide.</p>
341    pub fn set_multi_region_consistency(mut self, input: ::std::option::Option<crate::types::MultiRegionConsistency>) -> Self {
342                    self.inner = self.inner.set_multi_region_consistency(input);
343                    self
344                }
345    /// <p>Specifies the consistency mode for a new global table. This parameter is only valid when you create a global table by specifying one or more <a href="https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ReplicationGroupUpdate.html#DDB-Type-ReplicationGroupUpdate-Create">Create</a> actions in the <a href="https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html#DDB-UpdateTable-request-ReplicaUpdates">ReplicaUpdates</a> action list.</p>
346    /// <p>You can specify one of the following consistency modes:</p>
347    /// <ul>
348    /// <li>
349    /// <p><code>EVENTUAL</code>: Configures a new global table for multi-Region eventual consistency (MREC). This is the default consistency mode for global tables.</p></li>
350    /// <li>
351    /// <p><code>STRONG</code>: Configures a new global table for multi-Region strong consistency (MRSC).</p></li>
352    /// </ul>
353    /// <p>If you don't specify this field, the global table consistency mode defaults to <code>EVENTUAL</code>. For more information about global tables consistency modes, see <a href="https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes"> Consistency modes</a> in DynamoDB developer guide.</p>
354    pub fn get_multi_region_consistency(&self) -> &::std::option::Option<crate::types::MultiRegionConsistency> {
355                    self.inner.get_multi_region_consistency()
356                }
357    /// 
358    /// Appends an item to `GlobalTableWitnessUpdates`.
359    /// 
360    /// To override the contents of this collection use [`set_global_table_witness_updates`](Self::set_global_table_witness_updates).
361    /// 
362    /// <p>A list of witness updates for a MRSC global table. A witness provides a cost-effective alternative to a full replica in a MRSC global table by maintaining replicated change data written to global table replicas. You cannot perform read or write operations on a witness. For each witness, you can request one action:</p>
363    /// <ul>
364    /// <li>
365    /// <p><code>Create</code> - add a new witness to the global table.</p></li>
366    /// <li>
367    /// <p><code>Delete</code> - remove a witness from the global table.</p></li>
368    /// </ul>
369    /// <p>You can create or delete only one witness per <code>UpdateTable</code> operation.</p>
370    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes">Multi-Region strong consistency (MRSC)</a> in the Amazon DynamoDB Developer Guide</p>
371    pub fn global_table_witness_updates(mut self, input: crate::types::GlobalTableWitnessGroupUpdate) -> Self {
372                        self.inner = self.inner.global_table_witness_updates(input);
373                        self
374                    }
375    /// <p>A list of witness updates for a MRSC global table. A witness provides a cost-effective alternative to a full replica in a MRSC global table by maintaining replicated change data written to global table replicas. You cannot perform read or write operations on a witness. For each witness, you can request one action:</p>
376    /// <ul>
377    /// <li>
378    /// <p><code>Create</code> - add a new witness to the global table.</p></li>
379    /// <li>
380    /// <p><code>Delete</code> - remove a witness from the global table.</p></li>
381    /// </ul>
382    /// <p>You can create or delete only one witness per <code>UpdateTable</code> operation.</p>
383    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes">Multi-Region strong consistency (MRSC)</a> in the Amazon DynamoDB Developer Guide</p>
384    pub fn set_global_table_witness_updates(mut self, input: ::std::option::Option<::std::vec::Vec::<crate::types::GlobalTableWitnessGroupUpdate>>) -> Self {
385                    self.inner = self.inner.set_global_table_witness_updates(input);
386                    self
387                }
388    /// <p>A list of witness updates for a MRSC global table. A witness provides a cost-effective alternative to a full replica in a MRSC global table by maintaining replicated change data written to global table replicas. You cannot perform read or write operations on a witness. For each witness, you can request one action:</p>
389    /// <ul>
390    /// <li>
391    /// <p><code>Create</code> - add a new witness to the global table.</p></li>
392    /// <li>
393    /// <p><code>Delete</code> - remove a witness from the global table.</p></li>
394    /// </ul>
395    /// <p>You can create or delete only one witness per <code>UpdateTable</code> operation.</p>
396    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes">Multi-Region strong consistency (MRSC)</a> in the Amazon DynamoDB Developer Guide</p>
397    pub fn get_global_table_witness_updates(&self) -> &::std::option::Option<::std::vec::Vec::<crate::types::GlobalTableWitnessGroupUpdate>> {
398                    self.inner.get_global_table_witness_updates()
399                }
400    /// <p>Updates the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify <code>MaxReadRequestUnits</code>, <code>MaxWriteRequestUnits</code>, or both.</p>
401    pub fn on_demand_throughput(mut self, input: crate::types::OnDemandThroughput) -> Self {
402                    self.inner = self.inner.on_demand_throughput(input);
403                    self
404                }
405    /// <p>Updates the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify <code>MaxReadRequestUnits</code>, <code>MaxWriteRequestUnits</code>, or both.</p>
406    pub fn set_on_demand_throughput(mut self, input: ::std::option::Option<crate::types::OnDemandThroughput>) -> Self {
407                    self.inner = self.inner.set_on_demand_throughput(input);
408                    self
409                }
410    /// <p>Updates the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify <code>MaxReadRequestUnits</code>, <code>MaxWriteRequestUnits</code>, or both.</p>
411    pub fn get_on_demand_throughput(&self) -> &::std::option::Option<crate::types::OnDemandThroughput> {
412                    self.inner.get_on_demand_throughput()
413                }
414    /// <p>Represents the warm throughput (in read units per second and write units per second) for updating a table.</p>
415    pub fn warm_throughput(mut self, input: crate::types::WarmThroughput) -> Self {
416                    self.inner = self.inner.warm_throughput(input);
417                    self
418                }
419    /// <p>Represents the warm throughput (in read units per second and write units per second) for updating a table.</p>
420    pub fn set_warm_throughput(mut self, input: ::std::option::Option<crate::types::WarmThroughput>) -> Self {
421                    self.inner = self.inner.set_warm_throughput(input);
422                    self
423                }
424    /// <p>Represents the warm throughput (in read units per second and write units per second) for updating a table.</p>
425    pub fn get_warm_throughput(&self) -> &::std::option::Option<crate::types::WarmThroughput> {
426                    self.inner.get_warm_throughput()
427                }
428}
429