1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`ChatSync`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`application_id(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::application_id) / [`set_application_id(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_application_id):<br>required: **true**<br><p>The identifier of the Amazon Q Business application linked to the Amazon Q Business conversation.</p><br>
    ///   - [`user_id(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::user_id) / [`set_user_id(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_user_id):<br>required: **false**<br><p>The identifier of the user attached to the chat input.</p><br>
    ///   - [`user_groups(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::user_groups) / [`set_user_groups(Option<Vec::<String>>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_user_groups):<br>required: **false**<br><p>The groups that a user associated with the chat input belongs to.</p><br>
    ///   - [`user_message(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::user_message) / [`set_user_message(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_user_message):<br>required: **false**<br><p>A end user message in a conversation.</p><br>
    ///   - [`attachments(AttachmentInput)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::attachments) / [`set_attachments(Option<Vec::<AttachmentInput>>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_attachments):<br>required: **false**<br><p>A list of files uploaded directly during chat. You can upload a maximum of 5 files of upto 10 MB each.</p><br>
    ///   - [`action_execution(ActionExecution)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::action_execution) / [`set_action_execution(Option<ActionExecution>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_action_execution):<br>required: **false**<br><p>A request from an end user to perform an Amazon Q Business plugin action.</p><br>
    ///   - [`auth_challenge_response(AuthChallengeResponse)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::auth_challenge_response) / [`set_auth_challenge_response(Option<AuthChallengeResponse>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_auth_challenge_response):<br>required: **false**<br><p>An authentication verification event response by a third party authentication server to Amazon Q Business.</p><br>
    ///   - [`conversation_id(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::conversation_id) / [`set_conversation_id(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_conversation_id):<br>required: **false**<br><p>The identifier of the Amazon Q Business conversation.</p><br>
    ///   - [`parent_message_id(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::parent_message_id) / [`set_parent_message_id(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_parent_message_id):<br>required: **false**<br><p>The identifier of the previous end user text input message in a conversation.</p><br>
    ///   - [`attribute_filter(AttributeFilter)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::attribute_filter) / [`set_attribute_filter(Option<AttributeFilter>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_attribute_filter):<br>required: **false**<br><p>Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.</p><br>
    ///   - [`chat_mode(ChatMode)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::chat_mode) / [`set_chat_mode(Option<ChatMode>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_chat_mode):<br>required: **false**<br><p>The chat modes available to an Amazon Q Business end user.</p> <ul>  <li>   <p><code>RETRIEVAL_MODE</code> - The default chat mode for an Amazon Q Business application. When this mode is enabled, Amazon Q Business generates responses only from data sources connected to an Amazon Q Business application.</p></li>  <li>   <p><code>CREATOR_MODE</code> - By selecting this mode, users can choose to generate responses only from the LLM knowledge, without consulting connected data sources, for a chat request.</p></li>  <li>   <p><code>PLUGIN_MODE</code> - By selecting this mode, users can choose to use plugins in chat.</p></li> </ul> <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">Conversation settings</a>.</p><br>
    ///   - [`chat_mode_configuration(ChatModeConfiguration)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::chat_mode_configuration) / [`set_chat_mode_configuration(Option<ChatModeConfiguration>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_chat_mode_configuration):<br>required: **false**<br><p>The chat mode configuration for an Amazon Q Business application.</p><br>
    ///   - [`client_token(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_client_token):<br>required: **false**<br><p>A token that you provide to identify a chat request.</p><br>
    /// - On success, responds with [`ChatSyncOutput`](crate::operation::chat_sync::ChatSyncOutput) with field(s):
    ///   - [`conversation_id(Option<String>)`](crate::operation::chat_sync::ChatSyncOutput::conversation_id): <p>The identifier of the Amazon Q Business conversation.</p>
    ///   - [`system_message(Option<String>)`](crate::operation::chat_sync::ChatSyncOutput::system_message): <p>An AI-generated message in a conversation.</p>
    ///   - [`system_message_id(Option<String>)`](crate::operation::chat_sync::ChatSyncOutput::system_message_id): <p>The identifier of an Amazon Q Business AI generated message within the conversation.</p>
    ///   - [`user_message_id(Option<String>)`](crate::operation::chat_sync::ChatSyncOutput::user_message_id): <p>The identifier of an Amazon Q Business end user text input message within the conversation.</p>
    ///   - [`action_review(Option<ActionReview>)`](crate::operation::chat_sync::ChatSyncOutput::action_review): <p>A request from Amazon Q Business to the end user for information Amazon Q Business needs to successfully complete a requested plugin action.</p>
    ///   - [`auth_challenge_request(Option<AuthChallengeRequest>)`](crate::operation::chat_sync::ChatSyncOutput::auth_challenge_request): <p>An authentication verification event activated by an end user request to use a custom plugin.</p>
    ///   - [`source_attributions(Option<Vec::<Option<SourceAttribution>>>)`](crate::operation::chat_sync::ChatSyncOutput::source_attributions): <p>The source documents used to generate the conversation response.</p>
    ///   - [`failed_attachments(Option<Vec::<AttachmentOutput>>)`](crate::operation::chat_sync::ChatSyncOutput::failed_attachments): <p>A list of files which failed to upload during chat.</p>
    /// - On failure, responds with [`SdkError<ChatSyncError>`](crate::operation::chat_sync::ChatSyncError)
    pub fn chat_sync(&self) -> crate::operation::chat_sync::builders::ChatSyncFluentBuilder {
        crate::operation::chat_sync::builders::ChatSyncFluentBuilder::new(self.handle.clone())
    }
}