/** * 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 #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LexRuntimeV2 { namespace Model { /** *

Contains the current state of the conversation between the client application * and Amazon Lex V2.

See Also:

AWS * API Reference

*/ class IntentResultEvent { public: AWS_LEXRUNTIMEV2_API IntentResultEvent(); AWS_LEXRUNTIMEV2_API IntentResultEvent(Aws::Utils::Json::JsonView jsonValue); AWS_LEXRUNTIMEV2_API IntentResultEvent& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LEXRUNTIMEV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Indicates whether the input to the operation was text or speech.

*/ inline const InputMode& GetInputMode() const{ return m_inputMode; } /** *

Indicates whether the input to the operation was text or speech.

*/ inline bool InputModeHasBeenSet() const { return m_inputModeHasBeenSet; } /** *

Indicates whether the input to the operation was text or speech.

*/ inline void SetInputMode(const InputMode& value) { m_inputModeHasBeenSet = true; m_inputMode = value; } /** *

Indicates whether the input to the operation was text or speech.

*/ inline void SetInputMode(InputMode&& value) { m_inputModeHasBeenSet = true; m_inputMode = std::move(value); } /** *

Indicates whether the input to the operation was text or speech.

*/ inline IntentResultEvent& WithInputMode(const InputMode& value) { SetInputMode(value); return *this;} /** *

Indicates whether the input to the operation was text or speech.

*/ inline IntentResultEvent& WithInputMode(InputMode&& value) { SetInputMode(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 bool InterpretationsHasBeenSet() const { return m_interpretationsHasBeenSet; } /** *

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_interpretationsHasBeenSet = true; 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_interpretationsHasBeenSet = true; 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 IntentResultEvent& 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 IntentResultEvent& 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 IntentResultEvent& AddInterpretations(const Interpretation& value) { m_interpretationsHasBeenSet = true; 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 IntentResultEvent& AddInterpretations(Interpretation&& value) { m_interpretationsHasBeenSet = true; m_interpretations.push_back(std::move(value)); return *this; } inline const SessionState& GetSessionState() const{ return m_sessionState; } inline bool SessionStateHasBeenSet() const { return m_sessionStateHasBeenSet; } inline void SetSessionState(const SessionState& value) { m_sessionStateHasBeenSet = true; m_sessionState = value; } inline void SetSessionState(SessionState&& value) { m_sessionStateHasBeenSet = true; m_sessionState = std::move(value); } inline IntentResultEvent& WithSessionState(const SessionState& value) { SetSessionState(value); return *this;} inline IntentResultEvent& WithSessionState(SessionState&& value) { SetSessionState(std::move(value)); return *this;} /** *

The attributes sent in the request.

*/ inline const Aws::Map& GetRequestAttributes() const{ return m_requestAttributes; } /** *

The attributes sent in the request.

*/ inline bool RequestAttributesHasBeenSet() const { return m_requestAttributesHasBeenSet; } /** *

The attributes sent in the request.

*/ inline void SetRequestAttributes(const Aws::Map& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes = value; } /** *

The attributes sent in the request.

*/ inline void SetRequestAttributes(Aws::Map&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes = std::move(value); } /** *

The attributes sent in the request.

*/ inline IntentResultEvent& WithRequestAttributes(const Aws::Map& value) { SetRequestAttributes(value); return *this;} /** *

The attributes sent in the request.

*/ inline IntentResultEvent& WithRequestAttributes(Aws::Map&& value) { SetRequestAttributes(std::move(value)); return *this;} /** *

The attributes sent in the request.

*/ inline IntentResultEvent& AddRequestAttributes(const Aws::String& key, const Aws::String& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, value); return *this; } /** *

The attributes sent in the request.

*/ inline IntentResultEvent& AddRequestAttributes(Aws::String&& key, const Aws::String& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(std::move(key), value); return *this; } /** *

The attributes sent in the request.

*/ inline IntentResultEvent& AddRequestAttributes(const Aws::String& key, Aws::String&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, std::move(value)); return *this; } /** *

The attributes sent in the request.

*/ inline IntentResultEvent& AddRequestAttributes(Aws::String&& key, Aws::String&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(std::move(key), std::move(value)); return *this; } /** *

The attributes sent in the request.

*/ inline IntentResultEvent& AddRequestAttributes(const char* key, Aws::String&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, std::move(value)); return *this; } /** *

The attributes sent in the request.

*/ inline IntentResultEvent& AddRequestAttributes(Aws::String&& key, const char* value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(std::move(key), value); return *this; } /** *

The attributes sent in the request.

*/ inline IntentResultEvent& AddRequestAttributes(const char* key, const char* value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, value); return *this; } /** *

The identifier of the session in use.

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

The identifier of the session in use.

*/ inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } /** *

The identifier of the session in use.

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

The identifier of the session in use.

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

The identifier of the session in use.

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

The identifier of the session in use.

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

The identifier of the session in use.

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

The identifier of the session in use.

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

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline const Aws::String& GetEventId() const{ return m_eventId; } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline bool EventIdHasBeenSet() const { return m_eventIdHasBeenSet; } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline void SetEventId(const Aws::String& value) { m_eventIdHasBeenSet = true; m_eventId = value; } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline void SetEventId(Aws::String&& value) { m_eventIdHasBeenSet = true; m_eventId = std::move(value); } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline void SetEventId(const char* value) { m_eventIdHasBeenSet = true; m_eventId.assign(value); } /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline IntentResultEvent& WithEventId(const Aws::String& value) { SetEventId(value); return *this;} /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline IntentResultEvent& WithEventId(Aws::String&& value) { SetEventId(std::move(value)); return *this;} /** *

A unique identifier of the event sent by Amazon Lex V2. The identifier is in * the form RESPONSE-N, where N is a number starting with one and * incremented for each event sent by Amazon Lex V2 in the current session.

*/ inline IntentResultEvent& WithEventId(const char* value) { SetEventId(value); return *this;} /** *

The bot member that is processing the intent.

*/ inline const RecognizedBotMember& GetRecognizedBotMember() const{ return m_recognizedBotMember; } /** *

The bot member that is processing the intent.

*/ inline bool RecognizedBotMemberHasBeenSet() const { return m_recognizedBotMemberHasBeenSet; } /** *

The bot member that is processing the intent.

*/ inline void SetRecognizedBotMember(const RecognizedBotMember& value) { m_recognizedBotMemberHasBeenSet = true; m_recognizedBotMember = value; } /** *

The bot member that is processing the intent.

*/ inline void SetRecognizedBotMember(RecognizedBotMember&& value) { m_recognizedBotMemberHasBeenSet = true; m_recognizedBotMember = std::move(value); } /** *

The bot member that is processing the intent.

*/ inline IntentResultEvent& WithRecognizedBotMember(const RecognizedBotMember& value) { SetRecognizedBotMember(value); return *this;} /** *

The bot member that is processing the intent.

*/ inline IntentResultEvent& WithRecognizedBotMember(RecognizedBotMember&& value) { SetRecognizedBotMember(std::move(value)); return *this;} private: InputMode m_inputMode; bool m_inputModeHasBeenSet = false; Aws::Vector m_interpretations; bool m_interpretationsHasBeenSet = false; SessionState m_sessionState; bool m_sessionStateHasBeenSet = false; Aws::Map m_requestAttributes; bool m_requestAttributesHasBeenSet = false; Aws::String m_sessionId; bool m_sessionIdHasBeenSet = false; Aws::String m_eventId; bool m_eventIdHasBeenSet = false; RecognizedBotMember m_recognizedBotMember; bool m_recognizedBotMemberHasBeenSet = false; }; } // namespace Model } // namespace LexRuntimeV2 } // namespace Aws