aws_sdk_appintegrations/operation/create_application/
_create_application_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateApplicationInput {
6 pub name: ::std::option::Option<::std::string::String>,
8 pub namespace: ::std::option::Option<::std::string::String>,
10 pub description: ::std::option::Option<::std::string::String>,
12 pub application_source_config: ::std::option::Option<crate::types::ApplicationSourceConfig>,
14 #[deprecated(note = "Subscriptions has been replaced with Permissions")]
16 pub subscriptions: ::std::option::Option<::std::vec::Vec<crate::types::Subscription>>,
17 #[deprecated(note = "Publications has been replaced with Permissions")]
19 pub publications: ::std::option::Option<::std::vec::Vec<crate::types::Publication>>,
20 pub client_token: ::std::option::Option<::std::string::String>,
22 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
24 pub permissions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
26 pub is_service: ::std::option::Option<bool>,
28 pub initialization_timeout: ::std::option::Option<i32>,
30 pub application_config: ::std::option::Option<crate::types::ApplicationConfig>,
32 pub iframe_config: ::std::option::Option<crate::types::IframeConfig>,
34}
35impl CreateApplicationInput {
36 pub fn name(&self) -> ::std::option::Option<&str> {
38 self.name.as_deref()
39 }
40 pub fn namespace(&self) -> ::std::option::Option<&str> {
42 self.namespace.as_deref()
43 }
44 pub fn description(&self) -> ::std::option::Option<&str> {
46 self.description.as_deref()
47 }
48 pub fn application_source_config(&self) -> ::std::option::Option<&crate::types::ApplicationSourceConfig> {
50 self.application_source_config.as_ref()
51 }
52 #[deprecated(note = "Subscriptions has been replaced with Permissions")]
56 pub fn subscriptions(&self) -> &[crate::types::Subscription] {
57 self.subscriptions.as_deref().unwrap_or_default()
58 }
59 #[deprecated(note = "Publications has been replaced with Permissions")]
63 pub fn publications(&self) -> &[crate::types::Publication] {
64 self.publications.as_deref().unwrap_or_default()
65 }
66 pub fn client_token(&self) -> ::std::option::Option<&str> {
68 self.client_token.as_deref()
69 }
70 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
72 self.tags.as_ref()
73 }
74 pub fn permissions(&self) -> &[::std::string::String] {
78 self.permissions.as_deref().unwrap_or_default()
79 }
80 pub fn is_service(&self) -> ::std::option::Option<bool> {
82 self.is_service
83 }
84 pub fn initialization_timeout(&self) -> ::std::option::Option<i32> {
86 self.initialization_timeout
87 }
88 pub fn application_config(&self) -> ::std::option::Option<&crate::types::ApplicationConfig> {
90 self.application_config.as_ref()
91 }
92 pub fn iframe_config(&self) -> ::std::option::Option<&crate::types::IframeConfig> {
94 self.iframe_config.as_ref()
95 }
96}
97impl CreateApplicationInput {
98 pub fn builder() -> crate::operation::create_application::builders::CreateApplicationInputBuilder {
100 crate::operation::create_application::builders::CreateApplicationInputBuilder::default()
101 }
102}
103
104#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
106#[non_exhaustive]
107pub struct CreateApplicationInputBuilder {
108 pub(crate) name: ::std::option::Option<::std::string::String>,
109 pub(crate) namespace: ::std::option::Option<::std::string::String>,
110 pub(crate) description: ::std::option::Option<::std::string::String>,
111 pub(crate) application_source_config: ::std::option::Option<crate::types::ApplicationSourceConfig>,
112 pub(crate) subscriptions: ::std::option::Option<::std::vec::Vec<crate::types::Subscription>>,
113 pub(crate) publications: ::std::option::Option<::std::vec::Vec<crate::types::Publication>>,
114 pub(crate) client_token: ::std::option::Option<::std::string::String>,
115 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
116 pub(crate) permissions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
117 pub(crate) is_service: ::std::option::Option<bool>,
118 pub(crate) initialization_timeout: ::std::option::Option<i32>,
119 pub(crate) application_config: ::std::option::Option<crate::types::ApplicationConfig>,
120 pub(crate) iframe_config: ::std::option::Option<crate::types::IframeConfig>,
121}
122impl CreateApplicationInputBuilder {
123 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
126 self.name = ::std::option::Option::Some(input.into());
127 self
128 }
129 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
131 self.name = input;
132 self
133 }
134 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
136 &self.name
137 }
138 pub fn namespace(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141 self.namespace = ::std::option::Option::Some(input.into());
142 self
143 }
144 pub fn set_namespace(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146 self.namespace = input;
147 self
148 }
149 pub fn get_namespace(&self) -> &::std::option::Option<::std::string::String> {
151 &self.namespace
152 }
153 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155 self.description = ::std::option::Option::Some(input.into());
156 self
157 }
158 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160 self.description = input;
161 self
162 }
163 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
165 &self.description
166 }
167 pub fn application_source_config(mut self, input: crate::types::ApplicationSourceConfig) -> Self {
170 self.application_source_config = ::std::option::Option::Some(input);
171 self
172 }
173 pub fn set_application_source_config(mut self, input: ::std::option::Option<crate::types::ApplicationSourceConfig>) -> Self {
175 self.application_source_config = input;
176 self
177 }
178 pub fn get_application_source_config(&self) -> &::std::option::Option<crate::types::ApplicationSourceConfig> {
180 &self.application_source_config
181 }
182 #[deprecated(note = "Subscriptions has been replaced with Permissions")]
188 pub fn subscriptions(mut self, input: crate::types::Subscription) -> Self {
189 let mut v = self.subscriptions.unwrap_or_default();
190 v.push(input);
191 self.subscriptions = ::std::option::Option::Some(v);
192 self
193 }
194 #[deprecated(note = "Subscriptions has been replaced with Permissions")]
196 pub fn set_subscriptions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Subscription>>) -> Self {
197 self.subscriptions = input;
198 self
199 }
200 #[deprecated(note = "Subscriptions has been replaced with Permissions")]
202 pub fn get_subscriptions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Subscription>> {
203 &self.subscriptions
204 }
205 #[deprecated(note = "Publications has been replaced with Permissions")]
211 pub fn publications(mut self, input: crate::types::Publication) -> Self {
212 let mut v = self.publications.unwrap_or_default();
213 v.push(input);
214 self.publications = ::std::option::Option::Some(v);
215 self
216 }
217 #[deprecated(note = "Publications has been replaced with Permissions")]
219 pub fn set_publications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Publication>>) -> Self {
220 self.publications = input;
221 self
222 }
223 #[deprecated(note = "Publications has been replaced with Permissions")]
225 pub fn get_publications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Publication>> {
226 &self.publications
227 }
228 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
230 self.client_token = ::std::option::Option::Some(input.into());
231 self
232 }
233 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
235 self.client_token = input;
236 self
237 }
238 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
240 &self.client_token
241 }
242 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
248 let mut hash_map = self.tags.unwrap_or_default();
249 hash_map.insert(k.into(), v.into());
250 self.tags = ::std::option::Option::Some(hash_map);
251 self
252 }
253 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
255 self.tags = input;
256 self
257 }
258 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
260 &self.tags
261 }
262 pub fn permissions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
268 let mut v = self.permissions.unwrap_or_default();
269 v.push(input.into());
270 self.permissions = ::std::option::Option::Some(v);
271 self
272 }
273 pub fn set_permissions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
275 self.permissions = input;
276 self
277 }
278 pub fn get_permissions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
280 &self.permissions
281 }
282 pub fn is_service(mut self, input: bool) -> Self {
284 self.is_service = ::std::option::Option::Some(input);
285 self
286 }
287 pub fn set_is_service(mut self, input: ::std::option::Option<bool>) -> Self {
289 self.is_service = input;
290 self
291 }
292 pub fn get_is_service(&self) -> &::std::option::Option<bool> {
294 &self.is_service
295 }
296 pub fn initialization_timeout(mut self, input: i32) -> Self {
298 self.initialization_timeout = ::std::option::Option::Some(input);
299 self
300 }
301 pub fn set_initialization_timeout(mut self, input: ::std::option::Option<i32>) -> Self {
303 self.initialization_timeout = input;
304 self
305 }
306 pub fn get_initialization_timeout(&self) -> &::std::option::Option<i32> {
308 &self.initialization_timeout
309 }
310 pub fn application_config(mut self, input: crate::types::ApplicationConfig) -> Self {
312 self.application_config = ::std::option::Option::Some(input);
313 self
314 }
315 pub fn set_application_config(mut self, input: ::std::option::Option<crate::types::ApplicationConfig>) -> Self {
317 self.application_config = input;
318 self
319 }
320 pub fn get_application_config(&self) -> &::std::option::Option<crate::types::ApplicationConfig> {
322 &self.application_config
323 }
324 pub fn iframe_config(mut self, input: crate::types::IframeConfig) -> Self {
326 self.iframe_config = ::std::option::Option::Some(input);
327 self
328 }
329 pub fn set_iframe_config(mut self, input: ::std::option::Option<crate::types::IframeConfig>) -> Self {
331 self.iframe_config = input;
332 self
333 }
334 pub fn get_iframe_config(&self) -> &::std::option::Option<crate::types::IframeConfig> {
336 &self.iframe_config
337 }
338 pub fn build(
340 self,
341 ) -> ::std::result::Result<crate::operation::create_application::CreateApplicationInput, ::aws_smithy_types::error::operation::BuildError> {
342 ::std::result::Result::Ok(crate::operation::create_application::CreateApplicationInput {
343 name: self.name,
344 namespace: self.namespace,
345 description: self.description,
346 application_source_config: self.application_source_config,
347 subscriptions: self.subscriptions,
348 publications: self.publications,
349 client_token: self.client_token,
350 tags: self.tags,
351 permissions: self.permissions,
352 is_service: self.is_service,
353 initialization_timeout: self.initialization_timeout,
354 application_config: self.application_config,
355 iframe_config: self.iframe_config,
356 })
357 }
358}