aws_sdk_timestreamwrite/operation/create_table/
_create_table_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateTableInput {
6 pub database_name: ::std::option::Option<::std::string::String>,
8 pub table_name: ::std::option::Option<::std::string::String>,
10 pub retention_properties: ::std::option::Option<crate::types::RetentionProperties>,
12 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
14 pub magnetic_store_write_properties: ::std::option::Option<crate::types::MagneticStoreWriteProperties>,
16 pub schema: ::std::option::Option<crate::types::Schema>,
18}
19impl CreateTableInput {
20 pub fn database_name(&self) -> ::std::option::Option<&str> {
22 self.database_name.as_deref()
23 }
24 pub fn table_name(&self) -> ::std::option::Option<&str> {
26 self.table_name.as_deref()
27 }
28 pub fn retention_properties(&self) -> ::std::option::Option<&crate::types::RetentionProperties> {
30 self.retention_properties.as_ref()
31 }
32 pub fn tags(&self) -> &[crate::types::Tag] {
36 self.tags.as_deref().unwrap_or_default()
37 }
38 pub fn magnetic_store_write_properties(&self) -> ::std::option::Option<&crate::types::MagneticStoreWriteProperties> {
40 self.magnetic_store_write_properties.as_ref()
41 }
42 pub fn schema(&self) -> ::std::option::Option<&crate::types::Schema> {
44 self.schema.as_ref()
45 }
46}
47impl CreateTableInput {
48 pub fn builder() -> crate::operation::create_table::builders::CreateTableInputBuilder {
50 crate::operation::create_table::builders::CreateTableInputBuilder::default()
51 }
52}
53
54#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
56#[non_exhaustive]
57pub struct CreateTableInputBuilder {
58 pub(crate) database_name: ::std::option::Option<::std::string::String>,
59 pub(crate) table_name: ::std::option::Option<::std::string::String>,
60 pub(crate) retention_properties: ::std::option::Option<crate::types::RetentionProperties>,
61 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
62 pub(crate) magnetic_store_write_properties: ::std::option::Option<crate::types::MagneticStoreWriteProperties>,
63 pub(crate) schema: ::std::option::Option<crate::types::Schema>,
64}
65impl CreateTableInputBuilder {
66 pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
69 self.database_name = ::std::option::Option::Some(input.into());
70 self
71 }
72 pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
74 self.database_name = input;
75 self
76 }
77 pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
79 &self.database_name
80 }
81 pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
84 self.table_name = ::std::option::Option::Some(input.into());
85 self
86 }
87 pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
89 self.table_name = input;
90 self
91 }
92 pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
94 &self.table_name
95 }
96 pub fn retention_properties(mut self, input: crate::types::RetentionProperties) -> Self {
98 self.retention_properties = ::std::option::Option::Some(input);
99 self
100 }
101 pub fn set_retention_properties(mut self, input: ::std::option::Option<crate::types::RetentionProperties>) -> Self {
103 self.retention_properties = input;
104 self
105 }
106 pub fn get_retention_properties(&self) -> &::std::option::Option<crate::types::RetentionProperties> {
108 &self.retention_properties
109 }
110 pub fn tags(mut self, input: crate::types::Tag) -> Self {
116 let mut v = self.tags.unwrap_or_default();
117 v.push(input);
118 self.tags = ::std::option::Option::Some(v);
119 self
120 }
121 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
123 self.tags = input;
124 self
125 }
126 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
128 &self.tags
129 }
130 pub fn magnetic_store_write_properties(mut self, input: crate::types::MagneticStoreWriteProperties) -> Self {
132 self.magnetic_store_write_properties = ::std::option::Option::Some(input);
133 self
134 }
135 pub fn set_magnetic_store_write_properties(mut self, input: ::std::option::Option<crate::types::MagneticStoreWriteProperties>) -> Self {
137 self.magnetic_store_write_properties = input;
138 self
139 }
140 pub fn get_magnetic_store_write_properties(&self) -> &::std::option::Option<crate::types::MagneticStoreWriteProperties> {
142 &self.magnetic_store_write_properties
143 }
144 pub fn schema(mut self, input: crate::types::Schema) -> Self {
146 self.schema = ::std::option::Option::Some(input);
147 self
148 }
149 pub fn set_schema(mut self, input: ::std::option::Option<crate::types::Schema>) -> Self {
151 self.schema = input;
152 self
153 }
154 pub fn get_schema(&self) -> &::std::option::Option<crate::types::Schema> {
156 &self.schema
157 }
158 pub fn build(self) -> ::std::result::Result<crate::operation::create_table::CreateTableInput, ::aws_smithy_types::error::operation::BuildError> {
160 ::std::result::Result::Ok(crate::operation::create_table::CreateTableInput {
161 database_name: self.database_name,
162 table_name: self.table_name,
163 retention_properties: self.retention_properties,
164 tags: self.tags,
165 magnetic_store_write_properties: self.magnetic_store_write_properties,
166 schema: self.schema,
167 })
168 }
169}