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

An object containing information about a specific session.

See * Also:

AWS * API Reference

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

The identifier of the alias of the bot that the session was held with.

*/ inline const Aws::String& GetBotAliasId() const{ return m_botAliasId; } /** *

The identifier of the alias of the bot that the session was held with.

*/ inline bool BotAliasIdHasBeenSet() const { return m_botAliasIdHasBeenSet; } /** *

The identifier of the alias of the bot that the session was held with.

*/ inline void SetBotAliasId(const Aws::String& value) { m_botAliasIdHasBeenSet = true; m_botAliasId = value; } /** *

The identifier of the alias of the bot that the session was held with.

*/ inline void SetBotAliasId(Aws::String&& value) { m_botAliasIdHasBeenSet = true; m_botAliasId = std::move(value); } /** *

The identifier of the alias of the bot that the session was held with.

*/ inline void SetBotAliasId(const char* value) { m_botAliasIdHasBeenSet = true; m_botAliasId.assign(value); } /** *

The identifier of the alias of the bot that the session was held with.

*/ inline SessionSpecification& WithBotAliasId(const Aws::String& value) { SetBotAliasId(value); return *this;} /** *

The identifier of the alias of the bot that the session was held with.

*/ inline SessionSpecification& WithBotAliasId(Aws::String&& value) { SetBotAliasId(std::move(value)); return *this;} /** *

The identifier of the alias of the bot that the session was held with.

*/ inline SessionSpecification& WithBotAliasId(const char* value) { SetBotAliasId(value); return *this;} /** *

The version of the bot that the session was held with.

*/ inline const Aws::String& GetBotVersion() const{ return m_botVersion; } /** *

The version of the bot that the session was held with.

*/ inline bool BotVersionHasBeenSet() const { return m_botVersionHasBeenSet; } /** *

The version of the bot that the session was held with.

*/ inline void SetBotVersion(const Aws::String& value) { m_botVersionHasBeenSet = true; m_botVersion = value; } /** *

The version of the bot that the session was held with.

*/ inline void SetBotVersion(Aws::String&& value) { m_botVersionHasBeenSet = true; m_botVersion = std::move(value); } /** *

The version of the bot that the session was held with.

*/ inline void SetBotVersion(const char* value) { m_botVersionHasBeenSet = true; m_botVersion.assign(value); } /** *

The version of the bot that the session was held with.

*/ inline SessionSpecification& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} /** *

The version of the bot that the session was held with.

*/ inline SessionSpecification& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} /** *

The version of the bot that the session was held with.

*/ inline SessionSpecification& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} /** *

The locale of the bot that the session was held with.

*/ inline const Aws::String& GetLocaleId() const{ return m_localeId; } /** *

The locale of the bot that the session was held with.

*/ inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; } /** *

The locale of the bot that the session was held with.

*/ inline void SetLocaleId(const Aws::String& value) { m_localeIdHasBeenSet = true; m_localeId = value; } /** *

The locale of the bot that the session was held with.

*/ inline void SetLocaleId(Aws::String&& value) { m_localeIdHasBeenSet = true; m_localeId = std::move(value); } /** *

The locale of the bot that the session was held with.

*/ inline void SetLocaleId(const char* value) { m_localeIdHasBeenSet = true; m_localeId.assign(value); } /** *

The locale of the bot that the session was held with.

*/ inline SessionSpecification& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} /** *

The locale of the bot that the session was held with.

*/ inline SessionSpecification& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} /** *

The locale of the bot that the session was held with.

*/ inline SessionSpecification& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} /** *

The channel that is integrated with the bot that the session was held * with.

*/ inline const Aws::String& GetChannel() const{ return m_channel; } /** *

The channel that is integrated with the bot that the session was held * with.

*/ inline bool ChannelHasBeenSet() const { return m_channelHasBeenSet; } /** *

The channel that is integrated with the bot that the session was held * with.

*/ inline void SetChannel(const Aws::String& value) { m_channelHasBeenSet = true; m_channel = value; } /** *

The channel that is integrated with the bot that the session was held * with.

*/ inline void SetChannel(Aws::String&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } /** *

The channel that is integrated with the bot that the session was held * with.

*/ inline void SetChannel(const char* value) { m_channelHasBeenSet = true; m_channel.assign(value); } /** *

The channel that is integrated with the bot that the session was held * with.

*/ inline SessionSpecification& WithChannel(const Aws::String& value) { SetChannel(value); return *this;} /** *

The channel that is integrated with the bot that the session was held * with.

*/ inline SessionSpecification& WithChannel(Aws::String&& value) { SetChannel(std::move(value)); return *this;} /** *

The channel that is integrated with the bot that the session was held * with.

*/ inline SessionSpecification& WithChannel(const char* value) { SetChannel(value); return *this;} /** *

The identifier of the session.

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

The identifier of the session.

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

The identifier of the session.

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

The identifier of the session.

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

The identifier of the session.

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

The identifier of the session.

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

The identifier of the session.

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

The identifier of the session.

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

The date and time when the conversation began. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline const Aws::Utils::DateTime& GetConversationStartTime() const{ return m_conversationStartTime; } /** *

The date and time when the conversation began. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline bool ConversationStartTimeHasBeenSet() const { return m_conversationStartTimeHasBeenSet; } /** *

The date and time when the conversation began. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline void SetConversationStartTime(const Aws::Utils::DateTime& value) { m_conversationStartTimeHasBeenSet = true; m_conversationStartTime = value; } /** *

The date and time when the conversation began. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline void SetConversationStartTime(Aws::Utils::DateTime&& value) { m_conversationStartTimeHasBeenSet = true; m_conversationStartTime = std::move(value); } /** *

The date and time when the conversation began. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline SessionSpecification& WithConversationStartTime(const Aws::Utils::DateTime& value) { SetConversationStartTime(value); return *this;} /** *

The date and time when the conversation began. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline SessionSpecification& WithConversationStartTime(Aws::Utils::DateTime&& value) { SetConversationStartTime(std::move(value)); return *this;} /** *

The date and time when the conversation ended. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline const Aws::Utils::DateTime& GetConversationEndTime() const{ return m_conversationEndTime; } /** *

The date and time when the conversation ended. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline bool ConversationEndTimeHasBeenSet() const { return m_conversationEndTimeHasBeenSet; } /** *

The date and time when the conversation ended. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline void SetConversationEndTime(const Aws::Utils::DateTime& value) { m_conversationEndTimeHasBeenSet = true; m_conversationEndTime = value; } /** *

The date and time when the conversation ended. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline void SetConversationEndTime(Aws::Utils::DateTime&& value) { m_conversationEndTimeHasBeenSet = true; m_conversationEndTime = std::move(value); } /** *

The date and time when the conversation ended. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline SessionSpecification& WithConversationEndTime(const Aws::Utils::DateTime& value) { SetConversationEndTime(value); return *this;} /** *

The date and time when the conversation ended. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline SessionSpecification& WithConversationEndTime(Aws::Utils::DateTime&& value) { SetConversationEndTime(std::move(value)); return *this;} /** *

The duration of the conversation in seconds. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline long long GetConversationDurationSeconds() const{ return m_conversationDurationSeconds; } /** *

The duration of the conversation in seconds. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline bool ConversationDurationSecondsHasBeenSet() const { return m_conversationDurationSecondsHasBeenSet; } /** *

The duration of the conversation in seconds. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline void SetConversationDurationSeconds(long long value) { m_conversationDurationSecondsHasBeenSet = true; m_conversationDurationSeconds = value; } /** *

The duration of the conversation in seconds. A conversation is defined as a * unique combination of a sessionId and an * originatingRequestId.

*/ inline SessionSpecification& WithConversationDurationSeconds(long long value) { SetConversationDurationSeconds(value); return *this;} /** *

The final state of the conversation. A conversation is defined as a unique * combination of a sessionId and an * originatingRequestId.

*/ inline const ConversationEndState& GetConversationEndState() const{ return m_conversationEndState; } /** *

The final state of the conversation. A conversation is defined as a unique * combination of a sessionId and an * originatingRequestId.

*/ inline bool ConversationEndStateHasBeenSet() const { return m_conversationEndStateHasBeenSet; } /** *

The final state of the conversation. A conversation is defined as a unique * combination of a sessionId and an * originatingRequestId.

*/ inline void SetConversationEndState(const ConversationEndState& value) { m_conversationEndStateHasBeenSet = true; m_conversationEndState = value; } /** *

The final state of the conversation. A conversation is defined as a unique * combination of a sessionId and an * originatingRequestId.

*/ inline void SetConversationEndState(ConversationEndState&& value) { m_conversationEndStateHasBeenSet = true; m_conversationEndState = std::move(value); } /** *

The final state of the conversation. A conversation is defined as a unique * combination of a sessionId and an * originatingRequestId.

*/ inline SessionSpecification& WithConversationEndState(const ConversationEndState& value) { SetConversationEndState(value); return *this;} /** *

The final state of the conversation. A conversation is defined as a unique * combination of a sessionId and an * originatingRequestId.

*/ inline SessionSpecification& WithConversationEndState(ConversationEndState&& value) { SetConversationEndState(std::move(value)); return *this;} /** *

The mode of the session. The possible values are as follows:

  • *

    Speech – The session was spoken.

  • * Text – The session was written.

  • * DTMF – The session used a touch-tone keypad (Dual Tone * Multi-Frequency).

  • MultiMode – The session used * multiple modes.

*/ inline const AnalyticsModality& GetMode() const{ return m_mode; } /** *

The mode of the session. The possible values are as follows:

  • *

    Speech – The session was spoken.

  • * Text – The session was written.

  • * DTMF – The session used a touch-tone keypad (Dual Tone * Multi-Frequency).

  • MultiMode – The session used * multiple modes.

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

The mode of the session. The possible values are as follows:

  • *

    Speech – The session was spoken.

  • * Text – The session was written.

  • * DTMF – The session used a touch-tone keypad (Dual Tone * Multi-Frequency).

  • MultiMode – The session used * multiple modes.

*/ inline void SetMode(const AnalyticsModality& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

The mode of the session. The possible values are as follows:

  • *

    Speech – The session was spoken.

  • * Text – The session was written.

  • * DTMF – The session used a touch-tone keypad (Dual Tone * Multi-Frequency).

  • MultiMode – The session used * multiple modes.

*/ inline void SetMode(AnalyticsModality&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

The mode of the session. The possible values are as follows:

  • *

    Speech – The session was spoken.

  • * Text – The session was written.

  • * DTMF – The session used a touch-tone keypad (Dual Tone * Multi-Frequency).

  • MultiMode – The session used * multiple modes.

*/ inline SessionSpecification& WithMode(const AnalyticsModality& value) { SetMode(value); return *this;} /** *

The mode of the session. The possible values are as follows:

  • *

    Speech – The session was spoken.

  • * Text – The session was written.

  • * DTMF – The session used a touch-tone keypad (Dual Tone * Multi-Frequency).

  • MultiMode – The session used * multiple modes.

*/ inline SessionSpecification& WithMode(AnalyticsModality&& value) { SetMode(std::move(value)); return *this;} /** *

The number of turns that the session took.

*/ inline long long GetNumberOfTurns() const{ return m_numberOfTurns; } /** *

The number of turns that the session took.

*/ inline bool NumberOfTurnsHasBeenSet() const { return m_numberOfTurnsHasBeenSet; } /** *

The number of turns that the session took.

*/ inline void SetNumberOfTurns(long long value) { m_numberOfTurnsHasBeenSet = true; m_numberOfTurns = value; } /** *

The number of turns that the session took.

*/ inline SessionSpecification& WithNumberOfTurns(long long value) { SetNumberOfTurns(value); return *this;} /** *

A list of objects containing the name of an intent that was invoked.

*/ inline const Aws::Vector& GetInvokedIntentSamples() const{ return m_invokedIntentSamples; } /** *

A list of objects containing the name of an intent that was invoked.

*/ inline bool InvokedIntentSamplesHasBeenSet() const { return m_invokedIntentSamplesHasBeenSet; } /** *

A list of objects containing the name of an intent that was invoked.

*/ inline void SetInvokedIntentSamples(const Aws::Vector& value) { m_invokedIntentSamplesHasBeenSet = true; m_invokedIntentSamples = value; } /** *

A list of objects containing the name of an intent that was invoked.

*/ inline void SetInvokedIntentSamples(Aws::Vector&& value) { m_invokedIntentSamplesHasBeenSet = true; m_invokedIntentSamples = std::move(value); } /** *

A list of objects containing the name of an intent that was invoked.

*/ inline SessionSpecification& WithInvokedIntentSamples(const Aws::Vector& value) { SetInvokedIntentSamples(value); return *this;} /** *

A list of objects containing the name of an intent that was invoked.

*/ inline SessionSpecification& WithInvokedIntentSamples(Aws::Vector&& value) { SetInvokedIntentSamples(std::move(value)); return *this;} /** *

A list of objects containing the name of an intent that was invoked.

*/ inline SessionSpecification& AddInvokedIntentSamples(const InvokedIntentSample& value) { m_invokedIntentSamplesHasBeenSet = true; m_invokedIntentSamples.push_back(value); return *this; } /** *

A list of objects containing the name of an intent that was invoked.

*/ inline SessionSpecification& AddInvokedIntentSamples(InvokedIntentSample&& value) { m_invokedIntentSamplesHasBeenSet = true; m_invokedIntentSamples.push_back(std::move(value)); return *this; } /** *

The identifier of the first request in a session.

*/ inline const Aws::String& GetOriginatingRequestId() const{ return m_originatingRequestId; } /** *

The identifier of the first request in a session.

*/ inline bool OriginatingRequestIdHasBeenSet() const { return m_originatingRequestIdHasBeenSet; } /** *

The identifier of the first request in a session.

*/ inline void SetOriginatingRequestId(const Aws::String& value) { m_originatingRequestIdHasBeenSet = true; m_originatingRequestId = value; } /** *

The identifier of the first request in a session.

*/ inline void SetOriginatingRequestId(Aws::String&& value) { m_originatingRequestIdHasBeenSet = true; m_originatingRequestId = std::move(value); } /** *

The identifier of the first request in a session.

*/ inline void SetOriginatingRequestId(const char* value) { m_originatingRequestIdHasBeenSet = true; m_originatingRequestId.assign(value); } /** *

The identifier of the first request in a session.

*/ inline SessionSpecification& WithOriginatingRequestId(const Aws::String& value) { SetOriginatingRequestId(value); return *this;} /** *

The identifier of the first request in a session.

*/ inline SessionSpecification& WithOriginatingRequestId(Aws::String&& value) { SetOriginatingRequestId(std::move(value)); return *this;} /** *

The identifier of the first request in a session.

*/ inline SessionSpecification& WithOriginatingRequestId(const char* value) { SetOriginatingRequestId(value); return *this;} private: Aws::String m_botAliasId; bool m_botAliasIdHasBeenSet = false; Aws::String m_botVersion; bool m_botVersionHasBeenSet = false; Aws::String m_localeId; bool m_localeIdHasBeenSet = false; Aws::String m_channel; bool m_channelHasBeenSet = false; Aws::String m_sessionId; bool m_sessionIdHasBeenSet = false; Aws::Utils::DateTime m_conversationStartTime; bool m_conversationStartTimeHasBeenSet = false; Aws::Utils::DateTime m_conversationEndTime; bool m_conversationEndTimeHasBeenSet = false; long long m_conversationDurationSeconds; bool m_conversationDurationSecondsHasBeenSet = false; ConversationEndState m_conversationEndState; bool m_conversationEndStateHasBeenSet = false; AnalyticsModality m_mode; bool m_modeHasBeenSet = false; long long m_numberOfTurns; bool m_numberOfTurnsHasBeenSet = false; Aws::Vector m_invokedIntentSamples; bool m_invokedIntentSamplesHasBeenSet = false; Aws::String m_originatingRequestId; bool m_originatingRequestIdHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws