aws_sdk_keyspaces/operation/create_table/_create_table_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateTableInput {
6 /// <p>The name of the keyspace that the table is going to be created in.</p>
7 pub keyspace_name: ::std::option::Option<::std::string::String>,
8 /// <p>The name of the table.</p>
9 pub table_name: ::std::option::Option<::std::string::String>,
10 /// <p>The <code>schemaDefinition</code> consists of the following parameters.</p>
11 /// <p>For each column to be created:</p>
12 /// <ul>
13 /// <li>
14 /// <p><code>name</code> - The name of the column.</p></li>
15 /// <li>
16 /// <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>
17 /// </ul>
18 /// <p>The primary key of the table consists of the following columns:</p>
19 /// <ul>
20 /// <li>
21 /// <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>
22 /// <li>
23 /// <p><code>name</code> - The name of each partition key column.</p></li>
24 /// <li>
25 /// <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>
26 /// <li>
27 /// <p><code>name</code> - The name of the clustering column.</p></li>
28 /// <li>
29 /// <p><code>orderBy</code> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p>
30 /// <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>
31 /// <li>
32 /// <p><code>name</code> - The name of the column.</p></li>
33 /// <li>
34 /// <p><code>type</code> - An Amazon Keyspaces data type.</p></li>
35 /// </ul>
36 pub schema_definition: ::std::option::Option<crate::types::SchemaDefinition>,
37 /// <p>This parameter allows to enter a description of the table.</p>
38 pub comment: ::std::option::Option<crate::types::Comment>,
39 /// <p>Specifies the read/write throughput capacity mode for the table. The options are:</p>
40 /// <ul>
41 /// <li>
42 /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
43 /// <li>
44 /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
45 /// </ul>
46 /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
47 /// <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>
48 pub capacity_specification: ::std::option::Option<crate::types::CapacitySpecification>,
49 /// <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>
50 /// <ul>
51 /// <li>
52 /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
53 /// <li>
54 /// <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>
55 /// </ul>
56 /// <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>.</p>
57 /// <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>
58 pub encryption_specification: ::std::option::Option<crate::types::EncryptionSpecification>,
59 /// <p>Specifies if <code>pointInTimeRecovery</code> is enabled or disabled for the table. The options are:</p>
60 /// <ul>
61 /// <li>
62 /// <p><code>status=ENABLED</code></p></li>
63 /// <li>
64 /// <p><code>status=DISABLED</code></p></li>
65 /// </ul>
66 /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
67 /// <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>
68 pub point_in_time_recovery: ::std::option::Option<crate::types::PointInTimeRecovery>,
69 /// <p>Enables Time to Live custom settings for the table. The options are:</p>
70 /// <ul>
71 /// <li>
72 /// <p><code>status:enabled</code></p></li>
73 /// <li>
74 /// <p><code>status:disabled</code></p></li>
75 /// </ul>
76 /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
77 /// <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>
78 pub ttl: ::std::option::Option<crate::types::TimeToLive>,
79 /// <p>The default Time to Live setting in seconds for the table.</p>
80 /// <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>
81 pub default_time_to_live: ::std::option::Option<i32>,
82 /// <p>A list of key-value pair tags to be attached to the resource.</p>
83 /// <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>
84 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
85 /// <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>
86 /// <ul>
87 /// <li>
88 /// <p><code>status: "enabled"</code></p></li>
89 /// </ul>
90 /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
91 pub client_side_timestamps: ::std::option::Option<crate::types::ClientSideTimestamps>,
92 /// <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>
93 /// <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>
94 /// <p>By default, auto scaling is disabled for a table.</p>
95 pub auto_scaling_specification: ::std::option::Option<crate::types::AutoScalingSpecification>,
96 /// <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>
97 /// <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>
98 /// <ul>
99 /// <li>
100 /// <p><code>region</code>: The Region where these settings are applied. (Required)</p></li>
101 /// <li>
102 /// <p><code>readCapacityUnits</code>: The provisioned read capacity units. (Optional)</p></li>
103 /// <li>
104 /// <p><code>readCapacityAutoScaling</code>: The read capacity auto scaling settings for the table. (Optional)</p></li>
105 /// </ul>
106 pub replica_specifications: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecification>>,
107}
108impl CreateTableInput {
109 /// <p>The name of the keyspace that the table is going to be created in.</p>
110 pub fn keyspace_name(&self) -> ::std::option::Option<&str> {
111 self.keyspace_name.as_deref()
112 }
113 /// <p>The name of the table.</p>
114 pub fn table_name(&self) -> ::std::option::Option<&str> {
115 self.table_name.as_deref()
116 }
117 /// <p>The <code>schemaDefinition</code> consists of the following parameters.</p>
118 /// <p>For each column to be created:</p>
119 /// <ul>
120 /// <li>
121 /// <p><code>name</code> - The name of the column.</p></li>
122 /// <li>
123 /// <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>
124 /// </ul>
125 /// <p>The primary key of the table consists of the following columns:</p>
126 /// <ul>
127 /// <li>
128 /// <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>
129 /// <li>
130 /// <p><code>name</code> - The name of each partition key column.</p></li>
131 /// <li>
132 /// <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>
133 /// <li>
134 /// <p><code>name</code> - The name of the clustering column.</p></li>
135 /// <li>
136 /// <p><code>orderBy</code> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p>
137 /// <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>
138 /// <li>
139 /// <p><code>name</code> - The name of the column.</p></li>
140 /// <li>
141 /// <p><code>type</code> - An Amazon Keyspaces data type.</p></li>
142 /// </ul>
143 pub fn schema_definition(&self) -> ::std::option::Option<&crate::types::SchemaDefinition> {
144 self.schema_definition.as_ref()
145 }
146 /// <p>This parameter allows to enter a description of the table.</p>
147 pub fn comment(&self) -> ::std::option::Option<&crate::types::Comment> {
148 self.comment.as_ref()
149 }
150 /// <p>Specifies the read/write throughput capacity mode for the table. The options are:</p>
151 /// <ul>
152 /// <li>
153 /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
154 /// <li>
155 /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
156 /// </ul>
157 /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
158 /// <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>
159 pub fn capacity_specification(&self) -> ::std::option::Option<&crate::types::CapacitySpecification> {
160 self.capacity_specification.as_ref()
161 }
162 /// <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>
163 /// <ul>
164 /// <li>
165 /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
166 /// <li>
167 /// <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>
168 /// </ul>
169 /// <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>.</p>
170 /// <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>
171 pub fn encryption_specification(&self) -> ::std::option::Option<&crate::types::EncryptionSpecification> {
172 self.encryption_specification.as_ref()
173 }
174 /// <p>Specifies if <code>pointInTimeRecovery</code> is enabled or disabled for the table. The options are:</p>
175 /// <ul>
176 /// <li>
177 /// <p><code>status=ENABLED</code></p></li>
178 /// <li>
179 /// <p><code>status=DISABLED</code></p></li>
180 /// </ul>
181 /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
182 /// <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>
183 pub fn point_in_time_recovery(&self) -> ::std::option::Option<&crate::types::PointInTimeRecovery> {
184 self.point_in_time_recovery.as_ref()
185 }
186 /// <p>Enables Time to Live custom settings for the table. The options are:</p>
187 /// <ul>
188 /// <li>
189 /// <p><code>status:enabled</code></p></li>
190 /// <li>
191 /// <p><code>status:disabled</code></p></li>
192 /// </ul>
193 /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
194 /// <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>
195 pub fn ttl(&self) -> ::std::option::Option<&crate::types::TimeToLive> {
196 self.ttl.as_ref()
197 }
198 /// <p>The default Time to Live setting in seconds for the table.</p>
199 /// <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>
200 pub fn default_time_to_live(&self) -> ::std::option::Option<i32> {
201 self.default_time_to_live
202 }
203 /// <p>A list of key-value pair tags to be attached to the resource.</p>
204 /// <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>
205 ///
206 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`.
207 pub fn tags(&self) -> &[crate::types::Tag] {
208 self.tags.as_deref().unwrap_or_default()
209 }
210 /// <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>
211 /// <ul>
212 /// <li>
213 /// <p><code>status: "enabled"</code></p></li>
214 /// </ul>
215 /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
216 pub fn client_side_timestamps(&self) -> ::std::option::Option<&crate::types::ClientSideTimestamps> {
217 self.client_side_timestamps.as_ref()
218 }
219 /// <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>
220 /// <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>
221 /// <p>By default, auto scaling is disabled for a table.</p>
222 pub fn auto_scaling_specification(&self) -> ::std::option::Option<&crate::types::AutoScalingSpecification> {
223 self.auto_scaling_specification.as_ref()
224 }
225 /// <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>
226 /// <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>
227 /// <ul>
228 /// <li>
229 /// <p><code>region</code>: The Region where these settings are applied. (Required)</p></li>
230 /// <li>
231 /// <p><code>readCapacityUnits</code>: The provisioned read capacity units. (Optional)</p></li>
232 /// <li>
233 /// <p><code>readCapacityAutoScaling</code>: The read capacity auto scaling settings for the table. (Optional)</p></li>
234 /// </ul>
235 ///
236 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.replica_specifications.is_none()`.
237 pub fn replica_specifications(&self) -> &[crate::types::ReplicaSpecification] {
238 self.replica_specifications.as_deref().unwrap_or_default()
239 }
240}
241impl CreateTableInput {
242 /// Creates a new builder-style object to manufacture [`CreateTableInput`](crate::operation::create_table::CreateTableInput).
243 pub fn builder() -> crate::operation::create_table::builders::CreateTableInputBuilder {
244 crate::operation::create_table::builders::CreateTableInputBuilder::default()
245 }
246}
247
248/// A builder for [`CreateTableInput`](crate::operation::create_table::CreateTableInput).
249#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
250#[non_exhaustive]
251pub struct CreateTableInputBuilder {
252 pub(crate) keyspace_name: ::std::option::Option<::std::string::String>,
253 pub(crate) table_name: ::std::option::Option<::std::string::String>,
254 pub(crate) schema_definition: ::std::option::Option<crate::types::SchemaDefinition>,
255 pub(crate) comment: ::std::option::Option<crate::types::Comment>,
256 pub(crate) capacity_specification: ::std::option::Option<crate::types::CapacitySpecification>,
257 pub(crate) encryption_specification: ::std::option::Option<crate::types::EncryptionSpecification>,
258 pub(crate) point_in_time_recovery: ::std::option::Option<crate::types::PointInTimeRecovery>,
259 pub(crate) ttl: ::std::option::Option<crate::types::TimeToLive>,
260 pub(crate) default_time_to_live: ::std::option::Option<i32>,
261 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
262 pub(crate) client_side_timestamps: ::std::option::Option<crate::types::ClientSideTimestamps>,
263 pub(crate) auto_scaling_specification: ::std::option::Option<crate::types::AutoScalingSpecification>,
264 pub(crate) replica_specifications: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecification>>,
265}
266impl CreateTableInputBuilder {
267 /// <p>The name of the keyspace that the table is going to be created in.</p>
268 /// This field is required.
269 pub fn keyspace_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
270 self.keyspace_name = ::std::option::Option::Some(input.into());
271 self
272 }
273 /// <p>The name of the keyspace that the table is going to be created in.</p>
274 pub fn set_keyspace_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
275 self.keyspace_name = input;
276 self
277 }
278 /// <p>The name of the keyspace that the table is going to be created in.</p>
279 pub fn get_keyspace_name(&self) -> &::std::option::Option<::std::string::String> {
280 &self.keyspace_name
281 }
282 /// <p>The name of the table.</p>
283 /// This field is required.
284 pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
285 self.table_name = ::std::option::Option::Some(input.into());
286 self
287 }
288 /// <p>The name of the table.</p>
289 pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
290 self.table_name = input;
291 self
292 }
293 /// <p>The name of the table.</p>
294 pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
295 &self.table_name
296 }
297 /// <p>The <code>schemaDefinition</code> consists of the following parameters.</p>
298 /// <p>For each column to be created:</p>
299 /// <ul>
300 /// <li>
301 /// <p><code>name</code> - The name of the column.</p></li>
302 /// <li>
303 /// <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>
304 /// </ul>
305 /// <p>The primary key of the table consists of the following columns:</p>
306 /// <ul>
307 /// <li>
308 /// <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>
309 /// <li>
310 /// <p><code>name</code> - The name of each partition key column.</p></li>
311 /// <li>
312 /// <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>
313 /// <li>
314 /// <p><code>name</code> - The name of the clustering column.</p></li>
315 /// <li>
316 /// <p><code>orderBy</code> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p>
317 /// <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>
318 /// <li>
319 /// <p><code>name</code> - The name of the column.</p></li>
320 /// <li>
321 /// <p><code>type</code> - An Amazon Keyspaces data type.</p></li>
322 /// </ul>
323 /// This field is required.
324 pub fn schema_definition(mut self, input: crate::types::SchemaDefinition) -> Self {
325 self.schema_definition = ::std::option::Option::Some(input);
326 self
327 }
328 /// <p>The <code>schemaDefinition</code> consists of the following parameters.</p>
329 /// <p>For each column to be created:</p>
330 /// <ul>
331 /// <li>
332 /// <p><code>name</code> - The name of the column.</p></li>
333 /// <li>
334 /// <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>
335 /// </ul>
336 /// <p>The primary key of the table consists of the following columns:</p>
337 /// <ul>
338 /// <li>
339 /// <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>
340 /// <li>
341 /// <p><code>name</code> - The name of each partition key column.</p></li>
342 /// <li>
343 /// <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>
344 /// <li>
345 /// <p><code>name</code> - The name of the clustering column.</p></li>
346 /// <li>
347 /// <p><code>orderBy</code> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p>
348 /// <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>
349 /// <li>
350 /// <p><code>name</code> - The name of the column.</p></li>
351 /// <li>
352 /// <p><code>type</code> - An Amazon Keyspaces data type.</p></li>
353 /// </ul>
354 pub fn set_schema_definition(mut self, input: ::std::option::Option<crate::types::SchemaDefinition>) -> Self {
355 self.schema_definition = input;
356 self
357 }
358 /// <p>The <code>schemaDefinition</code> consists of the following parameters.</p>
359 /// <p>For each column to be created:</p>
360 /// <ul>
361 /// <li>
362 /// <p><code>name</code> - The name of the column.</p></li>
363 /// <li>
364 /// <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>
365 /// </ul>
366 /// <p>The primary key of the table consists of the following columns:</p>
367 /// <ul>
368 /// <li>
369 /// <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>
370 /// <li>
371 /// <p><code>name</code> - The name of each partition key column.</p></li>
372 /// <li>
373 /// <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>
374 /// <li>
375 /// <p><code>name</code> - The name of the clustering column.</p></li>
376 /// <li>
377 /// <p><code>orderBy</code> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p>
378 /// <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>
379 /// <li>
380 /// <p><code>name</code> - The name of the column.</p></li>
381 /// <li>
382 /// <p><code>type</code> - An Amazon Keyspaces data type.</p></li>
383 /// </ul>
384 pub fn get_schema_definition(&self) -> &::std::option::Option<crate::types::SchemaDefinition> {
385 &self.schema_definition
386 }
387 /// <p>This parameter allows to enter a description of the table.</p>
388 pub fn comment(mut self, input: crate::types::Comment) -> Self {
389 self.comment = ::std::option::Option::Some(input);
390 self
391 }
392 /// <p>This parameter allows to enter a description of the table.</p>
393 pub fn set_comment(mut self, input: ::std::option::Option<crate::types::Comment>) -> Self {
394 self.comment = input;
395 self
396 }
397 /// <p>This parameter allows to enter a description of the table.</p>
398 pub fn get_comment(&self) -> &::std::option::Option<crate::types::Comment> {
399 &self.comment
400 }
401 /// <p>Specifies the read/write throughput capacity mode for the table. The options are:</p>
402 /// <ul>
403 /// <li>
404 /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
405 /// <li>
406 /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
407 /// </ul>
408 /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
409 /// <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>
410 pub fn capacity_specification(mut self, input: crate::types::CapacitySpecification) -> Self {
411 self.capacity_specification = ::std::option::Option::Some(input);
412 self
413 }
414 /// <p>Specifies the read/write throughput capacity mode for the table. The options are:</p>
415 /// <ul>
416 /// <li>
417 /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
418 /// <li>
419 /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
420 /// </ul>
421 /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
422 /// <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>
423 pub fn set_capacity_specification(mut self, input: ::std::option::Option<crate::types::CapacitySpecification>) -> Self {
424 self.capacity_specification = input;
425 self
426 }
427 /// <p>Specifies the read/write throughput capacity mode for the table. The options are:</p>
428 /// <ul>
429 /// <li>
430 /// <p><code>throughputMode:PAY_PER_REQUEST</code> and</p></li>
431 /// <li>
432 /// <p><code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p></li>
433 /// </ul>
434 /// <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</p>
435 /// <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>
436 pub fn get_capacity_specification(&self) -> &::std::option::Option<crate::types::CapacitySpecification> {
437 &self.capacity_specification
438 }
439 /// <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>
440 /// <ul>
441 /// <li>
442 /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
443 /// <li>
444 /// <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>
445 /// </ul>
446 /// <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>.</p>
447 /// <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>
448 pub fn encryption_specification(mut self, input: crate::types::EncryptionSpecification) -> Self {
449 self.encryption_specification = ::std::option::Option::Some(input);
450 self
451 }
452 /// <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>
453 /// <ul>
454 /// <li>
455 /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
456 /// <li>
457 /// <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>
458 /// </ul>
459 /// <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>.</p>
460 /// <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>
461 pub fn set_encryption_specification(mut self, input: ::std::option::Option<crate::types::EncryptionSpecification>) -> Self {
462 self.encryption_specification = input;
463 self
464 }
465 /// <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>
466 /// <ul>
467 /// <li>
468 /// <p><code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces.</p></li>
469 /// <li>
470 /// <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>
471 /// </ul>
472 /// <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>.</p>
473 /// <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>
474 pub fn get_encryption_specification(&self) -> &::std::option::Option<crate::types::EncryptionSpecification> {
475 &self.encryption_specification
476 }
477 /// <p>Specifies if <code>pointInTimeRecovery</code> is enabled or disabled for the table. The options are:</p>
478 /// <ul>
479 /// <li>
480 /// <p><code>status=ENABLED</code></p></li>
481 /// <li>
482 /// <p><code>status=DISABLED</code></p></li>
483 /// </ul>
484 /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
485 /// <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>
486 pub fn point_in_time_recovery(mut self, input: crate::types::PointInTimeRecovery) -> Self {
487 self.point_in_time_recovery = ::std::option::Option::Some(input);
488 self
489 }
490 /// <p>Specifies if <code>pointInTimeRecovery</code> is enabled or disabled for the table. The options are:</p>
491 /// <ul>
492 /// <li>
493 /// <p><code>status=ENABLED</code></p></li>
494 /// <li>
495 /// <p><code>status=DISABLED</code></p></li>
496 /// </ul>
497 /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
498 /// <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>
499 pub fn set_point_in_time_recovery(mut self, input: ::std::option::Option<crate::types::PointInTimeRecovery>) -> Self {
500 self.point_in_time_recovery = input;
501 self
502 }
503 /// <p>Specifies if <code>pointInTimeRecovery</code> is enabled or disabled for the table. The options are:</p>
504 /// <ul>
505 /// <li>
506 /// <p><code>status=ENABLED</code></p></li>
507 /// <li>
508 /// <p><code>status=DISABLED</code></p></li>
509 /// </ul>
510 /// <p>If it's not specified, the default is <code>status=DISABLED</code>.</p>
511 /// <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>
512 pub fn get_point_in_time_recovery(&self) -> &::std::option::Option<crate::types::PointInTimeRecovery> {
513 &self.point_in_time_recovery
514 }
515 /// <p>Enables Time to Live custom settings for the table. The options are:</p>
516 /// <ul>
517 /// <li>
518 /// <p><code>status:enabled</code></p></li>
519 /// <li>
520 /// <p><code>status:disabled</code></p></li>
521 /// </ul>
522 /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
523 /// <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>
524 pub fn ttl(mut self, input: crate::types::TimeToLive) -> Self {
525 self.ttl = ::std::option::Option::Some(input);
526 self
527 }
528 /// <p>Enables Time to Live custom settings for the table. The options are:</p>
529 /// <ul>
530 /// <li>
531 /// <p><code>status:enabled</code></p></li>
532 /// <li>
533 /// <p><code>status:disabled</code></p></li>
534 /// </ul>
535 /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
536 /// <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>
537 pub fn set_ttl(mut self, input: ::std::option::Option<crate::types::TimeToLive>) -> Self {
538 self.ttl = input;
539 self
540 }
541 /// <p>Enables Time to Live custom settings for the table. The options are:</p>
542 /// <ul>
543 /// <li>
544 /// <p><code>status:enabled</code></p></li>
545 /// <li>
546 /// <p><code>status:disabled</code></p></li>
547 /// </ul>
548 /// <p>The default is <code>status:disabled</code>. After <code>ttl</code> is enabled, you can't disable it for the table.</p>
549 /// <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>
550 pub fn get_ttl(&self) -> &::std::option::Option<crate::types::TimeToLive> {
551 &self.ttl
552 }
553 /// <p>The default Time to Live setting in seconds for the table.</p>
554 /// <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>
555 pub fn default_time_to_live(mut self, input: i32) -> Self {
556 self.default_time_to_live = ::std::option::Option::Some(input);
557 self
558 }
559 /// <p>The default Time to Live setting in seconds for the table.</p>
560 /// <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>
561 pub fn set_default_time_to_live(mut self, input: ::std::option::Option<i32>) -> Self {
562 self.default_time_to_live = input;
563 self
564 }
565 /// <p>The default Time to Live setting in seconds for the table.</p>
566 /// <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>
567 pub fn get_default_time_to_live(&self) -> &::std::option::Option<i32> {
568 &self.default_time_to_live
569 }
570 /// Appends an item to `tags`.
571 ///
572 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
573 ///
574 /// <p>A list of key-value pair tags to be attached to the resource.</p>
575 /// <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>
576 pub fn tags(mut self, input: crate::types::Tag) -> Self {
577 let mut v = self.tags.unwrap_or_default();
578 v.push(input);
579 self.tags = ::std::option::Option::Some(v);
580 self
581 }
582 /// <p>A list of key-value pair tags to be attached to the resource.</p>
583 /// <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>
584 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
585 self.tags = input;
586 self
587 }
588 /// <p>A list of key-value pair tags to be attached to the resource.</p>
589 /// <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>
590 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
591 &self.tags
592 }
593 /// <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>
594 /// <ul>
595 /// <li>
596 /// <p><code>status: "enabled"</code></p></li>
597 /// </ul>
598 /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
599 pub fn client_side_timestamps(mut self, input: crate::types::ClientSideTimestamps) -> Self {
600 self.client_side_timestamps = ::std::option::Option::Some(input);
601 self
602 }
603 /// <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>
604 /// <ul>
605 /// <li>
606 /// <p><code>status: "enabled"</code></p></li>
607 /// </ul>
608 /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
609 pub fn set_client_side_timestamps(mut self, input: ::std::option::Option<crate::types::ClientSideTimestamps>) -> Self {
610 self.client_side_timestamps = input;
611 self
612 }
613 /// <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>
614 /// <ul>
615 /// <li>
616 /// <p><code>status: "enabled"</code></p></li>
617 /// </ul>
618 /// <p>Once client-side timestamps are enabled for a table, this setting cannot be disabled.</p>
619 pub fn get_client_side_timestamps(&self) -> &::std::option::Option<crate::types::ClientSideTimestamps> {
620 &self.client_side_timestamps
621 }
622 /// <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>
623 /// <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>
624 /// <p>By default, auto scaling is disabled for a table.</p>
625 pub fn auto_scaling_specification(mut self, input: crate::types::AutoScalingSpecification) -> Self {
626 self.auto_scaling_specification = ::std::option::Option::Some(input);
627 self
628 }
629 /// <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>
630 /// <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>
631 /// <p>By default, auto scaling is disabled for a table.</p>
632 pub fn set_auto_scaling_specification(mut self, input: ::std::option::Option<crate::types::AutoScalingSpecification>) -> Self {
633 self.auto_scaling_specification = input;
634 self
635 }
636 /// <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>
637 /// <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>
638 /// <p>By default, auto scaling is disabled for a table.</p>
639 pub fn get_auto_scaling_specification(&self) -> &::std::option::Option<crate::types::AutoScalingSpecification> {
640 &self.auto_scaling_specification
641 }
642 /// Appends an item to `replica_specifications`.
643 ///
644 /// To override the contents of this collection use [`set_replica_specifications`](Self::set_replica_specifications).
645 ///
646 /// <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>
647 /// <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>
648 /// <ul>
649 /// <li>
650 /// <p><code>region</code>: The Region where these settings are applied. (Required)</p></li>
651 /// <li>
652 /// <p><code>readCapacityUnits</code>: The provisioned read capacity units. (Optional)</p></li>
653 /// <li>
654 /// <p><code>readCapacityAutoScaling</code>: The read capacity auto scaling settings for the table. (Optional)</p></li>
655 /// </ul>
656 pub fn replica_specifications(mut self, input: crate::types::ReplicaSpecification) -> Self {
657 let mut v = self.replica_specifications.unwrap_or_default();
658 v.push(input);
659 self.replica_specifications = ::std::option::Option::Some(v);
660 self
661 }
662 /// <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>
663 /// <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>
664 /// <ul>
665 /// <li>
666 /// <p><code>region</code>: The Region where these settings are applied. (Required)</p></li>
667 /// <li>
668 /// <p><code>readCapacityUnits</code>: The provisioned read capacity units. (Optional)</p></li>
669 /// <li>
670 /// <p><code>readCapacityAutoScaling</code>: The read capacity auto scaling settings for the table. (Optional)</p></li>
671 /// </ul>
672 pub fn set_replica_specifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecification>>) -> Self {
673 self.replica_specifications = input;
674 self
675 }
676 /// <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>
677 /// <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>
678 /// <ul>
679 /// <li>
680 /// <p><code>region</code>: The Region where these settings are applied. (Required)</p></li>
681 /// <li>
682 /// <p><code>readCapacityUnits</code>: The provisioned read capacity units. (Optional)</p></li>
683 /// <li>
684 /// <p><code>readCapacityAutoScaling</code>: The read capacity auto scaling settings for the table. (Optional)</p></li>
685 /// </ul>
686 pub fn get_replica_specifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecification>> {
687 &self.replica_specifications
688 }
689 /// Consumes the builder and constructs a [`CreateTableInput`](crate::operation::create_table::CreateTableInput).
690 pub fn build(self) -> ::std::result::Result<crate::operation::create_table::CreateTableInput, ::aws_smithy_types::error::operation::BuildError> {
691 ::std::result::Result::Ok(crate::operation::create_table::CreateTableInput {
692 keyspace_name: self.keyspace_name,
693 table_name: self.table_name,
694 schema_definition: self.schema_definition,
695 comment: self.comment,
696 capacity_specification: self.capacity_specification,
697 encryption_specification: self.encryption_specification,
698 point_in_time_recovery: self.point_in_time_recovery,
699 ttl: self.ttl,
700 default_time_to_live: self.default_time_to_live,
701 tags: self.tags,
702 client_side_timestamps: self.client_side_timestamps,
703 auto_scaling_specification: self.auto_scaling_specification,
704 replica_specifications: self.replica_specifications,
705 })
706 }
707}