aws_sdk_qbusiness/operation/chat_sync/
_chat_sync_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 ChatSyncInput {
6    /// <p>The identifier of the Amazon Q Business application linked to the Amazon Q Business conversation.</p>
7    pub application_id: ::std::option::Option<::std::string::String>,
8    /// <p>The identifier of the user attached to the chat input.</p>
9    pub user_id: ::std::option::Option<::std::string::String>,
10    /// <p>The group names that a user associated with the chat input belongs to.</p>
11    pub user_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
12    /// <p>A end user message in a conversation.</p>
13    pub user_message: ::std::option::Option<::std::string::String>,
14    /// <p>A list of files uploaded directly during chat. You can upload a maximum of 5 files of upto 10 MB each.</p>
15    pub attachments: ::std::option::Option<::std::vec::Vec<crate::types::AttachmentInput>>,
16    /// <p>A request from an end user to perform an Amazon Q Business plugin action.</p>
17    pub action_execution: ::std::option::Option<crate::types::ActionExecution>,
18    /// <p>An authentication verification event response by a third party authentication server to Amazon Q Business.</p>
19    pub auth_challenge_response: ::std::option::Option<crate::types::AuthChallengeResponse>,
20    /// <p>The identifier of the Amazon Q Business conversation.</p>
21    pub conversation_id: ::std::option::Option<::std::string::String>,
22    /// <p>The identifier of the previous system message in a conversation.</p>
23    pub parent_message_id: ::std::option::Option<::std::string::String>,
24    /// <p>Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.</p>
25    pub attribute_filter: ::std::option::Option<crate::types::AttributeFilter>,
26    /// <p>The <code>chatMode</code> parameter determines the chat modes available to Amazon Q Business users:</p>
27    /// <ul>
28    /// <li>
29    /// <p><code>RETRIEVAL_MODE</code> - If you choose this mode, Amazon Q generates responses solely from the data sources connected and indexed by the application. If an answer is not found in the data sources or there are no data sources available, Amazon Q will respond with a "<i>No Answer Found</i>" message, unless LLM knowledge has been enabled. In that case, Amazon Q will generate a response from the LLM knowledge</p></li>
30    /// <li>
31    /// <p><code>CREATOR_MODE</code> - By selecting this mode, you can choose to generate responses only from the LLM knowledge. You can also attach files and have Amazon Q generate a response based on the data in those files. If the attached files do not contain an answer for the query, Amazon Q will automatically fall back to generating a response from the LLM knowledge.</p></li>
32    /// <li>
33    /// <p><code>PLUGIN_MODE</code> - By selecting this mode, users can choose to use plugins in chat to get their responses.</p></li>
34    /// </ul><note>
35    /// <p>If none of the modes are selected, Amazon Q will only respond using the information from the attached files.</p>
36    /// </note>
37    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html">Admin controls and guardrails</a>, <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/plugins.html">Plugins</a>, and <a href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/using-web-experience.html#chat-source-scope">Response sources</a>.</p>
38    pub chat_mode: ::std::option::Option<crate::types::ChatMode>,
39    /// <p>The chat mode configuration for an Amazon Q Business application.</p>
40    pub chat_mode_configuration: ::std::option::Option<crate::types::ChatModeConfiguration>,
41    /// <p>A token that you provide to identify a chat request.</p>
42    pub client_token: ::std::option::Option<::std::string::String>,
43}
44impl ChatSyncInput {
45    /// <p>The identifier of the Amazon Q Business application linked to the Amazon Q Business conversation.</p>
46    pub fn application_id(&self) -> ::std::option::Option<&str> {
47        self.application_id.as_deref()
48    }
49    /// <p>The identifier of the user attached to the chat input.</p>
50    pub fn user_id(&self) -> ::std::option::Option<&str> {
51        self.user_id.as_deref()
52    }
53    /// <p>The group names that a user associated with the chat input belongs to.</p>
54    ///
55    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.user_groups.is_none()`.
56    pub fn user_groups(&self) -> &[::std::string::String] {
57        self.user_groups.as_deref().unwrap_or_default()
58    }
59    /// <p>A end user message in a conversation.</p>
60    pub fn user_message(&self) -> ::std::option::Option<&str> {
61        self.user_message.as_deref()
62    }
63    /// <p>A list of files uploaded directly during chat. You can upload a maximum of 5 files of upto 10 MB each.</p>
64    ///
65    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.attachments.is_none()`.
66    pub fn attachments(&self) -> &[crate::types::AttachmentInput] {
67        self.attachments.as_deref().unwrap_or_default()
68    }
69    /// <p>A request from an end user to perform an Amazon Q Business plugin action.</p>
70    pub fn action_execution(&self) -> ::std::option::Option<&crate::types::ActionExecution> {
71        self.action_execution.as_ref()
72    }
73    /// <p>An authentication verification event response by a third party authentication server to Amazon Q Business.</p>
74    pub fn auth_challenge_response(&self) -> ::std::option::Option<&crate::types::AuthChallengeResponse> {
75        self.auth_challenge_response.as_ref()
76    }
77    /// <p>The identifier of the Amazon Q Business conversation.</p>
78    pub fn conversation_id(&self) -> ::std::option::Option<&str> {
79        self.conversation_id.as_deref()
80    }
81    /// <p>The identifier of the previous system message in a conversation.</p>
82    pub fn parent_message_id(&self) -> ::std::option::Option<&str> {
83        self.parent_message_id.as_deref()
84    }
85    /// <p>Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.</p>
86    pub fn attribute_filter(&self) -> ::std::option::Option<&crate::types::AttributeFilter> {
87        self.attribute_filter.as_ref()
88    }
89    /// <p>The <code>chatMode</code> parameter determines the chat modes available to Amazon Q Business users:</p>
90    /// <ul>
91    /// <li>
92    /// <p><code>RETRIEVAL_MODE</code> - If you choose this mode, Amazon Q generates responses solely from the data sources connected and indexed by the application. If an answer is not found in the data sources or there are no data sources available, Amazon Q will respond with a "<i>No Answer Found</i>" message, unless LLM knowledge has been enabled. In that case, Amazon Q will generate a response from the LLM knowledge</p></li>
93    /// <li>
94    /// <p><code>CREATOR_MODE</code> - By selecting this mode, you can choose to generate responses only from the LLM knowledge. You can also attach files and have Amazon Q generate a response based on the data in those files. If the attached files do not contain an answer for the query, Amazon Q will automatically fall back to generating a response from the LLM knowledge.</p></li>
95    /// <li>
96    /// <p><code>PLUGIN_MODE</code> - By selecting this mode, users can choose to use plugins in chat to get their responses.</p></li>
97    /// </ul><note>
98    /// <p>If none of the modes are selected, Amazon Q will only respond using the information from the attached files.</p>
99    /// </note>
100    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html">Admin controls and guardrails</a>, <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/plugins.html">Plugins</a>, and <a href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/using-web-experience.html#chat-source-scope">Response sources</a>.</p>
101    pub fn chat_mode(&self) -> ::std::option::Option<&crate::types::ChatMode> {
102        self.chat_mode.as_ref()
103    }
104    /// <p>The chat mode configuration for an Amazon Q Business application.</p>
105    pub fn chat_mode_configuration(&self) -> ::std::option::Option<&crate::types::ChatModeConfiguration> {
106        self.chat_mode_configuration.as_ref()
107    }
108    /// <p>A token that you provide to identify a chat request.</p>
109    pub fn client_token(&self) -> ::std::option::Option<&str> {
110        self.client_token.as_deref()
111    }
112}
113impl ChatSyncInput {
114    /// Creates a new builder-style object to manufacture [`ChatSyncInput`](crate::operation::chat_sync::ChatSyncInput).
115    pub fn builder() -> crate::operation::chat_sync::builders::ChatSyncInputBuilder {
116        crate::operation::chat_sync::builders::ChatSyncInputBuilder::default()
117    }
118}
119
120/// A builder for [`ChatSyncInput`](crate::operation::chat_sync::ChatSyncInput).
121#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
122#[non_exhaustive]
123pub struct ChatSyncInputBuilder {
124    pub(crate) application_id: ::std::option::Option<::std::string::String>,
125    pub(crate) user_id: ::std::option::Option<::std::string::String>,
126    pub(crate) user_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
127    pub(crate) user_message: ::std::option::Option<::std::string::String>,
128    pub(crate) attachments: ::std::option::Option<::std::vec::Vec<crate::types::AttachmentInput>>,
129    pub(crate) action_execution: ::std::option::Option<crate::types::ActionExecution>,
130    pub(crate) auth_challenge_response: ::std::option::Option<crate::types::AuthChallengeResponse>,
131    pub(crate) conversation_id: ::std::option::Option<::std::string::String>,
132    pub(crate) parent_message_id: ::std::option::Option<::std::string::String>,
133    pub(crate) attribute_filter: ::std::option::Option<crate::types::AttributeFilter>,
134    pub(crate) chat_mode: ::std::option::Option<crate::types::ChatMode>,
135    pub(crate) chat_mode_configuration: ::std::option::Option<crate::types::ChatModeConfiguration>,
136    pub(crate) client_token: ::std::option::Option<::std::string::String>,
137}
138impl ChatSyncInputBuilder {
139    /// <p>The identifier of the Amazon Q Business application linked to the Amazon Q Business conversation.</p>
140    /// This field is required.
141    pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142        self.application_id = ::std::option::Option::Some(input.into());
143        self
144    }
145    /// <p>The identifier of the Amazon Q Business application linked to the Amazon Q Business conversation.</p>
146    pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147        self.application_id = input;
148        self
149    }
150    /// <p>The identifier of the Amazon Q Business application linked to the Amazon Q Business conversation.</p>
151    pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
152        &self.application_id
153    }
154    /// <p>The identifier of the user attached to the chat input.</p>
155    pub fn user_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
156        self.user_id = ::std::option::Option::Some(input.into());
157        self
158    }
159    /// <p>The identifier of the user attached to the chat input.</p>
160    pub fn set_user_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
161        self.user_id = input;
162        self
163    }
164    /// <p>The identifier of the user attached to the chat input.</p>
165    pub fn get_user_id(&self) -> &::std::option::Option<::std::string::String> {
166        &self.user_id
167    }
168    /// Appends an item to `user_groups`.
169    ///
170    /// To override the contents of this collection use [`set_user_groups`](Self::set_user_groups).
171    ///
172    /// <p>The group names that a user associated with the chat input belongs to.</p>
173    pub fn user_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174        let mut v = self.user_groups.unwrap_or_default();
175        v.push(input.into());
176        self.user_groups = ::std::option::Option::Some(v);
177        self
178    }
179    /// <p>The group names that a user associated with the chat input belongs to.</p>
180    pub fn set_user_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
181        self.user_groups = input;
182        self
183    }
184    /// <p>The group names that a user associated with the chat input belongs to.</p>
185    pub fn get_user_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
186        &self.user_groups
187    }
188    /// <p>A end user message in a conversation.</p>
189    pub fn user_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
190        self.user_message = ::std::option::Option::Some(input.into());
191        self
192    }
193    /// <p>A end user message in a conversation.</p>
194    pub fn set_user_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
195        self.user_message = input;
196        self
197    }
198    /// <p>A end user message in a conversation.</p>
199    pub fn get_user_message(&self) -> &::std::option::Option<::std::string::String> {
200        &self.user_message
201    }
202    /// Appends an item to `attachments`.
203    ///
204    /// To override the contents of this collection use [`set_attachments`](Self::set_attachments).
205    ///
206    /// <p>A list of files uploaded directly during chat. You can upload a maximum of 5 files of upto 10 MB each.</p>
207    pub fn attachments(mut self, input: crate::types::AttachmentInput) -> Self {
208        let mut v = self.attachments.unwrap_or_default();
209        v.push(input);
210        self.attachments = ::std::option::Option::Some(v);
211        self
212    }
213    /// <p>A list of files uploaded directly during chat. You can upload a maximum of 5 files of upto 10 MB each.</p>
214    pub fn set_attachments(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AttachmentInput>>) -> Self {
215        self.attachments = input;
216        self
217    }
218    /// <p>A list of files uploaded directly during chat. You can upload a maximum of 5 files of upto 10 MB each.</p>
219    pub fn get_attachments(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AttachmentInput>> {
220        &self.attachments
221    }
222    /// <p>A request from an end user to perform an Amazon Q Business plugin action.</p>
223    pub fn action_execution(mut self, input: crate::types::ActionExecution) -> Self {
224        self.action_execution = ::std::option::Option::Some(input);
225        self
226    }
227    /// <p>A request from an end user to perform an Amazon Q Business plugin action.</p>
228    pub fn set_action_execution(mut self, input: ::std::option::Option<crate::types::ActionExecution>) -> Self {
229        self.action_execution = input;
230        self
231    }
232    /// <p>A request from an end user to perform an Amazon Q Business plugin action.</p>
233    pub fn get_action_execution(&self) -> &::std::option::Option<crate::types::ActionExecution> {
234        &self.action_execution
235    }
236    /// <p>An authentication verification event response by a third party authentication server to Amazon Q Business.</p>
237    pub fn auth_challenge_response(mut self, input: crate::types::AuthChallengeResponse) -> Self {
238        self.auth_challenge_response = ::std::option::Option::Some(input);
239        self
240    }
241    /// <p>An authentication verification event response by a third party authentication server to Amazon Q Business.</p>
242    pub fn set_auth_challenge_response(mut self, input: ::std::option::Option<crate::types::AuthChallengeResponse>) -> Self {
243        self.auth_challenge_response = input;
244        self
245    }
246    /// <p>An authentication verification event response by a third party authentication server to Amazon Q Business.</p>
247    pub fn get_auth_challenge_response(&self) -> &::std::option::Option<crate::types::AuthChallengeResponse> {
248        &self.auth_challenge_response
249    }
250    /// <p>The identifier of the Amazon Q Business conversation.</p>
251    pub fn conversation_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
252        self.conversation_id = ::std::option::Option::Some(input.into());
253        self
254    }
255    /// <p>The identifier of the Amazon Q Business conversation.</p>
256    pub fn set_conversation_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
257        self.conversation_id = input;
258        self
259    }
260    /// <p>The identifier of the Amazon Q Business conversation.</p>
261    pub fn get_conversation_id(&self) -> &::std::option::Option<::std::string::String> {
262        &self.conversation_id
263    }
264    /// <p>The identifier of the previous system message in a conversation.</p>
265    pub fn parent_message_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
266        self.parent_message_id = ::std::option::Option::Some(input.into());
267        self
268    }
269    /// <p>The identifier of the previous system message in a conversation.</p>
270    pub fn set_parent_message_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
271        self.parent_message_id = input;
272        self
273    }
274    /// <p>The identifier of the previous system message in a conversation.</p>
275    pub fn get_parent_message_id(&self) -> &::std::option::Option<::std::string::String> {
276        &self.parent_message_id
277    }
278    /// <p>Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.</p>
279    pub fn attribute_filter(mut self, input: crate::types::AttributeFilter) -> Self {
280        self.attribute_filter = ::std::option::Option::Some(input);
281        self
282    }
283    /// <p>Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.</p>
284    pub fn set_attribute_filter(mut self, input: ::std::option::Option<crate::types::AttributeFilter>) -> Self {
285        self.attribute_filter = input;
286        self
287    }
288    /// <p>Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.</p>
289    pub fn get_attribute_filter(&self) -> &::std::option::Option<crate::types::AttributeFilter> {
290        &self.attribute_filter
291    }
292    /// <p>The <code>chatMode</code> parameter determines the chat modes available to Amazon Q Business users:</p>
293    /// <ul>
294    /// <li>
295    /// <p><code>RETRIEVAL_MODE</code> - If you choose this mode, Amazon Q generates responses solely from the data sources connected and indexed by the application. If an answer is not found in the data sources or there are no data sources available, Amazon Q will respond with a "<i>No Answer Found</i>" message, unless LLM knowledge has been enabled. In that case, Amazon Q will generate a response from the LLM knowledge</p></li>
296    /// <li>
297    /// <p><code>CREATOR_MODE</code> - By selecting this mode, you can choose to generate responses only from the LLM knowledge. You can also attach files and have Amazon Q generate a response based on the data in those files. If the attached files do not contain an answer for the query, Amazon Q will automatically fall back to generating a response from the LLM knowledge.</p></li>
298    /// <li>
299    /// <p><code>PLUGIN_MODE</code> - By selecting this mode, users can choose to use plugins in chat to get their responses.</p></li>
300    /// </ul><note>
301    /// <p>If none of the modes are selected, Amazon Q will only respond using the information from the attached files.</p>
302    /// </note>
303    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html">Admin controls and guardrails</a>, <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/plugins.html">Plugins</a>, and <a href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/using-web-experience.html#chat-source-scope">Response sources</a>.</p>
304    pub fn chat_mode(mut self, input: crate::types::ChatMode) -> Self {
305        self.chat_mode = ::std::option::Option::Some(input);
306        self
307    }
308    /// <p>The <code>chatMode</code> parameter determines the chat modes available to Amazon Q Business users:</p>
309    /// <ul>
310    /// <li>
311    /// <p><code>RETRIEVAL_MODE</code> - If you choose this mode, Amazon Q generates responses solely from the data sources connected and indexed by the application. If an answer is not found in the data sources or there are no data sources available, Amazon Q will respond with a "<i>No Answer Found</i>" message, unless LLM knowledge has been enabled. In that case, Amazon Q will generate a response from the LLM knowledge</p></li>
312    /// <li>
313    /// <p><code>CREATOR_MODE</code> - By selecting this mode, you can choose to generate responses only from the LLM knowledge. You can also attach files and have Amazon Q generate a response based on the data in those files. If the attached files do not contain an answer for the query, Amazon Q will automatically fall back to generating a response from the LLM knowledge.</p></li>
314    /// <li>
315    /// <p><code>PLUGIN_MODE</code> - By selecting this mode, users can choose to use plugins in chat to get their responses.</p></li>
316    /// </ul><note>
317    /// <p>If none of the modes are selected, Amazon Q will only respond using the information from the attached files.</p>
318    /// </note>
319    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html">Admin controls and guardrails</a>, <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/plugins.html">Plugins</a>, and <a href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/using-web-experience.html#chat-source-scope">Response sources</a>.</p>
320    pub fn set_chat_mode(mut self, input: ::std::option::Option<crate::types::ChatMode>) -> Self {
321        self.chat_mode = input;
322        self
323    }
324    /// <p>The <code>chatMode</code> parameter determines the chat modes available to Amazon Q Business users:</p>
325    /// <ul>
326    /// <li>
327    /// <p><code>RETRIEVAL_MODE</code> - If you choose this mode, Amazon Q generates responses solely from the data sources connected and indexed by the application. If an answer is not found in the data sources or there are no data sources available, Amazon Q will respond with a "<i>No Answer Found</i>" message, unless LLM knowledge has been enabled. In that case, Amazon Q will generate a response from the LLM knowledge</p></li>
328    /// <li>
329    /// <p><code>CREATOR_MODE</code> - By selecting this mode, you can choose to generate responses only from the LLM knowledge. You can also attach files and have Amazon Q generate a response based on the data in those files. If the attached files do not contain an answer for the query, Amazon Q will automatically fall back to generating a response from the LLM knowledge.</p></li>
330    /// <li>
331    /// <p><code>PLUGIN_MODE</code> - By selecting this mode, users can choose to use plugins in chat to get their responses.</p></li>
332    /// </ul><note>
333    /// <p>If none of the modes are selected, Amazon Q will only respond using the information from the attached files.</p>
334    /// </note>
335    /// <p>For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html">Admin controls and guardrails</a>, <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/plugins.html">Plugins</a>, and <a href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/using-web-experience.html#chat-source-scope">Response sources</a>.</p>
336    pub fn get_chat_mode(&self) -> &::std::option::Option<crate::types::ChatMode> {
337        &self.chat_mode
338    }
339    /// <p>The chat mode configuration for an Amazon Q Business application.</p>
340    pub fn chat_mode_configuration(mut self, input: crate::types::ChatModeConfiguration) -> Self {
341        self.chat_mode_configuration = ::std::option::Option::Some(input);
342        self
343    }
344    /// <p>The chat mode configuration for an Amazon Q Business application.</p>
345    pub fn set_chat_mode_configuration(mut self, input: ::std::option::Option<crate::types::ChatModeConfiguration>) -> Self {
346        self.chat_mode_configuration = input;
347        self
348    }
349    /// <p>The chat mode configuration for an Amazon Q Business application.</p>
350    pub fn get_chat_mode_configuration(&self) -> &::std::option::Option<crate::types::ChatModeConfiguration> {
351        &self.chat_mode_configuration
352    }
353    /// <p>A token that you provide to identify a chat request.</p>
354    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
355        self.client_token = ::std::option::Option::Some(input.into());
356        self
357    }
358    /// <p>A token that you provide to identify a chat request.</p>
359    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
360        self.client_token = input;
361        self
362    }
363    /// <p>A token that you provide to identify a chat request.</p>
364    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
365        &self.client_token
366    }
367    /// Consumes the builder and constructs a [`ChatSyncInput`](crate::operation::chat_sync::ChatSyncInput).
368    pub fn build(self) -> ::std::result::Result<crate::operation::chat_sync::ChatSyncInput, ::aws_smithy_types::error::operation::BuildError> {
369        ::std::result::Result::Ok(crate::operation::chat_sync::ChatSyncInput {
370            application_id: self.application_id,
371            user_id: self.user_id,
372            user_groups: self.user_groups,
373            user_message: self.user_message,
374            attachments: self.attachments,
375            action_execution: self.action_execution,
376            auth_challenge_response: self.auth_challenge_response,
377            conversation_id: self.conversation_id,
378            parent_message_id: self.parent_message_id,
379            attribute_filter: self.attribute_filter,
380            chat_mode: self.chat_mode,
381            chat_mode_configuration: self.chat_mode_configuration,
382            client_token: self.client_token,
383        })
384    }
385}