aws_sdk_keyspaces/operation/get_table/
_get_table_output.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct GetTableOutput {
6 pub keyspace_name: ::std::string::String,
8 pub table_name: ::std::string::String,
10 pub resource_arn: ::std::string::String,
12 pub creation_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
14 pub status: ::std::option::Option<crate::types::TableStatus>,
16 pub schema_definition: ::std::option::Option<crate::types::SchemaDefinition>,
18 pub capacity_specification: ::std::option::Option<crate::types::CapacitySpecificationSummary>,
26 pub encryption_specification: ::std::option::Option<crate::types::EncryptionSpecification>,
28 pub point_in_time_recovery: ::std::option::Option<crate::types::PointInTimeRecoverySummary>,
30 pub ttl: ::std::option::Option<crate::types::TimeToLive>,
32 pub default_time_to_live: ::std::option::Option<i32>,
34 pub comment: ::std::option::Option<crate::types::Comment>,
36 pub client_side_timestamps: ::std::option::Option<crate::types::ClientSideTimestamps>,
38 pub replica_specifications: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecificationSummary>>,
40 pub latest_stream_arn: ::std::option::Option<::std::string::String>,
42 pub cdc_specification: ::std::option::Option<crate::types::CdcSpecificationSummary>,
44 pub warm_throughput_specification: ::std::option::Option<crate::types::WarmThroughputSpecificationSummary>,
46 _request_id: Option<String>,
47}
48impl GetTableOutput {
49 pub fn keyspace_name(&self) -> &str {
51 use std::ops::Deref;
52 self.keyspace_name.deref()
53 }
54 pub fn table_name(&self) -> &str {
56 use std::ops::Deref;
57 self.table_name.deref()
58 }
59 pub fn resource_arn(&self) -> &str {
61 use std::ops::Deref;
62 self.resource_arn.deref()
63 }
64 pub fn creation_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
66 self.creation_timestamp.as_ref()
67 }
68 pub fn status(&self) -> ::std::option::Option<&crate::types::TableStatus> {
70 self.status.as_ref()
71 }
72 pub fn schema_definition(&self) -> ::std::option::Option<&crate::types::SchemaDefinition> {
74 self.schema_definition.as_ref()
75 }
76 pub fn capacity_specification(&self) -> ::std::option::Option<&crate::types::CapacitySpecificationSummary> {
84 self.capacity_specification.as_ref()
85 }
86 pub fn encryption_specification(&self) -> ::std::option::Option<&crate::types::EncryptionSpecification> {
88 self.encryption_specification.as_ref()
89 }
90 pub fn point_in_time_recovery(&self) -> ::std::option::Option<&crate::types::PointInTimeRecoverySummary> {
92 self.point_in_time_recovery.as_ref()
93 }
94 pub fn ttl(&self) -> ::std::option::Option<&crate::types::TimeToLive> {
96 self.ttl.as_ref()
97 }
98 pub fn default_time_to_live(&self) -> ::std::option::Option<i32> {
100 self.default_time_to_live
101 }
102 pub fn comment(&self) -> ::std::option::Option<&crate::types::Comment> {
104 self.comment.as_ref()
105 }
106 pub fn client_side_timestamps(&self) -> ::std::option::Option<&crate::types::ClientSideTimestamps> {
108 self.client_side_timestamps.as_ref()
109 }
110 pub fn replica_specifications(&self) -> &[crate::types::ReplicaSpecificationSummary] {
114 self.replica_specifications.as_deref().unwrap_or_default()
115 }
116 pub fn latest_stream_arn(&self) -> ::std::option::Option<&str> {
118 self.latest_stream_arn.as_deref()
119 }
120 pub fn cdc_specification(&self) -> ::std::option::Option<&crate::types::CdcSpecificationSummary> {
122 self.cdc_specification.as_ref()
123 }
124 pub fn warm_throughput_specification(&self) -> ::std::option::Option<&crate::types::WarmThroughputSpecificationSummary> {
126 self.warm_throughput_specification.as_ref()
127 }
128}
129impl ::aws_types::request_id::RequestId for GetTableOutput {
130 fn request_id(&self) -> Option<&str> {
131 self._request_id.as_deref()
132 }
133}
134impl GetTableOutput {
135 pub fn builder() -> crate::operation::get_table::builders::GetTableOutputBuilder {
137 crate::operation::get_table::builders::GetTableOutputBuilder::default()
138 }
139}
140
141#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
143#[non_exhaustive]
144pub struct GetTableOutputBuilder {
145 pub(crate) keyspace_name: ::std::option::Option<::std::string::String>,
146 pub(crate) table_name: ::std::option::Option<::std::string::String>,
147 pub(crate) resource_arn: ::std::option::Option<::std::string::String>,
148 pub(crate) creation_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
149 pub(crate) status: ::std::option::Option<crate::types::TableStatus>,
150 pub(crate) schema_definition: ::std::option::Option<crate::types::SchemaDefinition>,
151 pub(crate) capacity_specification: ::std::option::Option<crate::types::CapacitySpecificationSummary>,
152 pub(crate) encryption_specification: ::std::option::Option<crate::types::EncryptionSpecification>,
153 pub(crate) point_in_time_recovery: ::std::option::Option<crate::types::PointInTimeRecoverySummary>,
154 pub(crate) ttl: ::std::option::Option<crate::types::TimeToLive>,
155 pub(crate) default_time_to_live: ::std::option::Option<i32>,
156 pub(crate) comment: ::std::option::Option<crate::types::Comment>,
157 pub(crate) client_side_timestamps: ::std::option::Option<crate::types::ClientSideTimestamps>,
158 pub(crate) replica_specifications: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecificationSummary>>,
159 pub(crate) latest_stream_arn: ::std::option::Option<::std::string::String>,
160 pub(crate) cdc_specification: ::std::option::Option<crate::types::CdcSpecificationSummary>,
161 pub(crate) warm_throughput_specification: ::std::option::Option<crate::types::WarmThroughputSpecificationSummary>,
162 _request_id: Option<String>,
163}
164impl GetTableOutputBuilder {
165 pub fn keyspace_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
168 self.keyspace_name = ::std::option::Option::Some(input.into());
169 self
170 }
171 pub fn set_keyspace_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
173 self.keyspace_name = input;
174 self
175 }
176 pub fn get_keyspace_name(&self) -> &::std::option::Option<::std::string::String> {
178 &self.keyspace_name
179 }
180 pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
183 self.table_name = ::std::option::Option::Some(input.into());
184 self
185 }
186 pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
188 self.table_name = input;
189 self
190 }
191 pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
193 &self.table_name
194 }
195 pub fn resource_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
198 self.resource_arn = ::std::option::Option::Some(input.into());
199 self
200 }
201 pub fn set_resource_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
203 self.resource_arn = input;
204 self
205 }
206 pub fn get_resource_arn(&self) -> &::std::option::Option<::std::string::String> {
208 &self.resource_arn
209 }
210 pub fn creation_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
212 self.creation_timestamp = ::std::option::Option::Some(input);
213 self
214 }
215 pub fn set_creation_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
217 self.creation_timestamp = input;
218 self
219 }
220 pub fn get_creation_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
222 &self.creation_timestamp
223 }
224 pub fn status(mut self, input: crate::types::TableStatus) -> Self {
226 self.status = ::std::option::Option::Some(input);
227 self
228 }
229 pub fn set_status(mut self, input: ::std::option::Option<crate::types::TableStatus>) -> Self {
231 self.status = input;
232 self
233 }
234 pub fn get_status(&self) -> &::std::option::Option<crate::types::TableStatus> {
236 &self.status
237 }
238 pub fn schema_definition(mut self, input: crate::types::SchemaDefinition) -> Self {
240 self.schema_definition = ::std::option::Option::Some(input);
241 self
242 }
243 pub fn set_schema_definition(mut self, input: ::std::option::Option<crate::types::SchemaDefinition>) -> Self {
245 self.schema_definition = input;
246 self
247 }
248 pub fn get_schema_definition(&self) -> &::std::option::Option<crate::types::SchemaDefinition> {
250 &self.schema_definition
251 }
252 pub fn capacity_specification(mut self, input: crate::types::CapacitySpecificationSummary) -> Self {
260 self.capacity_specification = ::std::option::Option::Some(input);
261 self
262 }
263 pub fn set_capacity_specification(mut self, input: ::std::option::Option<crate::types::CapacitySpecificationSummary>) -> Self {
271 self.capacity_specification = input;
272 self
273 }
274 pub fn get_capacity_specification(&self) -> &::std::option::Option<crate::types::CapacitySpecificationSummary> {
282 &self.capacity_specification
283 }
284 pub fn encryption_specification(mut self, input: crate::types::EncryptionSpecification) -> Self {
286 self.encryption_specification = ::std::option::Option::Some(input);
287 self
288 }
289 pub fn set_encryption_specification(mut self, input: ::std::option::Option<crate::types::EncryptionSpecification>) -> Self {
291 self.encryption_specification = input;
292 self
293 }
294 pub fn get_encryption_specification(&self) -> &::std::option::Option<crate::types::EncryptionSpecification> {
296 &self.encryption_specification
297 }
298 pub fn point_in_time_recovery(mut self, input: crate::types::PointInTimeRecoverySummary) -> Self {
300 self.point_in_time_recovery = ::std::option::Option::Some(input);
301 self
302 }
303 pub fn set_point_in_time_recovery(mut self, input: ::std::option::Option<crate::types::PointInTimeRecoverySummary>) -> Self {
305 self.point_in_time_recovery = input;
306 self
307 }
308 pub fn get_point_in_time_recovery(&self) -> &::std::option::Option<crate::types::PointInTimeRecoverySummary> {
310 &self.point_in_time_recovery
311 }
312 pub fn ttl(mut self, input: crate::types::TimeToLive) -> Self {
314 self.ttl = ::std::option::Option::Some(input);
315 self
316 }
317 pub fn set_ttl(mut self, input: ::std::option::Option<crate::types::TimeToLive>) -> Self {
319 self.ttl = input;
320 self
321 }
322 pub fn get_ttl(&self) -> &::std::option::Option<crate::types::TimeToLive> {
324 &self.ttl
325 }
326 pub fn default_time_to_live(mut self, input: i32) -> Self {
328 self.default_time_to_live = ::std::option::Option::Some(input);
329 self
330 }
331 pub fn set_default_time_to_live(mut self, input: ::std::option::Option<i32>) -> Self {
333 self.default_time_to_live = input;
334 self
335 }
336 pub fn get_default_time_to_live(&self) -> &::std::option::Option<i32> {
338 &self.default_time_to_live
339 }
340 pub fn comment(mut self, input: crate::types::Comment) -> Self {
342 self.comment = ::std::option::Option::Some(input);
343 self
344 }
345 pub fn set_comment(mut self, input: ::std::option::Option<crate::types::Comment>) -> Self {
347 self.comment = input;
348 self
349 }
350 pub fn get_comment(&self) -> &::std::option::Option<crate::types::Comment> {
352 &self.comment
353 }
354 pub fn client_side_timestamps(mut self, input: crate::types::ClientSideTimestamps) -> Self {
356 self.client_side_timestamps = ::std::option::Option::Some(input);
357 self
358 }
359 pub fn set_client_side_timestamps(mut self, input: ::std::option::Option<crate::types::ClientSideTimestamps>) -> Self {
361 self.client_side_timestamps = input;
362 self
363 }
364 pub fn get_client_side_timestamps(&self) -> &::std::option::Option<crate::types::ClientSideTimestamps> {
366 &self.client_side_timestamps
367 }
368 pub fn replica_specifications(mut self, input: crate::types::ReplicaSpecificationSummary) -> Self {
374 let mut v = self.replica_specifications.unwrap_or_default();
375 v.push(input);
376 self.replica_specifications = ::std::option::Option::Some(v);
377 self
378 }
379 pub fn set_replica_specifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecificationSummary>>) -> Self {
381 self.replica_specifications = input;
382 self
383 }
384 pub fn get_replica_specifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicaSpecificationSummary>> {
386 &self.replica_specifications
387 }
388 pub fn latest_stream_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
390 self.latest_stream_arn = ::std::option::Option::Some(input.into());
391 self
392 }
393 pub fn set_latest_stream_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
395 self.latest_stream_arn = input;
396 self
397 }
398 pub fn get_latest_stream_arn(&self) -> &::std::option::Option<::std::string::String> {
400 &self.latest_stream_arn
401 }
402 pub fn cdc_specification(mut self, input: crate::types::CdcSpecificationSummary) -> Self {
404 self.cdc_specification = ::std::option::Option::Some(input);
405 self
406 }
407 pub fn set_cdc_specification(mut self, input: ::std::option::Option<crate::types::CdcSpecificationSummary>) -> Self {
409 self.cdc_specification = input;
410 self
411 }
412 pub fn get_cdc_specification(&self) -> &::std::option::Option<crate::types::CdcSpecificationSummary> {
414 &self.cdc_specification
415 }
416 pub fn warm_throughput_specification(mut self, input: crate::types::WarmThroughputSpecificationSummary) -> Self {
418 self.warm_throughput_specification = ::std::option::Option::Some(input);
419 self
420 }
421 pub fn set_warm_throughput_specification(mut self, input: ::std::option::Option<crate::types::WarmThroughputSpecificationSummary>) -> Self {
423 self.warm_throughput_specification = input;
424 self
425 }
426 pub fn get_warm_throughput_specification(&self) -> &::std::option::Option<crate::types::WarmThroughputSpecificationSummary> {
428 &self.warm_throughput_specification
429 }
430 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
431 self._request_id = Some(request_id.into());
432 self
433 }
434
435 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
436 self._request_id = request_id;
437 self
438 }
439 pub fn build(self) -> ::std::result::Result<crate::operation::get_table::GetTableOutput, ::aws_smithy_types::error::operation::BuildError> {
445 ::std::result::Result::Ok(crate::operation::get_table::GetTableOutput {
446 keyspace_name: self.keyspace_name.ok_or_else(|| {
447 ::aws_smithy_types::error::operation::BuildError::missing_field(
448 "keyspace_name",
449 "keyspace_name was not specified but it is required when building GetTableOutput",
450 )
451 })?,
452 table_name: self.table_name.ok_or_else(|| {
453 ::aws_smithy_types::error::operation::BuildError::missing_field(
454 "table_name",
455 "table_name was not specified but it is required when building GetTableOutput",
456 )
457 })?,
458 resource_arn: self.resource_arn.ok_or_else(|| {
459 ::aws_smithy_types::error::operation::BuildError::missing_field(
460 "resource_arn",
461 "resource_arn was not specified but it is required when building GetTableOutput",
462 )
463 })?,
464 creation_timestamp: self.creation_timestamp,
465 status: self.status,
466 schema_definition: self.schema_definition,
467 capacity_specification: self.capacity_specification,
468 encryption_specification: self.encryption_specification,
469 point_in_time_recovery: self.point_in_time_recovery,
470 ttl: self.ttl,
471 default_time_to_live: self.default_time_to_live,
472 comment: self.comment,
473 client_side_timestamps: self.client_side_timestamps,
474 replica_specifications: self.replica_specifications,
475 latest_stream_arn: self.latest_stream_arn,
476 cdc_specification: self.cdc_specification,
477 warm_throughput_specification: self.warm_throughput_specification,
478 _request_id: self._request_id,
479 })
480 }
481}