// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`PutSession`](crate::operation::put_session::builders::PutSessionFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`bot_id(impl Into<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::bot_id) / [`set_bot_id(Option<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::set_bot_id): <p>The identifier of the bot that receives the session data.</p>
/// - [`bot_alias_id(impl Into<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::bot_alias_id) / [`set_bot_alias_id(Option<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::set_bot_alias_id): <p>The alias identifier of the bot that receives the session data.</p>
/// - [`locale_id(impl Into<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::locale_id) / [`set_locale_id(Option<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::set_locale_id): <p>The locale where the session is in use.</p>
/// - [`session_id(impl Into<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::session_id) / [`set_session_id(Option<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::set_session_id): <p>The identifier of the session that receives the session data.</p>
/// - [`messages(Message)`](crate::operation::put_session::builders::PutSessionFluentBuilder::messages) / [`set_messages(Option<Vec<Message>>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::set_messages): <p>A list of messages to send to the user. Messages are sent in the order that they are defined in the list.</p>
/// - [`session_state(SessionState)`](crate::operation::put_session::builders::PutSessionFluentBuilder::session_state) / [`set_session_state(Option<SessionState>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::set_session_state): <p>Sets the state of the session with the user. You can use this to set the current intent, attributes, context, and dialog action. Use the dialog action to determine the next step that Amazon Lex V2 should use in the conversation with the user.</p>
/// - [`request_attributes(impl Into<String>, impl Into<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::request_attributes) / [`set_request_attributes(Option<HashMap<String, String>>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::set_request_attributes): <p>Request-specific information passed between Amazon Lex V2 and the client application.</p> <p>The namespace <code>x-amz-lex:</code> is reserved for special attributes. Don't create any request attributes with the prefix <code>x-amz-lex:</code>.</p>
/// - [`response_content_type(impl Into<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::response_content_type) / [`set_response_content_type(Option<String>)`](crate::operation::put_session::builders::PutSessionFluentBuilder::set_response_content_type): <p>The message that Amazon Lex V2 returns in the response can be either text or speech depending on the value of this parameter. </p> <ul> <li> <p>If the value is <code>text/plain; charset=utf-8</code>, Amazon Lex V2 returns text in the response.</p> </li> </ul>
/// - On success, responds with [`PutSessionOutput`](crate::operation::put_session::PutSessionOutput) with field(s):
/// - [`content_type(Option<String>)`](crate::operation::put_session::PutSessionOutput::content_type): <p>The type of response. Same as the type specified in the <code>responseContentType</code> field in the request.</p>
/// - [`messages(Option<String>)`](crate::operation::put_session::PutSessionOutput::messages): <p>A list of messages that were last sent to the user. The messages are ordered based on how you return the messages from you Lambda function or the order that the messages are defined in the bot.</p>
/// - [`session_state(Option<String>)`](crate::operation::put_session::PutSessionOutput::session_state): <p>Represents the current state of the dialog between the user and the bot.</p> <p>Use this to determine the progress of the conversation and what the next action may be.</p>
/// - [`request_attributes(Option<String>)`](crate::operation::put_session::PutSessionOutput::request_attributes): <p>Request-specific information passed between the client application and Amazon Lex V2. These are the same as the <code>requestAttribute</code> parameter in the call to the <code>PutSession</code> operation.</p>
/// - [`session_id(Option<String>)`](crate::operation::put_session::PutSessionOutput::session_id): <p>The identifier of the session that received the data.</p>
/// - [`audio_stream(ByteStream)`](crate::operation::put_session::PutSessionOutput::audio_stream): <p>If the requested content type was audio, the audio version of the message to convey to the user.</p>
/// - On failure, responds with [`SdkError<PutSessionError>`](crate::operation::put_session::PutSessionError)
pub fn put_session(&self) -> crate::operation::put_session::builders::PutSessionFluentBuilder {
crate::operation::put_session::builders::PutSessionFluentBuilder::new(self.handle.clone())
}
}