aws_sdk_ssoadmin/types/
_application.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>A structure that describes an application that uses IAM Identity Center for access management.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct Application {
7    /// <p>The ARN of the application.</p>
8    pub application_arn: ::std::option::Option<::std::string::String>,
9    /// <p>The ARN of the application provider for this application.</p>
10    pub application_provider_arn: ::std::option::Option<::std::string::String>,
11    /// <p>The name of the application.</p>
12    pub name: ::std::option::Option<::std::string::String>,
13    /// <p>The Amazon Web Services account ID number of the application.</p>
14    pub application_account: ::std::option::Option<::std::string::String>,
15    /// <p>The ARN of the instance of IAM Identity Center that is configured with this application.</p>
16    pub instance_arn: ::std::option::Option<::std::string::String>,
17    /// <p>The current status of the application in this instance of IAM Identity Center.</p>
18    pub status: ::std::option::Option<crate::types::ApplicationStatus>,
19    /// <p>A structure that describes the options for the access portal associated with this application.</p>
20    pub portal_options: ::std::option::Option<crate::types::PortalOptions>,
21    /// <p>The description of the application.</p>
22    pub description: ::std::option::Option<::std::string::String>,
23    /// <p>The date and time when the application was originally created.</p>
24    pub created_date: ::std::option::Option<::aws_smithy_types::DateTime>,
25}
26impl Application {
27    /// <p>The ARN of the application.</p>
28    pub fn application_arn(&self) -> ::std::option::Option<&str> {
29        self.application_arn.as_deref()
30    }
31    /// <p>The ARN of the application provider for this application.</p>
32    pub fn application_provider_arn(&self) -> ::std::option::Option<&str> {
33        self.application_provider_arn.as_deref()
34    }
35    /// <p>The name of the application.</p>
36    pub fn name(&self) -> ::std::option::Option<&str> {
37        self.name.as_deref()
38    }
39    /// <p>The Amazon Web Services account ID number of the application.</p>
40    pub fn application_account(&self) -> ::std::option::Option<&str> {
41        self.application_account.as_deref()
42    }
43    /// <p>The ARN of the instance of IAM Identity Center that is configured with this application.</p>
44    pub fn instance_arn(&self) -> ::std::option::Option<&str> {
45        self.instance_arn.as_deref()
46    }
47    /// <p>The current status of the application in this instance of IAM Identity Center.</p>
48    pub fn status(&self) -> ::std::option::Option<&crate::types::ApplicationStatus> {
49        self.status.as_ref()
50    }
51    /// <p>A structure that describes the options for the access portal associated with this application.</p>
52    pub fn portal_options(&self) -> ::std::option::Option<&crate::types::PortalOptions> {
53        self.portal_options.as_ref()
54    }
55    /// <p>The description of the application.</p>
56    pub fn description(&self) -> ::std::option::Option<&str> {
57        self.description.as_deref()
58    }
59    /// <p>The date and time when the application was originally created.</p>
60    pub fn created_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
61        self.created_date.as_ref()
62    }
63}
64impl Application {
65    /// Creates a new builder-style object to manufacture [`Application`](crate::types::Application).
66    pub fn builder() -> crate::types::builders::ApplicationBuilder {
67        crate::types::builders::ApplicationBuilder::default()
68    }
69}
70
71/// A builder for [`Application`](crate::types::Application).
72#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
73#[non_exhaustive]
74pub struct ApplicationBuilder {
75    pub(crate) application_arn: ::std::option::Option<::std::string::String>,
76    pub(crate) application_provider_arn: ::std::option::Option<::std::string::String>,
77    pub(crate) name: ::std::option::Option<::std::string::String>,
78    pub(crate) application_account: ::std::option::Option<::std::string::String>,
79    pub(crate) instance_arn: ::std::option::Option<::std::string::String>,
80    pub(crate) status: ::std::option::Option<crate::types::ApplicationStatus>,
81    pub(crate) portal_options: ::std::option::Option<crate::types::PortalOptions>,
82    pub(crate) description: ::std::option::Option<::std::string::String>,
83    pub(crate) created_date: ::std::option::Option<::aws_smithy_types::DateTime>,
84}
85impl ApplicationBuilder {
86    /// <p>The ARN of the application.</p>
87    pub fn application_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
88        self.application_arn = ::std::option::Option::Some(input.into());
89        self
90    }
91    /// <p>The ARN of the application.</p>
92    pub fn set_application_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
93        self.application_arn = input;
94        self
95    }
96    /// <p>The ARN of the application.</p>
97    pub fn get_application_arn(&self) -> &::std::option::Option<::std::string::String> {
98        &self.application_arn
99    }
100    /// <p>The ARN of the application provider for this application.</p>
101    pub fn application_provider_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
102        self.application_provider_arn = ::std::option::Option::Some(input.into());
103        self
104    }
105    /// <p>The ARN of the application provider for this application.</p>
106    pub fn set_application_provider_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
107        self.application_provider_arn = input;
108        self
109    }
110    /// <p>The ARN of the application provider for this application.</p>
111    pub fn get_application_provider_arn(&self) -> &::std::option::Option<::std::string::String> {
112        &self.application_provider_arn
113    }
114    /// <p>The name of the application.</p>
115    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
116        self.name = ::std::option::Option::Some(input.into());
117        self
118    }
119    /// <p>The name of the application.</p>
120    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
121        self.name = input;
122        self
123    }
124    /// <p>The name of the application.</p>
125    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
126        &self.name
127    }
128    /// <p>The Amazon Web Services account ID number of the application.</p>
129    pub fn application_account(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
130        self.application_account = ::std::option::Option::Some(input.into());
131        self
132    }
133    /// <p>The Amazon Web Services account ID number of the application.</p>
134    pub fn set_application_account(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
135        self.application_account = input;
136        self
137    }
138    /// <p>The Amazon Web Services account ID number of the application.</p>
139    pub fn get_application_account(&self) -> &::std::option::Option<::std::string::String> {
140        &self.application_account
141    }
142    /// <p>The ARN of the instance of IAM Identity Center that is configured with this application.</p>
143    pub fn instance_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
144        self.instance_arn = ::std::option::Option::Some(input.into());
145        self
146    }
147    /// <p>The ARN of the instance of IAM Identity Center that is configured with this application.</p>
148    pub fn set_instance_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
149        self.instance_arn = input;
150        self
151    }
152    /// <p>The ARN of the instance of IAM Identity Center that is configured with this application.</p>
153    pub fn get_instance_arn(&self) -> &::std::option::Option<::std::string::String> {
154        &self.instance_arn
155    }
156    /// <p>The current status of the application in this instance of IAM Identity Center.</p>
157    pub fn status(mut self, input: crate::types::ApplicationStatus) -> Self {
158        self.status = ::std::option::Option::Some(input);
159        self
160    }
161    /// <p>The current status of the application in this instance of IAM Identity Center.</p>
162    pub fn set_status(mut self, input: ::std::option::Option<crate::types::ApplicationStatus>) -> Self {
163        self.status = input;
164        self
165    }
166    /// <p>The current status of the application in this instance of IAM Identity Center.</p>
167    pub fn get_status(&self) -> &::std::option::Option<crate::types::ApplicationStatus> {
168        &self.status
169    }
170    /// <p>A structure that describes the options for the access portal associated with this application.</p>
171    pub fn portal_options(mut self, input: crate::types::PortalOptions) -> Self {
172        self.portal_options = ::std::option::Option::Some(input);
173        self
174    }
175    /// <p>A structure that describes the options for the access portal associated with this application.</p>
176    pub fn set_portal_options(mut self, input: ::std::option::Option<crate::types::PortalOptions>) -> Self {
177        self.portal_options = input;
178        self
179    }
180    /// <p>A structure that describes the options for the access portal associated with this application.</p>
181    pub fn get_portal_options(&self) -> &::std::option::Option<crate::types::PortalOptions> {
182        &self.portal_options
183    }
184    /// <p>The description of the application.</p>
185    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
186        self.description = ::std::option::Option::Some(input.into());
187        self
188    }
189    /// <p>The description of the application.</p>
190    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
191        self.description = input;
192        self
193    }
194    /// <p>The description of the application.</p>
195    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
196        &self.description
197    }
198    /// <p>The date and time when the application was originally created.</p>
199    pub fn created_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
200        self.created_date = ::std::option::Option::Some(input);
201        self
202    }
203    /// <p>The date and time when the application was originally created.</p>
204    pub fn set_created_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
205        self.created_date = input;
206        self
207    }
208    /// <p>The date and time when the application was originally created.</p>
209    pub fn get_created_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
210        &self.created_date
211    }
212    /// Consumes the builder and constructs a [`Application`](crate::types::Application).
213    pub fn build(self) -> crate::types::Application {
214        crate::types::Application {
215            application_arn: self.application_arn,
216            application_provider_arn: self.application_provider_arn,
217            name: self.name,
218            application_account: self.application_account,
219            instance_arn: self.instance_arn,
220            status: self.status,
221            portal_options: self.portal_options,
222            description: self.description,
223            created_date: self.created_date,
224        }
225    }
226}