aws_sdk_keyspaces/operation/create_table/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_table::_create_table_output::CreateTableOutputBuilder;
3
4pub use crate::operation::create_table::_create_table_input::CreateTableInputBuilder;
5
6impl crate::operation::create_table::builders::CreateTableInputBuilder {
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::create_table::CreateTableOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_table::CreateTableError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_table();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateTable`.
24///
25/// <p>The <code>CreateTable</code> operation adds a new table to the specified keyspace. Within a keyspace, table names must be unique.</p>
26/// <p><code>CreateTable</code> is an asynchronous operation. When the request is received, the status of the table is set to <code>CREATING</code>. You can monitor the creation status of the new table by using the <code>GetTable</code> operation, which returns the current <code>status</code> of the table. You can start using a table when the status is <code>ACTIVE</code>.</p>
27/// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.tables.html">Create a table</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct CreateTableFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::create_table::builders::CreateTableInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::create_table::CreateTableOutput,
37 crate::operation::create_table::CreateTableError,
38 > for CreateTableFluentBuilder
39{
40 fn send(
41 self,
42 config_override: crate::config::Builder,
43 ) -> crate::client::customize::internal::BoxFuture<
44 crate::client::customize::internal::SendResult<
45 crate::operation::create_table::CreateTableOutput,
46 crate::operation::create_table::CreateTableError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl CreateTableFluentBuilder {
53 /// Creates a new `CreateTableFluentBuilder`.
54 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55 Self {
56 handle,
57 inner: ::std::default::Default::default(),
58 config_override: ::std::option::Option::None,
59 }
60 }
61 /// Access the CreateTable as a reference.
62 pub fn as_input(&self) -> &crate::operation::create_table::builders::CreateTableInputBuilder {
63 &self.inner
64 }
65 /// Sends the request and returns the response.
66 ///
67 /// If an error occurs, an `SdkError` will be returned with additional details that
68 /// can be matched against.
69 ///
70 /// By default, any retryable failures will be retried twice. Retry behavior
71 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72 /// set when configuring the client.
73 pub async fn send(
74 self,
75 ) -> ::std::result::Result<
76 crate::operation::create_table::CreateTableOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::create_table::CreateTableError,
79 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80 >,
81 > {
82 let input = self
83 .inner
84 .build()
85 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86 let runtime_plugins = crate::operation::create_table::CreateTable::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::create_table::CreateTable::orchestrate(&runtime_plugins, input).await
92 }
93
94 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95 pub fn customize(
96 self,
97 ) -> crate::client::customize::CustomizableOperation<
98 crate::operation::create_table::CreateTableOutput,
99 crate::operation::create_table::CreateTableError,
100 Self,
101 > {
102 crate::client::customize::CustomizableOperation::new(self)
103 }
104 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105 self.set_config_override(::std::option::Option::Some(config_override.into()));
106 self
107 }
108
109 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110 self.config_override = config_override;
111 self
112 }
113 /// <p>The name of the keyspace that the table is going to be created in.</p>
114 pub fn keyspace_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115 self.inner = self.inner.keyspace_name(input.into());
116 self
117 }
118 /// <p>The name of the keyspace that the table is going to be created in.</p>
119 pub fn set_keyspace_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120 self.inner = self.inner.set_keyspace_name(input);
121 self
122 }
123 /// <p>The name of the keyspace that the table is going to be created in.</p>
124 pub fn get_keyspace_name(&self) -> &::std::option::Option<::std::string::String> {
125 self.inner.get_keyspace_name()
126 }
127 /// <p>The name of the table.</p>
128 pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129 self.inner = self.inner.table_name(input.into());
130 self
131 }
132 /// <p>The name of the table.</p>
133 pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134 self.inner = self.inner.set_table_name(input);
135 self
136 }
137 /// <p>The name of the table.</p>
138 pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
139 self.inner.get_table_name()
140 }
141 /// <p>The <code>schemaDefinition</code> consists of the following parameters.</p>
142 /// <p>For each column to be created:</p>
143 /// <ul>
144 /// <li>
145 /// <p><code>name</code> - The name of the column.</p></li>
146 /// <li>
147 /// <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>
148 /// </ul>
149 /// <p>The primary key of the table consists of the following columns:</p>
150 /// <ul>
151 /// <li>
152 /// <p><code>partitionKeys</code> - The partition key can be a single column, or it can be a compound value composed of two or more columns. The partition key portion of the primary key is required and determines how Amazon Keyspaces stores your data.</p></li>
153 /// <li>
154 /// <p><code>name</code> - The name of each partition key column.</p></li>
155 /// <li>
156 /// <p><code>clusteringKeys</code> - The optional clustering column portion of your primary key determines how the data is clustered and sorted within each partition.</p></li>
157 /// <li>
158 /// <p><code>name</code> - The name of the clustering column.</p></li>
159 /// <li>
160 /// <p><code>orderBy</code> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p>
161 /// <p>To define a column as static use <code>staticColumns</code> - Static columns store values that are shared by all rows in the same partition:</p></li>
162 /// <li>
163 /// <p><code>name</code> - The name of the column.</p></li>
164 /// <li>
165 /// <p><code>type</code> - An Amazon Keyspaces data type.</p></li>
166 /// </ul>
167 pub fn schema_definition(mut self, input: crate::types::SchemaDefinition) -> Self {
168 self.inner = self.inner.schema_definition(input);
169 self
170 }
171 /// <p>The <code>schemaDefinition</code> consists of the following parameters.</p>
172 /// <p>For each column to be created:</p>
173 /// <ul>
174 /// <li>
175 /// <p><code>name</code> - The name of the column.</p></li>
176 /// <li>
177 /// <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>
178 /// </ul>
179 /// <p>The primary key of the table consists of the following columns:</p>
180 /// <ul>
181 /// <li>
182 /// <p><code>partitionKeys</code> - The partition key can be a single column, or it can be a compound value composed of two or more columns. The partition key portion of the primary key is required and determines how Amazon Keyspaces stores your data.</p></li>
183 /// <li>
184 /// <p><code>name</code> - The name of each partition key column.</p></li>
185 /// <li>
186 /// <p><code>clusteringKeys</code> - The optional clustering column portion of your primary key determines how the data is clustered and sorted within each partition.</p></li>
187 /// <li>
188 /// <p><code>name</code> - The name of the clustering column.</p></li>
189 /// <li>
190 /// <p><code>orderBy</code> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p>
191 /// <p>To define a column as static use <code>staticColumns</code> - Static columns store values that are shared by all rows in the same partition:</p></li>
192 /// <li>
193 /// <p><code>name</code> - The name of the column.</p></li>
194 /// <li>
195 /// <p><code>type</code> - An Amazon Keyspaces data type.</p></li>
196 /// </ul>
197 pub fn set_schema_definition(mut self, input: ::std::option::Option<crate::types::SchemaDefinition>) -> Self {
198 self.inner = self.inner.set_schema_definition(input);
199 self
200 }
201 /// <p>The <code>schemaDefinition</code> consists of the following parameters.</p>
202 /// <p>For each column to be created:</p>
203 /// <ul>
204 /// <li>
205 /// <p><code>name</code> - The name of the column.</p></li>
206 /// <li>
207 /// <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>
208 /// </ul>
209 /// <p>The primary key of the table consists of the following columns:</p>
210 /// <ul>
211 /// <li>
212 /// <p><code>partitionKeys</code> - The partition key can be a single column, or it can be a compound value composed of two or more columns. The partition key portion of the primary key is required and determines how Amazon Keyspaces stores your data.</p></li>
213 /// <li>
214 /// <p><code>name</code> - The name of each partition key column.</p></li>
215 /// <li>
216 /// <p><code>clusteringKeys</code> - The optional clustering column portion of your primary key determines how the data is clustered and sorted within each partition.</p></li>
217 /// <li>
218 /// <p><code>name</code> - The name of the clustering column.</p></li>
219 /// <li>
220 /// <p><code>orderBy</code> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p>
221 /// <p>To define a column as static use <code>staticColumns</code> - Static columns store values that are shared by all rows in the same partition:</p></li>
222 /// <li>
223 /// <p><code>name</code> - The name of the column.</p></li>
224 /// <li>
225 /// <p><code>type</code> - An Amazon Keyspaces data type.</p></li>
226 /// </ul>
227 pub fn get_schema_definition(&self) -> &::std::option::Option<crate::types::SchemaDefinition> {
228 self.inner.get_schema_definition()
229 }
230 /// <p>This parameter allows to enter a description of the table.</p>
231 pub fn comment(mut self, input: crate::types::Comment) -> Self {
232 self.inner = self.inner.comment(input);
233 self
234 }
235 /// <p>This parameter allows to enter a description of the table.</p>
236 pub fn set_comment(mut self, input: ::std::option::Option<crate::types::Comment>) -> Self {
237 self.inner = self.inner.set_comment(input);
238 self
239 }
240 /// <p>This parameter allows to enter a description of the table.</p>
241 pub fn get_comment(&self) -> &::std::option::Option<crate::types::Comment> {
242 self.inner.get_comment()
243 }
244 /// <p>Specifies the read/write throughput capacity mode for the table. The options are:</p>
245 /// <ul>
246 /// <li>
247 /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
248 /// <li>
249 /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
250 /// </ul>
251 /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
252 /// <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>
253 pub fn capacity_specification(mut self, input: crate::types::CapacitySpecification) -> Self {
254 self.inner = self.inner.capacity_specification(input);
255 self
256 }
257 /// <p>Specifies the read/write throughput capacity mode for the table. The options are:</p>
258 /// <ul>
259 /// <li>
260 /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
261 /// <li>
262 /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
263 /// </ul>
264 /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
265 /// <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>
266 pub fn set_capacity_specification(mut self, input: ::std::option::Option<crate::types::CapacitySpecification>) -> Self {
267 self.inner = self.inner.set_capacity_specification(input);
268 self
269 }
270 /// <p>Specifies the read/write throughput capacity mode for the table. The options are:</p>
271 /// <ul>
272 /// <li>
273 /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
274 /// <li>
275 /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
276 /// </ul>
277 /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
278 /// <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>
279 pub fn get_capacity_specification(&self) -> &::std::option::Option<crate::types::CapacitySpecification> {
280 self.inner.get_capacity_specification()
281 }
282 /// <p>Specifies how the encryption key for encryption at rest is managed for the table. You can choose one of the following KMS key (KMS key):</p>
283 /// <ul>
284 /// <li>
285 /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
286 /// <li>
287 /// <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>
288 /// </ul>
289 /// <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>.</p>
290 /// <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>
291 pub fn encryption_specification(mut self, input: crate::types::EncryptionSpecification) -> Self {
292 self.inner = self.inner.encryption_specification(input);
293 self
294 }
295 /// <p>Specifies how the encryption key for encryption at rest is managed for the table. You can choose one of the following KMS key (KMS key):</p>
296 /// <ul>
297 /// <li>
298 /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
299 /// <li>
300 /// <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>
301 /// </ul>
302 /// <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>.</p>
303 /// <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>
304 pub fn set_encryption_specification(mut self, input: ::std::option::Option<crate::types::EncryptionSpecification>) -> Self {
305 self.inner = self.inner.set_encryption_specification(input);
306 self
307 }
308 /// <p>Specifies how the encryption key for encryption at rest is managed for the table. You can choose one of the following KMS key (KMS key):</p>
309 /// <ul>
310 /// <li>
311 /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
312 /// <li>
313 /// <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>
314 /// </ul>
315 /// <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>.</p>
316 /// <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>
317 pub fn get_encryption_specification(&self) -> &::std::option::Option<crate::types::EncryptionSpecification> {
318 self.inner.get_encryption_specification()
319 }
320 /// <p>Specifies if <code>pointInTimeRecovery</code> is enabled or disabled for the table. The options are:</p>
321 /// <ul>
322 /// <li>
323 /// <p><code>status=ENABLED</code></p></li>
324 /// <li>
325 /// <p><code>status=DISABLED</code></p></li>
326 /// </ul>
327 /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
328 /// <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>
329 pub fn point_in_time_recovery(mut self, input: crate::types::PointInTimeRecovery) -> Self {
330 self.inner = self.inner.point_in_time_recovery(input);
331 self
332 }
333 /// <p>Specifies if <code>pointInTimeRecovery</code> is enabled or disabled for the table. The options are:</p>
334 /// <ul>
335 /// <li>
336 /// <p><code>status=ENABLED</code></p></li>
337 /// <li>
338 /// <p><code>status=DISABLED</code></p></li>
339 /// </ul>
340 /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
341 /// <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>
342 pub fn set_point_in_time_recovery(mut self, input: ::std::option::Option<crate::types::PointInTimeRecovery>) -> Self {
343 self.inner = self.inner.set_point_in_time_recovery(input);
344 self
345 }
346 /// <p>Specifies if <code>pointInTimeRecovery</code> is enabled or disabled for the table. The options are:</p>
347 /// <ul>
348 /// <li>
349 /// <p><code>status=ENABLED</code></p></li>
350 /// <li>
351 /// <p><code>status=DISABLED</code></p></li>
352 /// </ul>
353 /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
354 /// <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>
355 pub fn get_point_in_time_recovery(&self) -> &::std::option::Option<crate::types::PointInTimeRecovery> {
356 self.inner.get_point_in_time_recovery()
357 }
358 /// <p>Enables Time to Live custom settings for the table. The options are:</p>
359 /// <ul>
360 /// <li>
361 /// <p><code>status:enabled</code></p></li>
362 /// <li>
363 /// <p><code>status:disabled</code></p></li>
364 /// </ul>
365 /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
366 /// <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>
367 pub fn ttl(mut self, input: crate::types::TimeToLive) -> Self {
368 self.inner = self.inner.ttl(input);
369 self
370 }
371 /// <p>Enables Time to Live custom settings for the table. The options are:</p>
372 /// <ul>
373 /// <li>
374 /// <p><code>status:enabled</code></p></li>
375 /// <li>
376 /// <p><code>status:disabled</code></p></li>
377 /// </ul>
378 /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
379 /// <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>
380 pub fn set_ttl(mut self, input: ::std::option::Option<crate::types::TimeToLive>) -> Self {
381 self.inner = self.inner.set_ttl(input);
382 self
383 }
384 /// <p>Enables Time to Live custom settings for the table. The options are:</p>
385 /// <ul>
386 /// <li>
387 /// <p><code>status:enabled</code></p></li>
388 /// <li>
389 /// <p><code>status:disabled</code></p></li>
390 /// </ul>
391 /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
392 /// <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>
393 pub fn get_ttl(&self) -> &::std::option::Option<crate::types::TimeToLive> {
394 self.inner.get_ttl()
395 }
396 /// <p>The default Time to Live setting in seconds for the table.</p>
397 /// <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>
398 pub fn default_time_to_live(mut self, input: i32) -> Self {
399 self.inner = self.inner.default_time_to_live(input);
400 self
401 }
402 /// <p>The default Time to Live setting in seconds for the table.</p>
403 /// <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>
404 pub fn set_default_time_to_live(mut self, input: ::std::option::Option<i32>) -> Self {
405 self.inner = self.inner.set_default_time_to_live(input);
406 self
407 }
408 /// <p>The default Time to Live setting in seconds for the table.</p>
409 /// <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>
410 pub fn get_default_time_to_live(&self) -> &::std::option::Option<i32> {
411 self.inner.get_default_time_to_live()
412 }
413 ///
414 /// Appends an item to `tags`.
415 ///
416 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
417 ///
418 /// <p>A list of key-value pair tags to be attached to the resource.</p>
419 /// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html">Adding tags and labels to Amazon Keyspaces resources</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
420 pub fn tags(mut self, input: crate::types::Tag) -> Self {
421 self.inner = self.inner.tags(input);
422 self
423 }
424 /// <p>A list of key-value pair tags to be attached to the resource.</p>
425 /// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html">Adding tags and labels to Amazon Keyspaces resources</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
426 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
427 self.inner = self.inner.set_tags(input);
428 self
429 }
430 /// <p>A list of key-value pair tags to be attached to the resource.</p>
431 /// <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html">Adding tags and labels to Amazon Keyspaces resources</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
432 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
433 self.inner.get_tags()
434 }
435 /// <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>
436 /// <ul>
437 /// <li>
438 /// <p><code>status: "enabled"</code></p></li>
439 /// </ul>
440 /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
441 pub fn client_side_timestamps(mut self, input: crate::types::ClientSideTimestamps) -> Self {
442 self.inner = self.inner.client_side_timestamps(input);
443 self
444 }
445 /// <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>
446 /// <ul>
447 /// <li>
448 /// <p><code>status: "enabled"</code></p></li>
449 /// </ul>
450 /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
451 pub fn set_client_side_timestamps(mut self, input: ::std::option::Option<crate::types::ClientSideTimestamps>) -> Self {
452 self.inner = self.inner.set_client_side_timestamps(input);
453 self
454 }
455 /// <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>
456 /// <ul>
457 /// <li>
458 /// <p><code>status: "enabled"</code></p></li>
459 /// </ul>
460 /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
461 pub fn get_client_side_timestamps(&self) -> &::std::option::Option<crate::types::ClientSideTimestamps> {
462 self.inner.get_client_side_timestamps()
463 }
464 /// <p>The optional auto scaling settings for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity automatically on your behalf.</p>
465 /// <p>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. 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>
466 /// <p>By default, auto scaling is disabled for a table.</p>
467 pub fn auto_scaling_specification(mut self, input: crate::types::AutoScalingSpecification) -> Self {
468 self.inner = self.inner.auto_scaling_specification(input);
469 self
470 }
471 /// <p>The optional auto scaling settings for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity automatically on your behalf.</p>
472 /// <p>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. 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>
473 /// <p>By default, auto scaling is disabled for a table.</p>
474 pub fn set_auto_scaling_specification(mut self, input: ::std::option::Option<crate::types::AutoScalingSpecification>) -> Self {
475 self.inner = self.inner.set_auto_scaling_specification(input);
476 self
477 }
478 /// <p>The optional auto scaling settings for a table in provisioned capacity mode. Specifies if the service can manage throughput capacity automatically on your behalf.</p>
479 /// <p>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. 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>
480 /// <p>By default, auto scaling is disabled for a table.</p>
481 pub fn get_auto_scaling_specification(&self) -> &::std::option::Option<crate::types::AutoScalingSpecification> {
482 self.inner.get_auto_scaling_specification()
483 }
484 ///
485 /// Appends an item to `replicaSpecifications`.
486 ///
487 /// To override the contents of this collection use [`set_replica_specifications`](Self::set_replica_specifications).
488 ///
489 /// <p>The optional Amazon Web Services Region specific settings of a multi-Region table. These settings overwrite the general settings of the table for the specified Region.</p>
490 /// <p>For a multi-Region table in provisioned capacity mode, you can configure the table's read capacity differently for each Region's replica. The write capacity, however, remains synchronized between all replicas to ensure that there's enough capacity to replicate writes across all Regions. To define the read capacity for a table replica in a specific Region, you can do so by configuring the following parameters.</p>
491 /// <ul>
492 /// <li>
493 /// <p><code>region</code>: The Region where these settings are applied. (Required)</p></li>
494 /// <li>
495 /// <p><code>readCapacityUnits</code>: The provisioned read capacity units. (Optional)</p></li>
496 /// <li>
497 /// <p><code>readCapacityAutoScaling</code>: The read capacity auto scaling settings for the table. (Optional)</p></li>
498 /// </ul>
499 pub fn replica_specifications(mut self, input: crate::types::ReplicaSpecification) -> Self {
500 self.inner = self.inner.replica_specifications(input);
501 self
502 }
503 /// <p>The optional Amazon Web Services Region specific settings of a multi-Region table. These settings overwrite the general settings of the table for the specified Region.</p>
504 /// <p>For a multi-Region table in provisioned capacity mode, you can configure the table's read capacity differently for each Region's replica. The write capacity, however, remains synchronized between all replicas to ensure that there's enough capacity to replicate writes across all Regions. To define the read capacity for a table replica in a specific Region, you can do so by configuring the following parameters.</p>
505 /// <ul>
506 /// <li>
507 /// <p><code>region</code>: The Region where these settings are applied. (Required)</p></li>
508 /// <li>
509 /// <p><code>readCapacityUnits</code>: The provisioned read capacity units. (Optional)</p></li>
510 /// <li>
511 /// <p><code>readCapacityAutoScaling</code>: The read capacity auto scaling settings for the table. (Optional)</p></li>
512 /// </ul>
513 pub fn set_replica_specifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecification>>) -> Self {
514 self.inner = self.inner.set_replica_specifications(input);
515 self
516 }
517 /// <p>The optional Amazon Web Services Region specific settings of a multi-Region table. These settings overwrite the general settings of the table for the specified Region.</p>
518 /// <p>For a multi-Region table in provisioned capacity mode, you can configure the table's read capacity differently for each Region's replica. The write capacity, however, remains synchronized between all replicas to ensure that there's enough capacity to replicate writes across all Regions. To define the read capacity for a table replica in a specific Region, you can do so by configuring the following parameters.</p>
519 /// <ul>
520 /// <li>
521 /// <p><code>region</code>: The Region where these settings are applied. (Required)</p></li>
522 /// <li>
523 /// <p><code>readCapacityUnits</code>: The provisioned read capacity units. (Optional)</p></li>
524 /// <li>
525 /// <p><code>readCapacityAutoScaling</code>: The read capacity auto scaling settings for the table. (Optional)</p></li>
526 /// </ul>
527 pub fn get_replica_specifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecification>> {
528 self.inner.get_replica_specifications()
529 }
530 /// <p>The CDC stream settings of the table.</p>
531 pub fn cdc_specification(mut self, input: crate::types::CdcSpecification) -> Self {
532 self.inner = self.inner.cdc_specification(input);
533 self
534 }
535 /// <p>The CDC stream settings of the table.</p>
536 pub fn set_cdc_specification(mut self, input: ::std::option::Option<crate::types::CdcSpecification>) -> Self {
537 self.inner = self.inner.set_cdc_specification(input);
538 self
539 }
540 /// <p>The CDC stream settings of the table.</p>
541 pub fn get_cdc_specification(&self) -> &::std::option::Option<crate::types::CdcSpecification> {
542 self.inner.get_cdc_specification()
543 }
544}