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}