aws_sdk_qbusiness/operation/update_application/
_update_application_input.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 UpdateApplicationInput {
6    /// <p>The identifier of the Amazon Q Business application.</p>
7    pub application_id: ::std::option::Option<::std::string::String>,
8    /// <p>The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.</p>
9    pub identity_center_instance_arn: ::std::option::Option<::std::string::String>,
10    /// <p>A name for the Amazon Q Business application.</p>
11    pub display_name: ::std::option::Option<::std::string::String>,
12    /// <p>A description for the Amazon Q Business application.</p>
13    pub description: ::std::option::Option<::std::string::String>,
14    /// <p>An Amazon Web Services Identity and Access Management (IAM) role that gives Amazon Q Business permission to access Amazon CloudWatch logs and metrics.</p>
15    pub role_arn: ::std::option::Option<::std::string::String>,
16    /// <p>An option to allow end users to upload files directly during chat.</p>
17    pub attachments_configuration: ::std::option::Option<crate::types::AttachmentsConfiguration>,
18    /// <p>An option to allow end users to create and use Amazon Q Apps in the web experience.</p>
19    pub q_apps_configuration: ::std::option::Option<crate::types::QAppsConfiguration>,
20    /// <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>
21    pub personalization_configuration: ::std::option::Option<crate::types::PersonalizationConfiguration>,
22    /// <p>An option to enable updating the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management.</p>
23    pub auto_subscription_configuration: ::std::option::Option<crate::types::AutoSubscriptionConfiguration>,
24}
25impl UpdateApplicationInput {
26    /// <p>The identifier of the Amazon Q Business application.</p>
27    pub fn application_id(&self) -> ::std::option::Option<&str> {
28        self.application_id.as_deref()
29    }
30    /// <p>The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.</p>
31    pub fn identity_center_instance_arn(&self) -> ::std::option::Option<&str> {
32        self.identity_center_instance_arn.as_deref()
33    }
34    /// <p>A name for the Amazon Q Business application.</p>
35    pub fn display_name(&self) -> ::std::option::Option<&str> {
36        self.display_name.as_deref()
37    }
38    /// <p>A description for the Amazon Q Business application.</p>
39    pub fn description(&self) -> ::std::option::Option<&str> {
40        self.description.as_deref()
41    }
42    /// <p>An Amazon Web Services Identity and Access Management (IAM) role that gives Amazon Q Business permission to access Amazon CloudWatch logs and metrics.</p>
43    pub fn role_arn(&self) -> ::std::option::Option<&str> {
44        self.role_arn.as_deref()
45    }
46    /// <p>An option to allow end users to upload files directly during chat.</p>
47    pub fn attachments_configuration(&self) -> ::std::option::Option<&crate::types::AttachmentsConfiguration> {
48        self.attachments_configuration.as_ref()
49    }
50    /// <p>An option to allow end users to create and use Amazon Q Apps in the web experience.</p>
51    pub fn q_apps_configuration(&self) -> ::std::option::Option<&crate::types::QAppsConfiguration> {
52        self.q_apps_configuration.as_ref()
53    }
54    /// <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>
55    pub fn personalization_configuration(&self) -> ::std::option::Option<&crate::types::PersonalizationConfiguration> {
56        self.personalization_configuration.as_ref()
57    }
58    /// <p>An option to enable updating the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management.</p>
59    pub fn auto_subscription_configuration(&self) -> ::std::option::Option<&crate::types::AutoSubscriptionConfiguration> {
60        self.auto_subscription_configuration.as_ref()
61    }
62}
63impl UpdateApplicationInput {
64    /// Creates a new builder-style object to manufacture [`UpdateApplicationInput`](crate::operation::update_application::UpdateApplicationInput).
65    pub fn builder() -> crate::operation::update_application::builders::UpdateApplicationInputBuilder {
66        crate::operation::update_application::builders::UpdateApplicationInputBuilder::default()
67    }
68}
69
70/// A builder for [`UpdateApplicationInput`](crate::operation::update_application::UpdateApplicationInput).
71#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
72#[non_exhaustive]
73pub struct UpdateApplicationInputBuilder {
74    pub(crate) application_id: ::std::option::Option<::std::string::String>,
75    pub(crate) identity_center_instance_arn: ::std::option::Option<::std::string::String>,
76    pub(crate) display_name: ::std::option::Option<::std::string::String>,
77    pub(crate) description: ::std::option::Option<::std::string::String>,
78    pub(crate) role_arn: ::std::option::Option<::std::string::String>,
79    pub(crate) attachments_configuration: ::std::option::Option<crate::types::AttachmentsConfiguration>,
80    pub(crate) q_apps_configuration: ::std::option::Option<crate::types::QAppsConfiguration>,
81    pub(crate) personalization_configuration: ::std::option::Option<crate::types::PersonalizationConfiguration>,
82    pub(crate) auto_subscription_configuration: ::std::option::Option<crate::types::AutoSubscriptionConfiguration>,
83}
84impl UpdateApplicationInputBuilder {
85    /// <p>The identifier of the Amazon Q Business application.</p>
86    /// This field is required.
87    pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
88        self.application_id = ::std::option::Option::Some(input.into());
89        self
90    }
91    /// <p>The identifier of the Amazon Q Business application.</p>
92    pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
93        self.application_id = input;
94        self
95    }
96    /// <p>The identifier of the Amazon Q Business application.</p>
97    pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
98        &self.application_id
99    }
100    /// <p>The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.</p>
101    pub fn identity_center_instance_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
102        self.identity_center_instance_arn = ::std::option::Option::Some(input.into());
103        self
104    }
105    /// <p>The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.</p>
106    pub fn set_identity_center_instance_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
107        self.identity_center_instance_arn = input;
108        self
109    }
110    /// <p>The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.</p>
111    pub fn get_identity_center_instance_arn(&self) -> &::std::option::Option<::std::string::String> {
112        &self.identity_center_instance_arn
113    }
114    /// <p>A name for the Amazon Q Business application.</p>
115    pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
116        self.display_name = ::std::option::Option::Some(input.into());
117        self
118    }
119    /// <p>A name for the Amazon Q Business application.</p>
120    pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
121        self.display_name = input;
122        self
123    }
124    /// <p>A name for the Amazon Q Business application.</p>
125    pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
126        &self.display_name
127    }
128    /// <p>A description for the Amazon Q Business application.</p>
129    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
130        self.description = ::std::option::Option::Some(input.into());
131        self
132    }
133    /// <p>A description for the Amazon Q Business application.</p>
134    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
135        self.description = input;
136        self
137    }
138    /// <p>A description for the Amazon Q Business application.</p>
139    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
140        &self.description
141    }
142    /// <p>An Amazon Web Services Identity and Access Management (IAM) role that gives Amazon Q Business permission to access Amazon CloudWatch logs and metrics.</p>
143    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
144        self.role_arn = ::std::option::Option::Some(input.into());
145        self
146    }
147    /// <p>An Amazon Web Services Identity and Access Management (IAM) role that gives Amazon Q Business permission to access Amazon CloudWatch logs and metrics.</p>
148    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
149        self.role_arn = input;
150        self
151    }
152    /// <p>An Amazon Web Services Identity and Access Management (IAM) role that gives Amazon Q Business permission to access Amazon CloudWatch logs and metrics.</p>
153    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
154        &self.role_arn
155    }
156    /// <p>An option to allow end users to upload files directly during chat.</p>
157    pub fn attachments_configuration(mut self, input: crate::types::AttachmentsConfiguration) -> Self {
158        self.attachments_configuration = ::std::option::Option::Some(input);
159        self
160    }
161    /// <p>An option to allow end users to upload files directly during chat.</p>
162    pub fn set_attachments_configuration(mut self, input: ::std::option::Option<crate::types::AttachmentsConfiguration>) -> Self {
163        self.attachments_configuration = input;
164        self
165    }
166    /// <p>An option to allow end users to upload files directly during chat.</p>
167    pub fn get_attachments_configuration(&self) -> &::std::option::Option<crate::types::AttachmentsConfiguration> {
168        &self.attachments_configuration
169    }
170    /// <p>An option to allow end users to create and use Amazon Q Apps in the web experience.</p>
171    pub fn q_apps_configuration(mut self, input: crate::types::QAppsConfiguration) -> Self {
172        self.q_apps_configuration = ::std::option::Option::Some(input);
173        self
174    }
175    /// <p>An option to allow end users to create and use Amazon Q Apps in the web experience.</p>
176    pub fn set_q_apps_configuration(mut self, input: ::std::option::Option<crate::types::QAppsConfiguration>) -> Self {
177        self.q_apps_configuration = input;
178        self
179    }
180    /// <p>An option to allow end users to create and use Amazon Q Apps in the web experience.</p>
181    pub fn get_q_apps_configuration(&self) -> &::std::option::Option<crate::types::QAppsConfiguration> {
182        &self.q_apps_configuration
183    }
184    /// <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>
185    pub fn personalization_configuration(mut self, input: crate::types::PersonalizationConfiguration) -> Self {
186        self.personalization_configuration = ::std::option::Option::Some(input);
187        self
188    }
189    /// <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>
190    pub fn set_personalization_configuration(mut self, input: ::std::option::Option<crate::types::PersonalizationConfiguration>) -> Self {
191        self.personalization_configuration = input;
192        self
193    }
194    /// <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>
195    pub fn get_personalization_configuration(&self) -> &::std::option::Option<crate::types::PersonalizationConfiguration> {
196        &self.personalization_configuration
197    }
198    /// <p>An option to enable updating the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management.</p>
199    pub fn auto_subscription_configuration(mut self, input: crate::types::AutoSubscriptionConfiguration) -> Self {
200        self.auto_subscription_configuration = ::std::option::Option::Some(input);
201        self
202    }
203    /// <p>An option to enable updating the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management.</p>
204    pub fn set_auto_subscription_configuration(mut self, input: ::std::option::Option<crate::types::AutoSubscriptionConfiguration>) -> Self {
205        self.auto_subscription_configuration = input;
206        self
207    }
208    /// <p>An option to enable updating the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management.</p>
209    pub fn get_auto_subscription_configuration(&self) -> &::std::option::Option<crate::types::AutoSubscriptionConfiguration> {
210        &self.auto_subscription_configuration
211    }
212    /// Consumes the builder and constructs a [`UpdateApplicationInput`](crate::operation::update_application::UpdateApplicationInput).
213    pub fn build(
214        self,
215    ) -> ::std::result::Result<crate::operation::update_application::UpdateApplicationInput, ::aws_smithy_types::error::operation::BuildError> {
216        ::std::result::Result::Ok(crate::operation::update_application::UpdateApplicationInput {
217            application_id: self.application_id,
218            identity_center_instance_arn: self.identity_center_instance_arn,
219            display_name: self.display_name,
220            description: self.description,
221            role_arn: self.role_arn,
222            attachments_configuration: self.attachments_configuration,
223            q_apps_configuration: self.q_apps_configuration,
224            personalization_configuration: self.personalization_configuration,
225            auto_subscription_configuration: self.auto_subscription_configuration,
226        })
227    }
228}