/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace LexRuntimeV2 { namespace Model { class GetSessionResult { public: AWS_LEXRUNTIMEV2_API GetSessionResult(); AWS_LEXRUNTIMEV2_API GetSessionResult(const Aws::AmazonWebServiceResult& result); AWS_LEXRUNTIMEV2_API GetSessionResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The identifier of the returned session.

*/ inline const Aws::String& GetSessionId() const{ return m_sessionId; } /** *

The identifier of the returned session.

*/ inline void SetSessionId(const Aws::String& value) { m_sessionId = value; } /** *

The identifier of the returned session.

*/ inline void SetSessionId(Aws::String&& value) { m_sessionId = std::move(value); } /** *

The identifier of the returned session.

*/ inline void SetSessionId(const char* value) { m_sessionId.assign(value); } /** *

The identifier of the returned session.

*/ inline GetSessionResult& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} /** *

The identifier of the returned session.

*/ inline GetSessionResult& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} /** *

The identifier of the returned session.

*/ inline GetSessionResult& WithSessionId(const char* value) { SetSessionId(value); return *this;} /** *

A list of messages that were last sent to the user. The messages are ordered * based on the order that your returned the messages from your Lambda function or * the order that messages are defined in the bot.

*/ inline const Aws::Vector& GetMessages() const{ return m_messages; } /** *

A list of messages that were last sent to the user. The messages are ordered * based on the order that your returned the messages from your Lambda function or * the order that messages are defined in the bot.

*/ inline void SetMessages(const Aws::Vector& value) { m_messages = value; } /** *

A list of messages that were last sent to the user. The messages are ordered * based on the order that your returned the messages from your Lambda function or * the order that messages are defined in the bot.

*/ inline void SetMessages(Aws::Vector&& value) { m_messages = std::move(value); } /** *

A list of messages that were last sent to the user. The messages are ordered * based on the order that your returned the messages from your Lambda function or * the order that messages are defined in the bot.

*/ inline GetSessionResult& WithMessages(const Aws::Vector& value) { SetMessages(value); return *this;} /** *

A list of messages that were last sent to the user. The messages are ordered * based on the order that your returned the messages from your Lambda function or * the order that messages are defined in the bot.

*/ inline GetSessionResult& WithMessages(Aws::Vector&& value) { SetMessages(std::move(value)); return *this;} /** *

A list of messages that were last sent to the user. The messages are ordered * based on the order that your returned the messages from your Lambda function or * the order that messages are defined in the bot.

*/ inline GetSessionResult& AddMessages(const Message& value) { m_messages.push_back(value); return *this; } /** *

A list of messages that were last sent to the user. The messages are ordered * based on the order that your returned the messages from your Lambda function or * the order that messages are defined in the bot.

*/ inline GetSessionResult& AddMessages(Message&& value) { m_messages.push_back(std::move(value)); return *this; } /** *

A list of intents that Amazon Lex V2 determined might satisfy the user's * utterance.

Each interpretation includes the intent, a score that * indicates how confident Amazon Lex V2 is that the interpretation is the correct * one, and an optional sentiment response that indicates the sentiment expressed * in the utterance.

*/ inline const Aws::Vector& GetInterpretations() const{ return m_interpretations; } /** *

A list of intents that Amazon Lex V2 determined might satisfy the user's * utterance.

Each interpretation includes the intent, a score that * indicates how confident Amazon Lex V2 is that the interpretation is the correct * one, and an optional sentiment response that indicates the sentiment expressed * in the utterance.

*/ inline void SetInterpretations(const Aws::Vector& value) { m_interpretations = value; } /** *

A list of intents that Amazon Lex V2 determined might satisfy the user's * utterance.

Each interpretation includes the intent, a score that * indicates how confident Amazon Lex V2 is that the interpretation is the correct * one, and an optional sentiment response that indicates the sentiment expressed * in the utterance.

*/ inline void SetInterpretations(Aws::Vector&& value) { m_interpretations = std::move(value); } /** *

A list of intents that Amazon Lex V2 determined might satisfy the user's * utterance.

Each interpretation includes the intent, a score that * indicates how confident Amazon Lex V2 is that the interpretation is the correct * one, and an optional sentiment response that indicates the sentiment expressed * in the utterance.

*/ inline GetSessionResult& WithInterpretations(const Aws::Vector& value) { SetInterpretations(value); return *this;} /** *

A list of intents that Amazon Lex V2 determined might satisfy the user's * utterance.

Each interpretation includes the intent, a score that * indicates how confident Amazon Lex V2 is that the interpretation is the correct * one, and an optional sentiment response that indicates the sentiment expressed * in the utterance.

*/ inline GetSessionResult& WithInterpretations(Aws::Vector&& value) { SetInterpretations(std::move(value)); return *this;} /** *

A list of intents that Amazon Lex V2 determined might satisfy the user's * utterance.

Each interpretation includes the intent, a score that * indicates how confident Amazon Lex V2 is that the interpretation is the correct * one, and an optional sentiment response that indicates the sentiment expressed * in the utterance.

*/ inline GetSessionResult& AddInterpretations(const Interpretation& value) { m_interpretations.push_back(value); return *this; } /** *

A list of intents that Amazon Lex V2 determined might satisfy the user's * utterance.

Each interpretation includes the intent, a score that * indicates how confident Amazon Lex V2 is that the interpretation is the correct * one, and an optional sentiment response that indicates the sentiment expressed * in the utterance.

*/ inline GetSessionResult& AddInterpretations(Interpretation&& value) { m_interpretations.push_back(std::move(value)); return *this; } /** *

Represents the current state of the dialog between the user and the bot.

*

You can use this to determine the progress of the conversation and what the * next action might be.

*/ inline const SessionState& GetSessionState() const{ return m_sessionState; } /** *

Represents the current state of the dialog between the user and the bot.

*

You can use this to determine the progress of the conversation and what the * next action might be.

*/ inline void SetSessionState(const SessionState& value) { m_sessionState = value; } /** *

Represents the current state of the dialog between the user and the bot.

*

You can use this to determine the progress of the conversation and what the * next action might be.

*/ inline void SetSessionState(SessionState&& value) { m_sessionState = std::move(value); } /** *

Represents the current state of the dialog between the user and the bot.

*

You can use this to determine the progress of the conversation and what the * next action might be.

*/ inline GetSessionResult& WithSessionState(const SessionState& value) { SetSessionState(value); return *this;} /** *

Represents the current state of the dialog between the user and the bot.

*

You can use this to determine the progress of the conversation and what the * next action might be.

*/ inline GetSessionResult& WithSessionState(SessionState&& value) { SetSessionState(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetSessionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetSessionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetSessionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_sessionId; Aws::Vector m_messages; Aws::Vector m_interpretations; SessionState m_sessionState; Aws::String m_requestId; }; } // namespace Model } // namespace LexRuntimeV2 } // namespace Aws