aws_sdk_qbusiness/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 name of the Amazon Q Business application.</p>
7    pub display_name: ::std::option::Option<::std::string::String>,
8    /// <p>The identifier of the Amazon Q Business application.</p>
9    pub application_id: ::std::option::Option<::std::string::String>,
10    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business application.</p>
11    pub application_arn: ::std::option::Option<::std::string::String>,
12    /// <p>The authentication type being used by a Amazon Q Business application.</p>
13    pub identity_type: ::std::option::Option<crate::types::IdentityType>,
14    /// <p>The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.</p>
15    pub iam_identity_provider_arn: ::std::option::Option<::std::string::String>,
16    /// <p>The Amazon Resource Name (ARN) of the AWS IAM Identity Center instance attached to your Amazon Q Business application.</p>
17    pub identity_center_application_arn: ::std::option::Option<::std::string::String>,
18    /// <p>The Amazon Resource Name (ARN) of the IAM with permissions to access your CloudWatch logs and metrics.</p>
19    pub role_arn: ::std::option::Option<::std::string::String>,
20    /// <p>The status of the Amazon Q Business application.</p>
21    pub status: ::std::option::Option<crate::types::ApplicationStatus>,
22    /// <p>A description for the Amazon Q Business application.</p>
23    pub description: ::std::option::Option<::std::string::String>,
24    /// <p>The identifier of the Amazon Web Services KMS key that is used to encrypt your data. Amazon Q Business doesn't support asymmetric keys.</p>
25    pub encryption_configuration: ::std::option::Option<crate::types::EncryptionConfiguration>,
26    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
27    pub created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
28    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
29    pub updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
30    /// <p>If the <code>Status</code> field is set to <code>ERROR</code>, the <code>ErrorMessage</code> field contains a description of the error that caused the synchronization to fail.</p>
31    pub error: ::std::option::Option<crate::types::ErrorDetail>,
32    /// <p>Settings for whether end users can upload files directly during chat.</p>
33    pub attachments_configuration: ::std::option::Option<crate::types::AppliedAttachmentsConfiguration>,
34    /// <p>Settings for whether end users can create and use Amazon Q Apps in the web experience.</p>
35    pub q_apps_configuration: ::std::option::Option<crate::types::QAppsConfiguration>,
36    /// <p>Configuration information about chat response personalization. For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html">Personalizing chat responses</a>.</p>
37    pub personalization_configuration: ::std::option::Option<crate::types::PersonalizationConfiguration>,
38    /// <p>Settings for auto-subscription behavior for this application. This is only applicable to SAML and OIDC applications.</p>
39    pub auto_subscription_configuration: ::std::option::Option<crate::types::AutoSubscriptionConfiguration>,
40    /// <p>The OIDC client ID for a Amazon Q Business application.</p>
41    pub client_ids_for_oidc: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
42    /// <p>The Amazon QuickSight authentication configuration for the Amazon Q Business application.</p>
43    pub quick_sight_configuration: ::std::option::Option<crate::types::QuickSightConfiguration>,
44    _request_id: Option<String>,
45}
46impl GetApplicationOutput {
47    /// <p>The name of the Amazon Q Business application.</p>
48    pub fn display_name(&self) -> ::std::option::Option<&str> {
49        self.display_name.as_deref()
50    }
51    /// <p>The identifier of the Amazon Q Business application.</p>
52    pub fn application_id(&self) -> ::std::option::Option<&str> {
53        self.application_id.as_deref()
54    }
55    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business application.</p>
56    pub fn application_arn(&self) -> ::std::option::Option<&str> {
57        self.application_arn.as_deref()
58    }
59    /// <p>The authentication type being used by a Amazon Q Business application.</p>
60    pub fn identity_type(&self) -> ::std::option::Option<&crate::types::IdentityType> {
61        self.identity_type.as_ref()
62    }
63    /// <p>The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.</p>
64    pub fn iam_identity_provider_arn(&self) -> ::std::option::Option<&str> {
65        self.iam_identity_provider_arn.as_deref()
66    }
67    /// <p>The Amazon Resource Name (ARN) of the AWS IAM Identity Center instance attached to your Amazon Q Business application.</p>
68    pub fn identity_center_application_arn(&self) -> ::std::option::Option<&str> {
69        self.identity_center_application_arn.as_deref()
70    }
71    /// <p>The Amazon Resource Name (ARN) of the IAM with permissions to access your CloudWatch logs and metrics.</p>
72    pub fn role_arn(&self) -> ::std::option::Option<&str> {
73        self.role_arn.as_deref()
74    }
75    /// <p>The status of the Amazon Q Business application.</p>
76    pub fn status(&self) -> ::std::option::Option<&crate::types::ApplicationStatus> {
77        self.status.as_ref()
78    }
79    /// <p>A description for the Amazon Q Business application.</p>
80    pub fn description(&self) -> ::std::option::Option<&str> {
81        self.description.as_deref()
82    }
83    /// <p>The identifier of the Amazon Web Services KMS key that is used to encrypt your data. Amazon Q Business doesn't support asymmetric keys.</p>
84    pub fn encryption_configuration(&self) -> ::std::option::Option<&crate::types::EncryptionConfiguration> {
85        self.encryption_configuration.as_ref()
86    }
87    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
88    pub fn created_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
89        self.created_at.as_ref()
90    }
91    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
92    pub fn updated_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
93        self.updated_at.as_ref()
94    }
95    /// <p>If the <code>Status</code> field is set to <code>ERROR</code>, the <code>ErrorMessage</code> field contains a description of the error that caused the synchronization to fail.</p>
96    pub fn error(&self) -> ::std::option::Option<&crate::types::ErrorDetail> {
97        self.error.as_ref()
98    }
99    /// <p>Settings for whether end users can upload files directly during chat.</p>
100    pub fn attachments_configuration(&self) -> ::std::option::Option<&crate::types::AppliedAttachmentsConfiguration> {
101        self.attachments_configuration.as_ref()
102    }
103    /// <p>Settings for whether end users can create and use Amazon Q Apps in the web experience.</p>
104    pub fn q_apps_configuration(&self) -> ::std::option::Option<&crate::types::QAppsConfiguration> {
105        self.q_apps_configuration.as_ref()
106    }
107    /// <p>Configuration information about chat response personalization. For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html">Personalizing chat responses</a>.</p>
108    pub fn personalization_configuration(&self) -> ::std::option::Option<&crate::types::PersonalizationConfiguration> {
109        self.personalization_configuration.as_ref()
110    }
111    /// <p>Settings for auto-subscription behavior for this application. This is only applicable to SAML and OIDC applications.</p>
112    pub fn auto_subscription_configuration(&self) -> ::std::option::Option<&crate::types::AutoSubscriptionConfiguration> {
113        self.auto_subscription_configuration.as_ref()
114    }
115    /// <p>The OIDC client ID for a Amazon Q Business application.</p>
116    ///
117    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.client_ids_for_oidc.is_none()`.
118    pub fn client_ids_for_oidc(&self) -> &[::std::string::String] {
119        self.client_ids_for_oidc.as_deref().unwrap_or_default()
120    }
121    /// <p>The Amazon QuickSight authentication configuration for the Amazon Q Business application.</p>
122    pub fn quick_sight_configuration(&self) -> ::std::option::Option<&crate::types::QuickSightConfiguration> {
123        self.quick_sight_configuration.as_ref()
124    }
125}
126impl ::aws_types::request_id::RequestId for GetApplicationOutput {
127    fn request_id(&self) -> Option<&str> {
128        self._request_id.as_deref()
129    }
130}
131impl GetApplicationOutput {
132    /// Creates a new builder-style object to manufacture [`GetApplicationOutput`](crate::operation::get_application::GetApplicationOutput).
133    pub fn builder() -> crate::operation::get_application::builders::GetApplicationOutputBuilder {
134        crate::operation::get_application::builders::GetApplicationOutputBuilder::default()
135    }
136}
137
138/// A builder for [`GetApplicationOutput`](crate::operation::get_application::GetApplicationOutput).
139#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
140#[non_exhaustive]
141pub struct GetApplicationOutputBuilder {
142    pub(crate) display_name: ::std::option::Option<::std::string::String>,
143    pub(crate) application_id: ::std::option::Option<::std::string::String>,
144    pub(crate) application_arn: ::std::option::Option<::std::string::String>,
145    pub(crate) identity_type: ::std::option::Option<crate::types::IdentityType>,
146    pub(crate) iam_identity_provider_arn: ::std::option::Option<::std::string::String>,
147    pub(crate) identity_center_application_arn: ::std::option::Option<::std::string::String>,
148    pub(crate) role_arn: ::std::option::Option<::std::string::String>,
149    pub(crate) status: ::std::option::Option<crate::types::ApplicationStatus>,
150    pub(crate) description: ::std::option::Option<::std::string::String>,
151    pub(crate) encryption_configuration: ::std::option::Option<crate::types::EncryptionConfiguration>,
152    pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
153    pub(crate) updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
154    pub(crate) error: ::std::option::Option<crate::types::ErrorDetail>,
155    pub(crate) attachments_configuration: ::std::option::Option<crate::types::AppliedAttachmentsConfiguration>,
156    pub(crate) q_apps_configuration: ::std::option::Option<crate::types::QAppsConfiguration>,
157    pub(crate) personalization_configuration: ::std::option::Option<crate::types::PersonalizationConfiguration>,
158    pub(crate) auto_subscription_configuration: ::std::option::Option<crate::types::AutoSubscriptionConfiguration>,
159    pub(crate) client_ids_for_oidc: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
160    pub(crate) quick_sight_configuration: ::std::option::Option<crate::types::QuickSightConfiguration>,
161    _request_id: Option<String>,
162}
163impl GetApplicationOutputBuilder {
164    /// <p>The name of the Amazon Q Business application.</p>
165    pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
166        self.display_name = ::std::option::Option::Some(input.into());
167        self
168    }
169    /// <p>The name of the Amazon Q Business application.</p>
170    pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
171        self.display_name = input;
172        self
173    }
174    /// <p>The name of the Amazon Q Business application.</p>
175    pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
176        &self.display_name
177    }
178    /// <p>The identifier of the Amazon Q Business application.</p>
179    pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
180        self.application_id = ::std::option::Option::Some(input.into());
181        self
182    }
183    /// <p>The identifier of the Amazon Q Business application.</p>
184    pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
185        self.application_id = input;
186        self
187    }
188    /// <p>The identifier of the Amazon Q Business application.</p>
189    pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
190        &self.application_id
191    }
192    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business application.</p>
193    pub fn application_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
194        self.application_arn = ::std::option::Option::Some(input.into());
195        self
196    }
197    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business application.</p>
198    pub fn set_application_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
199        self.application_arn = input;
200        self
201    }
202    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business application.</p>
203    pub fn get_application_arn(&self) -> &::std::option::Option<::std::string::String> {
204        &self.application_arn
205    }
206    /// <p>The authentication type being used by a Amazon Q Business application.</p>
207    pub fn identity_type(mut self, input: crate::types::IdentityType) -> Self {
208        self.identity_type = ::std::option::Option::Some(input);
209        self
210    }
211    /// <p>The authentication type being used by a Amazon Q Business application.</p>
212    pub fn set_identity_type(mut self, input: ::std::option::Option<crate::types::IdentityType>) -> Self {
213        self.identity_type = input;
214        self
215    }
216    /// <p>The authentication type being used by a Amazon Q Business application.</p>
217    pub fn get_identity_type(&self) -> &::std::option::Option<crate::types::IdentityType> {
218        &self.identity_type
219    }
220    /// <p>The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.</p>
221    pub fn iam_identity_provider_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
222        self.iam_identity_provider_arn = ::std::option::Option::Some(input.into());
223        self
224    }
225    /// <p>The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.</p>
226    pub fn set_iam_identity_provider_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
227        self.iam_identity_provider_arn = input;
228        self
229    }
230    /// <p>The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.</p>
231    pub fn get_iam_identity_provider_arn(&self) -> &::std::option::Option<::std::string::String> {
232        &self.iam_identity_provider_arn
233    }
234    /// <p>The Amazon Resource Name (ARN) of the AWS IAM Identity Center instance attached to your Amazon Q Business application.</p>
235    pub fn identity_center_application_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
236        self.identity_center_application_arn = ::std::option::Option::Some(input.into());
237        self
238    }
239    /// <p>The Amazon Resource Name (ARN) of the AWS IAM Identity Center instance attached to your Amazon Q Business application.</p>
240    pub fn set_identity_center_application_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
241        self.identity_center_application_arn = input;
242        self
243    }
244    /// <p>The Amazon Resource Name (ARN) of the AWS IAM Identity Center instance attached to your Amazon Q Business application.</p>
245    pub fn get_identity_center_application_arn(&self) -> &::std::option::Option<::std::string::String> {
246        &self.identity_center_application_arn
247    }
248    /// <p>The Amazon Resource Name (ARN) of the IAM with permissions to access your CloudWatch logs and metrics.</p>
249    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
250        self.role_arn = ::std::option::Option::Some(input.into());
251        self
252    }
253    /// <p>The Amazon Resource Name (ARN) of the IAM with permissions to access your CloudWatch logs and metrics.</p>
254    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
255        self.role_arn = input;
256        self
257    }
258    /// <p>The Amazon Resource Name (ARN) of the IAM with permissions to access your CloudWatch logs and metrics.</p>
259    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
260        &self.role_arn
261    }
262    /// <p>The status of the Amazon Q Business application.</p>
263    pub fn status(mut self, input: crate::types::ApplicationStatus) -> Self {
264        self.status = ::std::option::Option::Some(input);
265        self
266    }
267    /// <p>The status of the Amazon Q Business application.</p>
268    pub fn set_status(mut self, input: ::std::option::Option<crate::types::ApplicationStatus>) -> Self {
269        self.status = input;
270        self
271    }
272    /// <p>The status of the Amazon Q Business application.</p>
273    pub fn get_status(&self) -> &::std::option::Option<crate::types::ApplicationStatus> {
274        &self.status
275    }
276    /// <p>A description for the Amazon Q Business application.</p>
277    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
278        self.description = ::std::option::Option::Some(input.into());
279        self
280    }
281    /// <p>A description for the Amazon Q Business application.</p>
282    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
283        self.description = input;
284        self
285    }
286    /// <p>A description for the Amazon Q Business application.</p>
287    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
288        &self.description
289    }
290    /// <p>The identifier of the Amazon Web Services KMS key that is used to encrypt your data. Amazon Q Business doesn't support asymmetric keys.</p>
291    pub fn encryption_configuration(mut self, input: crate::types::EncryptionConfiguration) -> Self {
292        self.encryption_configuration = ::std::option::Option::Some(input);
293        self
294    }
295    /// <p>The identifier of the Amazon Web Services KMS key that is used to encrypt your data. Amazon Q Business doesn't support asymmetric keys.</p>
296    pub fn set_encryption_configuration(mut self, input: ::std::option::Option<crate::types::EncryptionConfiguration>) -> Self {
297        self.encryption_configuration = input;
298        self
299    }
300    /// <p>The identifier of the Amazon Web Services KMS key that is used to encrypt your data. Amazon Q Business doesn't support asymmetric keys.</p>
301    pub fn get_encryption_configuration(&self) -> &::std::option::Option<crate::types::EncryptionConfiguration> {
302        &self.encryption_configuration
303    }
304    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
305    pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
306        self.created_at = ::std::option::Option::Some(input);
307        self
308    }
309    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
310    pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
311        self.created_at = input;
312        self
313    }
314    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
315    pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
316        &self.created_at
317    }
318    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
319    pub fn updated_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
320        self.updated_at = ::std::option::Option::Some(input);
321        self
322    }
323    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
324    pub fn set_updated_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
325        self.updated_at = input;
326        self
327    }
328    /// <p>The Unix timestamp when the Amazon Q Business application was last updated.</p>
329    pub fn get_updated_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
330        &self.updated_at
331    }
332    /// <p>If the <code>Status</code> field is set to <code>ERROR</code>, the <code>ErrorMessage</code> field contains a description of the error that caused the synchronization to fail.</p>
333    pub fn error(mut self, input: crate::types::ErrorDetail) -> Self {
334        self.error = ::std::option::Option::Some(input);
335        self
336    }
337    /// <p>If the <code>Status</code> field is set to <code>ERROR</code>, the <code>ErrorMessage</code> field contains a description of the error that caused the synchronization to fail.</p>
338    pub fn set_error(mut self, input: ::std::option::Option<crate::types::ErrorDetail>) -> Self {
339        self.error = input;
340        self
341    }
342    /// <p>If the <code>Status</code> field is set to <code>ERROR</code>, the <code>ErrorMessage</code> field contains a description of the error that caused the synchronization to fail.</p>
343    pub fn get_error(&self) -> &::std::option::Option<crate::types::ErrorDetail> {
344        &self.error
345    }
346    /// <p>Settings for whether end users can upload files directly during chat.</p>
347    pub fn attachments_configuration(mut self, input: crate::types::AppliedAttachmentsConfiguration) -> Self {
348        self.attachments_configuration = ::std::option::Option::Some(input);
349        self
350    }
351    /// <p>Settings for whether end users can upload files directly during chat.</p>
352    pub fn set_attachments_configuration(mut self, input: ::std::option::Option<crate::types::AppliedAttachmentsConfiguration>) -> Self {
353        self.attachments_configuration = input;
354        self
355    }
356    /// <p>Settings for whether end users can upload files directly during chat.</p>
357    pub fn get_attachments_configuration(&self) -> &::std::option::Option<crate::types::AppliedAttachmentsConfiguration> {
358        &self.attachments_configuration
359    }
360    /// <p>Settings for whether end users can create and use Amazon Q Apps in the web experience.</p>
361    pub fn q_apps_configuration(mut self, input: crate::types::QAppsConfiguration) -> Self {
362        self.q_apps_configuration = ::std::option::Option::Some(input);
363        self
364    }
365    /// <p>Settings for whether end users can create and use Amazon Q Apps in the web experience.</p>
366    pub fn set_q_apps_configuration(mut self, input: ::std::option::Option<crate::types::QAppsConfiguration>) -> Self {
367        self.q_apps_configuration = input;
368        self
369    }
370    /// <p>Settings for whether end users can create and use Amazon Q Apps in the web experience.</p>
371    pub fn get_q_apps_configuration(&self) -> &::std::option::Option<crate::types::QAppsConfiguration> {
372        &self.q_apps_configuration
373    }
374    /// <p>Configuration information about chat response personalization. For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html">Personalizing chat responses</a>.</p>
375    pub fn personalization_configuration(mut self, input: crate::types::PersonalizationConfiguration) -> Self {
376        self.personalization_configuration = ::std::option::Option::Some(input);
377        self
378    }
379    /// <p>Configuration information about chat response personalization. For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html">Personalizing chat responses</a>.</p>
380    pub fn set_personalization_configuration(mut self, input: ::std::option::Option<crate::types::PersonalizationConfiguration>) -> Self {
381        self.personalization_configuration = input;
382        self
383    }
384    /// <p>Configuration information about chat response personalization. For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html">Personalizing chat responses</a>.</p>
385    pub fn get_personalization_configuration(&self) -> &::std::option::Option<crate::types::PersonalizationConfiguration> {
386        &self.personalization_configuration
387    }
388    /// <p>Settings for auto-subscription behavior for this application. This is only applicable to SAML and OIDC applications.</p>
389    pub fn auto_subscription_configuration(mut self, input: crate::types::AutoSubscriptionConfiguration) -> Self {
390        self.auto_subscription_configuration = ::std::option::Option::Some(input);
391        self
392    }
393    /// <p>Settings for auto-subscription behavior for this application. This is only applicable to SAML and OIDC applications.</p>
394    pub fn set_auto_subscription_configuration(mut self, input: ::std::option::Option<crate::types::AutoSubscriptionConfiguration>) -> Self {
395        self.auto_subscription_configuration = input;
396        self
397    }
398    /// <p>Settings for auto-subscription behavior for this application. This is only applicable to SAML and OIDC applications.</p>
399    pub fn get_auto_subscription_configuration(&self) -> &::std::option::Option<crate::types::AutoSubscriptionConfiguration> {
400        &self.auto_subscription_configuration
401    }
402    /// Appends an item to `client_ids_for_oidc`.
403    ///
404    /// To override the contents of this collection use [`set_client_ids_for_oidc`](Self::set_client_ids_for_oidc).
405    ///
406    /// <p>The OIDC client ID for a Amazon Q Business application.</p>
407    pub fn client_ids_for_oidc(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
408        let mut v = self.client_ids_for_oidc.unwrap_or_default();
409        v.push(input.into());
410        self.client_ids_for_oidc = ::std::option::Option::Some(v);
411        self
412    }
413    /// <p>The OIDC client ID for a Amazon Q Business application.</p>
414    pub fn set_client_ids_for_oidc(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
415        self.client_ids_for_oidc = input;
416        self
417    }
418    /// <p>The OIDC client ID for a Amazon Q Business application.</p>
419    pub fn get_client_ids_for_oidc(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
420        &self.client_ids_for_oidc
421    }
422    /// <p>The Amazon QuickSight authentication configuration for the Amazon Q Business application.</p>
423    pub fn quick_sight_configuration(mut self, input: crate::types::QuickSightConfiguration) -> Self {
424        self.quick_sight_configuration = ::std::option::Option::Some(input);
425        self
426    }
427    /// <p>The Amazon QuickSight authentication configuration for the Amazon Q Business application.</p>
428    pub fn set_quick_sight_configuration(mut self, input: ::std::option::Option<crate::types::QuickSightConfiguration>) -> Self {
429        self.quick_sight_configuration = input;
430        self
431    }
432    /// <p>The Amazon QuickSight authentication configuration for the Amazon Q Business application.</p>
433    pub fn get_quick_sight_configuration(&self) -> &::std::option::Option<crate::types::QuickSightConfiguration> {
434        &self.quick_sight_configuration
435    }
436    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
437        self._request_id = Some(request_id.into());
438        self
439    }
440
441    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
442        self._request_id = request_id;
443        self
444    }
445    /// Consumes the builder and constructs a [`GetApplicationOutput`](crate::operation::get_application::GetApplicationOutput).
446    pub fn build(self) -> crate::operation::get_application::GetApplicationOutput {
447        crate::operation::get_application::GetApplicationOutput {
448            display_name: self.display_name,
449            application_id: self.application_id,
450            application_arn: self.application_arn,
451            identity_type: self.identity_type,
452            iam_identity_provider_arn: self.iam_identity_provider_arn,
453            identity_center_application_arn: self.identity_center_application_arn,
454            role_arn: self.role_arn,
455            status: self.status,
456            description: self.description,
457            encryption_configuration: self.encryption_configuration,
458            created_at: self.created_at,
459            updated_at: self.updated_at,
460            error: self.error,
461            attachments_configuration: self.attachments_configuration,
462            q_apps_configuration: self.q_apps_configuration,
463            personalization_configuration: self.personalization_configuration,
464            auto_subscription_configuration: self.auto_subscription_configuration,
465            client_ids_for_oidc: self.client_ids_for_oidc,
466            quick_sight_configuration: self.quick_sight_configuration,
467            _request_id: self._request_id,
468        }
469    }
470}