aws_sdk_glue/operation/create_integration/
_create_integration_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateIntegrationInput {
6 pub integration_name: ::std::option::Option<::std::string::String>,
8 pub source_arn: ::std::option::Option<::std::string::String>,
10 pub target_arn: ::std::option::Option<::std::string::String>,
12 pub description: ::std::option::Option<::std::string::String>,
14 pub data_filter: ::std::option::Option<::std::string::String>,
16 pub kms_key_id: ::std::option::Option<::std::string::String>,
18 pub additional_encryption_context: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
20 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
22 pub integration_config: ::std::option::Option<crate::types::IntegrationConfig>,
24}
25impl CreateIntegrationInput {
26 pub fn integration_name(&self) -> ::std::option::Option<&str> {
28 self.integration_name.as_deref()
29 }
30 pub fn source_arn(&self) -> ::std::option::Option<&str> {
32 self.source_arn.as_deref()
33 }
34 pub fn target_arn(&self) -> ::std::option::Option<&str> {
36 self.target_arn.as_deref()
37 }
38 pub fn description(&self) -> ::std::option::Option<&str> {
40 self.description.as_deref()
41 }
42 pub fn data_filter(&self) -> ::std::option::Option<&str> {
44 self.data_filter.as_deref()
45 }
46 pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
48 self.kms_key_id.as_deref()
49 }
50 pub fn additional_encryption_context(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
52 self.additional_encryption_context.as_ref()
53 }
54 pub fn tags(&self) -> &[crate::types::Tag] {
58 self.tags.as_deref().unwrap_or_default()
59 }
60 pub fn integration_config(&self) -> ::std::option::Option<&crate::types::IntegrationConfig> {
62 self.integration_config.as_ref()
63 }
64}
65impl CreateIntegrationInput {
66 pub fn builder() -> crate::operation::create_integration::builders::CreateIntegrationInputBuilder {
68 crate::operation::create_integration::builders::CreateIntegrationInputBuilder::default()
69 }
70}
71
72#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
74#[non_exhaustive]
75pub struct CreateIntegrationInputBuilder {
76 pub(crate) integration_name: ::std::option::Option<::std::string::String>,
77 pub(crate) source_arn: ::std::option::Option<::std::string::String>,
78 pub(crate) target_arn: ::std::option::Option<::std::string::String>,
79 pub(crate) description: ::std::option::Option<::std::string::String>,
80 pub(crate) data_filter: ::std::option::Option<::std::string::String>,
81 pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
82 pub(crate) additional_encryption_context: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
83 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
84 pub(crate) integration_config: ::std::option::Option<crate::types::IntegrationConfig>,
85}
86impl CreateIntegrationInputBuilder {
87 pub fn integration_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
90 self.integration_name = ::std::option::Option::Some(input.into());
91 self
92 }
93 pub fn set_integration_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
95 self.integration_name = input;
96 self
97 }
98 pub fn get_integration_name(&self) -> &::std::option::Option<::std::string::String> {
100 &self.integration_name
101 }
102 pub fn source_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
105 self.source_arn = ::std::option::Option::Some(input.into());
106 self
107 }
108 pub fn set_source_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
110 self.source_arn = input;
111 self
112 }
113 pub fn get_source_arn(&self) -> &::std::option::Option<::std::string::String> {
115 &self.source_arn
116 }
117 pub fn target_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
120 self.target_arn = ::std::option::Option::Some(input.into());
121 self
122 }
123 pub fn set_target_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
125 self.target_arn = input;
126 self
127 }
128 pub fn get_target_arn(&self) -> &::std::option::Option<::std::string::String> {
130 &self.target_arn
131 }
132 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
134 self.description = ::std::option::Option::Some(input.into());
135 self
136 }
137 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
139 self.description = input;
140 self
141 }
142 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
144 &self.description
145 }
146 pub fn data_filter(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
148 self.data_filter = ::std::option::Option::Some(input.into());
149 self
150 }
151 pub fn set_data_filter(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
153 self.data_filter = input;
154 self
155 }
156 pub fn get_data_filter(&self) -> &::std::option::Option<::std::string::String> {
158 &self.data_filter
159 }
160 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
162 self.kms_key_id = ::std::option::Option::Some(input.into());
163 self
164 }
165 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
167 self.kms_key_id = input;
168 self
169 }
170 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
172 &self.kms_key_id
173 }
174 pub fn additional_encryption_context(
180 mut self,
181 k: impl ::std::convert::Into<::std::string::String>,
182 v: impl ::std::convert::Into<::std::string::String>,
183 ) -> Self {
184 let mut hash_map = self.additional_encryption_context.unwrap_or_default();
185 hash_map.insert(k.into(), v.into());
186 self.additional_encryption_context = ::std::option::Option::Some(hash_map);
187 self
188 }
189 pub fn set_additional_encryption_context(
191 mut self,
192 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
193 ) -> Self {
194 self.additional_encryption_context = input;
195 self
196 }
197 pub fn get_additional_encryption_context(
199 &self,
200 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
201 &self.additional_encryption_context
202 }
203 pub fn tags(mut self, input: crate::types::Tag) -> Self {
209 let mut v = self.tags.unwrap_or_default();
210 v.push(input);
211 self.tags = ::std::option::Option::Some(v);
212 self
213 }
214 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
216 self.tags = input;
217 self
218 }
219 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
221 &self.tags
222 }
223 pub fn integration_config(mut self, input: crate::types::IntegrationConfig) -> Self {
225 self.integration_config = ::std::option::Option::Some(input);
226 self
227 }
228 pub fn set_integration_config(mut self, input: ::std::option::Option<crate::types::IntegrationConfig>) -> Self {
230 self.integration_config = input;
231 self
232 }
233 pub fn get_integration_config(&self) -> &::std::option::Option<crate::types::IntegrationConfig> {
235 &self.integration_config
236 }
237 pub fn build(
239 self,
240 ) -> ::std::result::Result<crate::operation::create_integration::CreateIntegrationInput, ::aws_smithy_types::error::operation::BuildError> {
241 ::std::result::Result::Ok(crate::operation::create_integration::CreateIntegrationInput {
242 integration_name: self.integration_name,
243 source_arn: self.source_arn,
244 target_arn: self.target_arn,
245 description: self.description,
246 data_filter: self.data_filter,
247 kms_key_id: self.kms_key_id,
248 additional_encryption_context: self.additional_encryption_context,
249 tags: self.tags,
250 integration_config: self.integration_config,
251 })
252 }
253}