aws_sdk_appintegrations/operation/get_application/
_get_application_output.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 GetApplicationOutput {
6    /// <p>The Amazon Resource Name (ARN) of the Application.</p>
7    pub arn: ::std::option::Option<::std::string::String>,
8    /// <p>A unique identifier for the Application.</p>
9    pub id: ::std::option::Option<::std::string::String>,
10    /// <p>The name of the application.</p>
11    pub name: ::std::option::Option<::std::string::String>,
12    /// <p>The namespace of the application.</p>
13    pub namespace: ::std::option::Option<::std::string::String>,
14    /// <p>The description of the application.</p>
15    pub description: ::std::option::Option<::std::string::String>,
16    /// <p>The configuration for where the application should be loaded from.</p>
17    pub application_source_config: ::std::option::Option<crate::types::ApplicationSourceConfig>,
18    /// <p>The events that the application subscribes.</p>
19    #[deprecated(note = "Subscriptions has been replaced with Permissions")]
20    pub subscriptions: ::std::option::Option<::std::vec::Vec<crate::types::Subscription>>,
21    /// <p>The events that the application publishes.</p>
22    #[deprecated(note = "Publications has been replaced with Permissions")]
23    pub publications: ::std::option::Option<::std::vec::Vec<crate::types::Publication>>,
24    /// <p>The created time of the Application.</p>
25    pub created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
26    /// <p>The last modified time of the Application.</p>
27    pub last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
28    /// <p>The tags used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.</p>
29    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
30    /// <p>The configuration of events or requests that the application has access to.</p>
31    pub permissions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
32    /// <p>Indicates whether the application is a service.</p>
33    #[deprecated(note = "IsService has been deprecated in favor of ApplicationType", since = "2025-12-01")]
34    pub is_service: bool,
35    /// <p>The maximum time in milliseconds allowed to establish a connection with the workspace.</p>
36    pub initialization_timeout: ::std::option::Option<i32>,
37    /// <p>The configuration settings for the application.</p>
38    pub application_config: ::std::option::Option<crate::types::ApplicationConfig>,
39    /// <p>The iframe configuration for the application.</p>
40    pub iframe_config: ::std::option::Option<crate::types::IframeConfig>,
41    /// <p>The type of application.</p>
42    pub application_type: ::std::option::Option<crate::types::ApplicationType>,
43    _request_id: Option<String>,
44}
45impl GetApplicationOutput {
46    /// <p>The Amazon Resource Name (ARN) of the Application.</p>
47    pub fn arn(&self) -> ::std::option::Option<&str> {
48        self.arn.as_deref()
49    }
50    /// <p>A unique identifier for the Application.</p>
51    pub fn id(&self) -> ::std::option::Option<&str> {
52        self.id.as_deref()
53    }
54    /// <p>The name of the application.</p>
55    pub fn name(&self) -> ::std::option::Option<&str> {
56        self.name.as_deref()
57    }
58    /// <p>The namespace of the application.</p>
59    pub fn namespace(&self) -> ::std::option::Option<&str> {
60        self.namespace.as_deref()
61    }
62    /// <p>The description of the application.</p>
63    pub fn description(&self) -> ::std::option::Option<&str> {
64        self.description.as_deref()
65    }
66    /// <p>The configuration for where the application should be loaded from.</p>
67    pub fn application_source_config(&self) -> ::std::option::Option<&crate::types::ApplicationSourceConfig> {
68        self.application_source_config.as_ref()
69    }
70    /// <p>The events that the application subscribes.</p>
71    ///
72    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.subscriptions.is_none()`.
73    #[deprecated(note = "Subscriptions has been replaced with Permissions")]
74    pub fn subscriptions(&self) -> &[crate::types::Subscription] {
75        self.subscriptions.as_deref().unwrap_or_default()
76    }
77    /// <p>The events that the application publishes.</p>
78    ///
79    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.publications.is_none()`.
80    #[deprecated(note = "Publications has been replaced with Permissions")]
81    pub fn publications(&self) -> &[crate::types::Publication] {
82        self.publications.as_deref().unwrap_or_default()
83    }
84    /// <p>The created time of the Application.</p>
85    pub fn created_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
86        self.created_time.as_ref()
87    }
88    /// <p>The last modified time of the Application.</p>
89    pub fn last_modified_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
90        self.last_modified_time.as_ref()
91    }
92    /// <p>The tags used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.</p>
93    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
94        self.tags.as_ref()
95    }
96    /// <p>The configuration of events or requests that the application has access to.</p>
97    ///
98    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.permissions.is_none()`.
99    pub fn permissions(&self) -> &[::std::string::String] {
100        self.permissions.as_deref().unwrap_or_default()
101    }
102    /// <p>Indicates whether the application is a service.</p>
103    #[deprecated(note = "IsService has been deprecated in favor of ApplicationType", since = "2025-12-01")]
104    pub fn is_service(&self) -> bool {
105        self.is_service
106    }
107    /// <p>The maximum time in milliseconds allowed to establish a connection with the workspace.</p>
108    pub fn initialization_timeout(&self) -> ::std::option::Option<i32> {
109        self.initialization_timeout
110    }
111    /// <p>The configuration settings for the application.</p>
112    pub fn application_config(&self) -> ::std::option::Option<&crate::types::ApplicationConfig> {
113        self.application_config.as_ref()
114    }
115    /// <p>The iframe configuration for the application.</p>
116    pub fn iframe_config(&self) -> ::std::option::Option<&crate::types::IframeConfig> {
117        self.iframe_config.as_ref()
118    }
119    /// <p>The type of application.</p>
120    pub fn application_type(&self) -> ::std::option::Option<&crate::types::ApplicationType> {
121        self.application_type.as_ref()
122    }
123}
124impl ::aws_types::request_id::RequestId for GetApplicationOutput {
125    fn request_id(&self) -> Option<&str> {
126        self._request_id.as_deref()
127    }
128}
129impl GetApplicationOutput {
130    /// Creates a new builder-style object to manufacture [`GetApplicationOutput`](crate::operation::get_application::GetApplicationOutput).
131    pub fn builder() -> crate::operation::get_application::builders::GetApplicationOutputBuilder {
132        crate::operation::get_application::builders::GetApplicationOutputBuilder::default()
133    }
134}
135
136/// A builder for [`GetApplicationOutput`](crate::operation::get_application::GetApplicationOutput).
137#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
138#[non_exhaustive]
139pub struct GetApplicationOutputBuilder {
140    pub(crate) arn: ::std::option::Option<::std::string::String>,
141    pub(crate) id: ::std::option::Option<::std::string::String>,
142    pub(crate) name: ::std::option::Option<::std::string::String>,
143    pub(crate) namespace: ::std::option::Option<::std::string::String>,
144    pub(crate) description: ::std::option::Option<::std::string::String>,
145    pub(crate) application_source_config: ::std::option::Option<crate::types::ApplicationSourceConfig>,
146    pub(crate) subscriptions: ::std::option::Option<::std::vec::Vec<crate::types::Subscription>>,
147    pub(crate) publications: ::std::option::Option<::std::vec::Vec<crate::types::Publication>>,
148    pub(crate) created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
149    pub(crate) last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
150    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
151    pub(crate) permissions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
152    pub(crate) is_service: ::std::option::Option<bool>,
153    pub(crate) initialization_timeout: ::std::option::Option<i32>,
154    pub(crate) application_config: ::std::option::Option<crate::types::ApplicationConfig>,
155    pub(crate) iframe_config: ::std::option::Option<crate::types::IframeConfig>,
156    pub(crate) application_type: ::std::option::Option<crate::types::ApplicationType>,
157    _request_id: Option<String>,
158}
159impl GetApplicationOutputBuilder {
160    /// <p>The Amazon Resource Name (ARN) of the Application.</p>
161    pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
162        self.arn = ::std::option::Option::Some(input.into());
163        self
164    }
165    /// <p>The Amazon Resource Name (ARN) of the Application.</p>
166    pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
167        self.arn = input;
168        self
169    }
170    /// <p>The Amazon Resource Name (ARN) of the Application.</p>
171    pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
172        &self.arn
173    }
174    /// <p>A unique identifier for the Application.</p>
175    pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
176        self.id = ::std::option::Option::Some(input.into());
177        self
178    }
179    /// <p>A unique identifier for the Application.</p>
180    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
181        self.id = input;
182        self
183    }
184    /// <p>A unique identifier for the Application.</p>
185    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
186        &self.id
187    }
188    /// <p>The name of the application.</p>
189    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
190        self.name = ::std::option::Option::Some(input.into());
191        self
192    }
193    /// <p>The name of the application.</p>
194    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
195        self.name = input;
196        self
197    }
198    /// <p>The name of the application.</p>
199    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
200        &self.name
201    }
202    /// <p>The namespace of the application.</p>
203    pub fn namespace(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
204        self.namespace = ::std::option::Option::Some(input.into());
205        self
206    }
207    /// <p>The namespace of the application.</p>
208    pub fn set_namespace(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
209        self.namespace = input;
210        self
211    }
212    /// <p>The namespace of the application.</p>
213    pub fn get_namespace(&self) -> &::std::option::Option<::std::string::String> {
214        &self.namespace
215    }
216    /// <p>The description of the application.</p>
217    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218        self.description = ::std::option::Option::Some(input.into());
219        self
220    }
221    /// <p>The description of the application.</p>
222    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
223        self.description = input;
224        self
225    }
226    /// <p>The description of the application.</p>
227    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
228        &self.description
229    }
230    /// <p>The configuration for where the application should be loaded from.</p>
231    pub fn application_source_config(mut self, input: crate::types::ApplicationSourceConfig) -> Self {
232        self.application_source_config = ::std::option::Option::Some(input);
233        self
234    }
235    /// <p>The configuration for where the application should be loaded from.</p>
236    pub fn set_application_source_config(mut self, input: ::std::option::Option<crate::types::ApplicationSourceConfig>) -> Self {
237        self.application_source_config = input;
238        self
239    }
240    /// <p>The configuration for where the application should be loaded from.</p>
241    pub fn get_application_source_config(&self) -> &::std::option::Option<crate::types::ApplicationSourceConfig> {
242        &self.application_source_config
243    }
244    /// Appends an item to `subscriptions`.
245    ///
246    /// To override the contents of this collection use [`set_subscriptions`](Self::set_subscriptions).
247    ///
248    /// <p>The events that the application subscribes.</p>
249    #[deprecated(note = "Subscriptions has been replaced with Permissions")]
250    pub fn subscriptions(mut self, input: crate::types::Subscription) -> Self {
251        let mut v = self.subscriptions.unwrap_or_default();
252        v.push(input);
253        self.subscriptions = ::std::option::Option::Some(v);
254        self
255    }
256    /// <p>The events that the application subscribes.</p>
257    #[deprecated(note = "Subscriptions has been replaced with Permissions")]
258    pub fn set_subscriptions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Subscription>>) -> Self {
259        self.subscriptions = input;
260        self
261    }
262    /// <p>The events that the application subscribes.</p>
263    #[deprecated(note = "Subscriptions has been replaced with Permissions")]
264    pub fn get_subscriptions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Subscription>> {
265        &self.subscriptions
266    }
267    /// Appends an item to `publications`.
268    ///
269    /// To override the contents of this collection use [`set_publications`](Self::set_publications).
270    ///
271    /// <p>The events that the application publishes.</p>
272    #[deprecated(note = "Publications has been replaced with Permissions")]
273    pub fn publications(mut self, input: crate::types::Publication) -> Self {
274        let mut v = self.publications.unwrap_or_default();
275        v.push(input);
276        self.publications = ::std::option::Option::Some(v);
277        self
278    }
279    /// <p>The events that the application publishes.</p>
280    #[deprecated(note = "Publications has been replaced with Permissions")]
281    pub fn set_publications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Publication>>) -> Self {
282        self.publications = input;
283        self
284    }
285    /// <p>The events that the application publishes.</p>
286    #[deprecated(note = "Publications has been replaced with Permissions")]
287    pub fn get_publications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Publication>> {
288        &self.publications
289    }
290    /// <p>The created time of the Application.</p>
291    pub fn created_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
292        self.created_time = ::std::option::Option::Some(input);
293        self
294    }
295    /// <p>The created time of the Application.</p>
296    pub fn set_created_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
297        self.created_time = input;
298        self
299    }
300    /// <p>The created time of the Application.</p>
301    pub fn get_created_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
302        &self.created_time
303    }
304    /// <p>The last modified time of the Application.</p>
305    pub fn last_modified_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
306        self.last_modified_time = ::std::option::Option::Some(input);
307        self
308    }
309    /// <p>The last modified time of the Application.</p>
310    pub fn set_last_modified_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
311        self.last_modified_time = input;
312        self
313    }
314    /// <p>The last modified time of the Application.</p>
315    pub fn get_last_modified_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
316        &self.last_modified_time
317    }
318    /// Adds a key-value pair to `tags`.
319    ///
320    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
321    ///
322    /// <p>The tags used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.</p>
323    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
324        let mut hash_map = self.tags.unwrap_or_default();
325        hash_map.insert(k.into(), v.into());
326        self.tags = ::std::option::Option::Some(hash_map);
327        self
328    }
329    /// <p>The tags used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.</p>
330    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
331        self.tags = input;
332        self
333    }
334    /// <p>The tags used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.</p>
335    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
336        &self.tags
337    }
338    /// Appends an item to `permissions`.
339    ///
340    /// To override the contents of this collection use [`set_permissions`](Self::set_permissions).
341    ///
342    /// <p>The configuration of events or requests that the application has access to.</p>
343    pub fn permissions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
344        let mut v = self.permissions.unwrap_or_default();
345        v.push(input.into());
346        self.permissions = ::std::option::Option::Some(v);
347        self
348    }
349    /// <p>The configuration of events or requests that the application has access to.</p>
350    pub fn set_permissions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
351        self.permissions = input;
352        self
353    }
354    /// <p>The configuration of events or requests that the application has access to.</p>
355    pub fn get_permissions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
356        &self.permissions
357    }
358    /// <p>Indicates whether the application is a service.</p>
359    #[deprecated(note = "IsService has been deprecated in favor of ApplicationType", since = "2025-12-01")]
360    pub fn is_service(mut self, input: bool) -> Self {
361        self.is_service = ::std::option::Option::Some(input);
362        self
363    }
364    /// <p>Indicates whether the application is a service.</p>
365    #[deprecated(note = "IsService has been deprecated in favor of ApplicationType", since = "2025-12-01")]
366    pub fn set_is_service(mut self, input: ::std::option::Option<bool>) -> Self {
367        self.is_service = input;
368        self
369    }
370    /// <p>Indicates whether the application is a service.</p>
371    #[deprecated(note = "IsService has been deprecated in favor of ApplicationType", since = "2025-12-01")]
372    pub fn get_is_service(&self) -> &::std::option::Option<bool> {
373        &self.is_service
374    }
375    /// <p>The maximum time in milliseconds allowed to establish a connection with the workspace.</p>
376    pub fn initialization_timeout(mut self, input: i32) -> Self {
377        self.initialization_timeout = ::std::option::Option::Some(input);
378        self
379    }
380    /// <p>The maximum time in milliseconds allowed to establish a connection with the workspace.</p>
381    pub fn set_initialization_timeout(mut self, input: ::std::option::Option<i32>) -> Self {
382        self.initialization_timeout = input;
383        self
384    }
385    /// <p>The maximum time in milliseconds allowed to establish a connection with the workspace.</p>
386    pub fn get_initialization_timeout(&self) -> &::std::option::Option<i32> {
387        &self.initialization_timeout
388    }
389    /// <p>The configuration settings for the application.</p>
390    pub fn application_config(mut self, input: crate::types::ApplicationConfig) -> Self {
391        self.application_config = ::std::option::Option::Some(input);
392        self
393    }
394    /// <p>The configuration settings for the application.</p>
395    pub fn set_application_config(mut self, input: ::std::option::Option<crate::types::ApplicationConfig>) -> Self {
396        self.application_config = input;
397        self
398    }
399    /// <p>The configuration settings for the application.</p>
400    pub fn get_application_config(&self) -> &::std::option::Option<crate::types::ApplicationConfig> {
401        &self.application_config
402    }
403    /// <p>The iframe configuration for the application.</p>
404    pub fn iframe_config(mut self, input: crate::types::IframeConfig) -> Self {
405        self.iframe_config = ::std::option::Option::Some(input);
406        self
407    }
408    /// <p>The iframe configuration for the application.</p>
409    pub fn set_iframe_config(mut self, input: ::std::option::Option<crate::types::IframeConfig>) -> Self {
410        self.iframe_config = input;
411        self
412    }
413    /// <p>The iframe configuration for the application.</p>
414    pub fn get_iframe_config(&self) -> &::std::option::Option<crate::types::IframeConfig> {
415        &self.iframe_config
416    }
417    /// <p>The type of application.</p>
418    pub fn application_type(mut self, input: crate::types::ApplicationType) -> Self {
419        self.application_type = ::std::option::Option::Some(input);
420        self
421    }
422    /// <p>The type of application.</p>
423    pub fn set_application_type(mut self, input: ::std::option::Option<crate::types::ApplicationType>) -> Self {
424        self.application_type = input;
425        self
426    }
427    /// <p>The type of application.</p>
428    pub fn get_application_type(&self) -> &::std::option::Option<crate::types::ApplicationType> {
429        &self.application_type
430    }
431    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
432        self._request_id = Some(request_id.into());
433        self
434    }
435
436    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
437        self._request_id = request_id;
438        self
439    }
440    /// Consumes the builder and constructs a [`GetApplicationOutput`](crate::operation::get_application::GetApplicationOutput).
441    pub fn build(self) -> crate::operation::get_application::GetApplicationOutput {
442        crate::operation::get_application::GetApplicationOutput {
443            arn: self.arn,
444            id: self.id,
445            name: self.name,
446            namespace: self.namespace,
447            description: self.description,
448            application_source_config: self.application_source_config,
449            subscriptions: self.subscriptions,
450            publications: self.publications,
451            created_time: self.created_time,
452            last_modified_time: self.last_modified_time,
453            tags: self.tags,
454            permissions: self.permissions,
455            is_service: self.is_service.unwrap_or_default(),
456            initialization_timeout: self.initialization_timeout,
457            application_config: self.application_config,
458            iframe_config: self.iframe_config,
459            application_type: self.application_type,
460            _request_id: self._request_id,
461        }
462    }
463}