/** * 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 LexRuntimeService { namespace Model { /** */ class PutSessionRequest : public LexRuntimeServiceRequest { public: AWS_LEXRUNTIMESERVICE_API PutSessionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutSession"; } AWS_LEXRUNTIMESERVICE_API Aws::String SerializePayload() const override; AWS_LEXRUNTIMESERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the bot that contains the session data.

*/ inline const Aws::String& GetBotName() const{ return m_botName; } /** *

The name of the bot that contains the session data.

*/ inline bool BotNameHasBeenSet() const { return m_botNameHasBeenSet; } /** *

The name of the bot that contains the session data.

*/ inline void SetBotName(const Aws::String& value) { m_botNameHasBeenSet = true; m_botName = value; } /** *

The name of the bot that contains the session data.

*/ inline void SetBotName(Aws::String&& value) { m_botNameHasBeenSet = true; m_botName = std::move(value); } /** *

The name of the bot that contains the session data.

*/ inline void SetBotName(const char* value) { m_botNameHasBeenSet = true; m_botName.assign(value); } /** *

The name of the bot that contains the session data.

*/ inline PutSessionRequest& WithBotName(const Aws::String& value) { SetBotName(value); return *this;} /** *

The name of the bot that contains the session data.

*/ inline PutSessionRequest& WithBotName(Aws::String&& value) { SetBotName(std::move(value)); return *this;} /** *

The name of the bot that contains the session data.

*/ inline PutSessionRequest& WithBotName(const char* value) { SetBotName(value); return *this;} /** *

The alias in use for the bot that contains the session data.

*/ inline const Aws::String& GetBotAlias() const{ return m_botAlias; } /** *

The alias in use for the bot that contains the session data.

*/ inline bool BotAliasHasBeenSet() const { return m_botAliasHasBeenSet; } /** *

The alias in use for the bot that contains the session data.

*/ inline void SetBotAlias(const Aws::String& value) { m_botAliasHasBeenSet = true; m_botAlias = value; } /** *

The alias in use for the bot that contains the session data.

*/ inline void SetBotAlias(Aws::String&& value) { m_botAliasHasBeenSet = true; m_botAlias = std::move(value); } /** *

The alias in use for the bot that contains the session data.

*/ inline void SetBotAlias(const char* value) { m_botAliasHasBeenSet = true; m_botAlias.assign(value); } /** *

The alias in use for the bot that contains the session data.

*/ inline PutSessionRequest& WithBotAlias(const Aws::String& value) { SetBotAlias(value); return *this;} /** *

The alias in use for the bot that contains the session data.

*/ inline PutSessionRequest& WithBotAlias(Aws::String&& value) { SetBotAlias(std::move(value)); return *this;} /** *

The alias in use for the bot that contains the session data.

*/ inline PutSessionRequest& WithBotAlias(const char* value) { SetBotAlias(value); return *this;} /** *

The ID of the client application user. Amazon Lex uses this to identify a * user's conversation with your bot.

*/ inline const Aws::String& GetUserId() const{ return m_userId; } /** *

The ID of the client application user. Amazon Lex uses this to identify a * user's conversation with your bot.

*/ inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } /** *

The ID of the client application user. Amazon Lex uses this to identify a * user's conversation with your bot.

*/ inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } /** *

The ID of the client application user. Amazon Lex uses this to identify a * user's conversation with your bot.

*/ inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } /** *

The ID of the client application user. Amazon Lex uses this to identify a * user's conversation with your bot.

*/ inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } /** *

The ID of the client application user. Amazon Lex uses this to identify a * user's conversation with your bot.

*/ inline PutSessionRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} /** *

The ID of the client application user. Amazon Lex uses this to identify a * user's conversation with your bot.

*/ inline PutSessionRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} /** *

The ID of the client application user. Amazon Lex uses this to identify a * user's conversation with your bot.

*/ inline PutSessionRequest& WithUserId(const char* value) { SetUserId(value); return *this;} /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline const Aws::Map& GetSessionAttributes() const{ return m_sessionAttributes; } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline bool SessionAttributesHasBeenSet() const { return m_sessionAttributesHasBeenSet; } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline void SetSessionAttributes(const Aws::Map& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes = value; } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline void SetSessionAttributes(Aws::Map&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes = std::move(value); } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline PutSessionRequest& WithSessionAttributes(const Aws::Map& value) { SetSessionAttributes(value); return *this;} /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline PutSessionRequest& WithSessionAttributes(Aws::Map&& value) { SetSessionAttributes(std::move(value)); return *this;} /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline PutSessionRequest& AddSessionAttributes(const Aws::String& key, const Aws::String& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, value); return *this; } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline PutSessionRequest& AddSessionAttributes(Aws::String&& key, const Aws::String& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::move(key), value); return *this; } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline PutSessionRequest& AddSessionAttributes(const Aws::String& key, Aws::String&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, std::move(value)); return *this; } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline PutSessionRequest& AddSessionAttributes(Aws::String&& key, Aws::String&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::move(key), std::move(value)); return *this; } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline PutSessionRequest& AddSessionAttributes(const char* key, Aws::String&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, std::move(value)); return *this; } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline PutSessionRequest& AddSessionAttributes(Aws::String&& key, const char* value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::move(key), value); return *this; } /** *

Map of key/value pairs representing the session-specific context information. * It contains application information passed between Amazon Lex and a client * application.

*/ inline PutSessionRequest& AddSessionAttributes(const char* key, const char* value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, value); return *this; } /** *

Sets the next action that the bot should take to fulfill the * conversation.

*/ inline const DialogAction& GetDialogAction() const{ return m_dialogAction; } /** *

Sets the next action that the bot should take to fulfill the * conversation.

*/ inline bool DialogActionHasBeenSet() const { return m_dialogActionHasBeenSet; } /** *

Sets the next action that the bot should take to fulfill the * conversation.

*/ inline void SetDialogAction(const DialogAction& value) { m_dialogActionHasBeenSet = true; m_dialogAction = value; } /** *

Sets the next action that the bot should take to fulfill the * conversation.

*/ inline void SetDialogAction(DialogAction&& value) { m_dialogActionHasBeenSet = true; m_dialogAction = std::move(value); } /** *

Sets the next action that the bot should take to fulfill the * conversation.

*/ inline PutSessionRequest& WithDialogAction(const DialogAction& value) { SetDialogAction(value); return *this;} /** *

Sets the next action that the bot should take to fulfill the * conversation.

*/ inline PutSessionRequest& WithDialogAction(DialogAction&& value) { SetDialogAction(std::move(value)); return *this;} /** *

A summary of the recent intents for the bot. You can use the intent summary * view to set a checkpoint label on an intent and modify attributes of intents. * You can also use it to remove or add intent summary objects to the list.

*

An intent that you modify or add to the list must make sense for the bot. For * example, the intent name must be valid for the bot. You must provide valid * values for:

  • intentName

  • slot * names

  • slotToElict

If you * send the recentIntentSummaryView parameter in a * PutSession request, the contents of the new summary view replaces * the old summary view. For example, if a GetSession request returns * three intents in the summary view and you call PutSession with one * intent in the summary view, the next call to GetSession will only * return one intent.

*/ inline const Aws::Vector& GetRecentIntentSummaryView() const{ return m_recentIntentSummaryView; } /** *

A summary of the recent intents for the bot. You can use the intent summary * view to set a checkpoint label on an intent and modify attributes of intents. * You can also use it to remove or add intent summary objects to the list.

*

An intent that you modify or add to the list must make sense for the bot. For * example, the intent name must be valid for the bot. You must provide valid * values for:

  • intentName

  • slot * names

  • slotToElict

If you * send the recentIntentSummaryView parameter in a * PutSession request, the contents of the new summary view replaces * the old summary view. For example, if a GetSession request returns * three intents in the summary view and you call PutSession with one * intent in the summary view, the next call to GetSession will only * return one intent.

*/ inline bool RecentIntentSummaryViewHasBeenSet() const { return m_recentIntentSummaryViewHasBeenSet; } /** *

A summary of the recent intents for the bot. You can use the intent summary * view to set a checkpoint label on an intent and modify attributes of intents. * You can also use it to remove or add intent summary objects to the list.

*

An intent that you modify or add to the list must make sense for the bot. For * example, the intent name must be valid for the bot. You must provide valid * values for:

  • intentName

  • slot * names

  • slotToElict

If you * send the recentIntentSummaryView parameter in a * PutSession request, the contents of the new summary view replaces * the old summary view. For example, if a GetSession request returns * three intents in the summary view and you call PutSession with one * intent in the summary view, the next call to GetSession will only * return one intent.

*/ inline void SetRecentIntentSummaryView(const Aws::Vector& value) { m_recentIntentSummaryViewHasBeenSet = true; m_recentIntentSummaryView = value; } /** *

A summary of the recent intents for the bot. You can use the intent summary * view to set a checkpoint label on an intent and modify attributes of intents. * You can also use it to remove or add intent summary objects to the list.

*

An intent that you modify or add to the list must make sense for the bot. For * example, the intent name must be valid for the bot. You must provide valid * values for:

  • intentName

  • slot * names

  • slotToElict

If you * send the recentIntentSummaryView parameter in a * PutSession request, the contents of the new summary view replaces * the old summary view. For example, if a GetSession request returns * three intents in the summary view and you call PutSession with one * intent in the summary view, the next call to GetSession will only * return one intent.

*/ inline void SetRecentIntentSummaryView(Aws::Vector&& value) { m_recentIntentSummaryViewHasBeenSet = true; m_recentIntentSummaryView = std::move(value); } /** *

A summary of the recent intents for the bot. You can use the intent summary * view to set a checkpoint label on an intent and modify attributes of intents. * You can also use it to remove or add intent summary objects to the list.

*

An intent that you modify or add to the list must make sense for the bot. For * example, the intent name must be valid for the bot. You must provide valid * values for:

  • intentName

  • slot * names

  • slotToElict

If you * send the recentIntentSummaryView parameter in a * PutSession request, the contents of the new summary view replaces * the old summary view. For example, if a GetSession request returns * three intents in the summary view and you call PutSession with one * intent in the summary view, the next call to GetSession will only * return one intent.

*/ inline PutSessionRequest& WithRecentIntentSummaryView(const Aws::Vector& value) { SetRecentIntentSummaryView(value); return *this;} /** *

A summary of the recent intents for the bot. You can use the intent summary * view to set a checkpoint label on an intent and modify attributes of intents. * You can also use it to remove or add intent summary objects to the list.

*

An intent that you modify or add to the list must make sense for the bot. For * example, the intent name must be valid for the bot. You must provide valid * values for:

  • intentName

  • slot * names

  • slotToElict

If you * send the recentIntentSummaryView parameter in a * PutSession request, the contents of the new summary view replaces * the old summary view. For example, if a GetSession request returns * three intents in the summary view and you call PutSession with one * intent in the summary view, the next call to GetSession will only * return one intent.

*/ inline PutSessionRequest& WithRecentIntentSummaryView(Aws::Vector&& value) { SetRecentIntentSummaryView(std::move(value)); return *this;} /** *

A summary of the recent intents for the bot. You can use the intent summary * view to set a checkpoint label on an intent and modify attributes of intents. * You can also use it to remove or add intent summary objects to the list.

*

An intent that you modify or add to the list must make sense for the bot. For * example, the intent name must be valid for the bot. You must provide valid * values for:

  • intentName

  • slot * names

  • slotToElict

If you * send the recentIntentSummaryView parameter in a * PutSession request, the contents of the new summary view replaces * the old summary view. For example, if a GetSession request returns * three intents in the summary view and you call PutSession with one * intent in the summary view, the next call to GetSession will only * return one intent.

*/ inline PutSessionRequest& AddRecentIntentSummaryView(const IntentSummary& value) { m_recentIntentSummaryViewHasBeenSet = true; m_recentIntentSummaryView.push_back(value); return *this; } /** *

A summary of the recent intents for the bot. You can use the intent summary * view to set a checkpoint label on an intent and modify attributes of intents. * You can also use it to remove or add intent summary objects to the list.

*

An intent that you modify or add to the list must make sense for the bot. For * example, the intent name must be valid for the bot. You must provide valid * values for:

  • intentName

  • slot * names

  • slotToElict

If you * send the recentIntentSummaryView parameter in a * PutSession request, the contents of the new summary view replaces * the old summary view. For example, if a GetSession request returns * three intents in the summary view and you call PutSession with one * intent in the summary view, the next call to GetSession will only * return one intent.

*/ inline PutSessionRequest& AddRecentIntentSummaryView(IntentSummary&& value) { m_recentIntentSummaryViewHasBeenSet = true; m_recentIntentSummaryView.push_back(std::move(value)); return *this; } /** *

The message that Amazon Lex returns in the response can be either text or * speech based depending on the value of this field.

  • If the value * is text/plain; charset=utf-8, Amazon Lex returns text in the * response.

  • If the value begins with audio/, Amazon * Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the * speech in the configuration that you specify. For example, if you specify * audio/mpeg as the value, Amazon Lex returns speech in the MPEG * format.

  • If the value is audio/pcm, the speech is * returned as audio/pcm in 16-bit, little endian format.

  • *
  • The following are the accepted values:

    • * audio/mpeg

    • audio/ogg

    • *
    • audio/pcm

    • audio/ * * (defaults to mpeg)

    • text/plain; charset=utf-8 *

*/ inline const Aws::String& GetAccept() const{ return m_accept; } /** *

The message that Amazon Lex returns in the response can be either text or * speech based depending on the value of this field.

  • If the value * is text/plain; charset=utf-8, Amazon Lex returns text in the * response.

  • If the value begins with audio/, Amazon * Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the * speech in the configuration that you specify. For example, if you specify * audio/mpeg as the value, Amazon Lex returns speech in the MPEG * format.

  • If the value is audio/pcm, the speech is * returned as audio/pcm in 16-bit, little endian format.

  • *
  • The following are the accepted values:

    • * audio/mpeg

    • audio/ogg

    • *
    • audio/pcm

    • audio/ * * (defaults to mpeg)

    • text/plain; charset=utf-8 *

*/ inline bool AcceptHasBeenSet() const { return m_acceptHasBeenSet; } /** *

The message that Amazon Lex returns in the response can be either text or * speech based depending on the value of this field.

  • If the value * is text/plain; charset=utf-8, Amazon Lex returns text in the * response.

  • If the value begins with audio/, Amazon * Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the * speech in the configuration that you specify. For example, if you specify * audio/mpeg as the value, Amazon Lex returns speech in the MPEG * format.

  • If the value is audio/pcm, the speech is * returned as audio/pcm in 16-bit, little endian format.

  • *
  • The following are the accepted values:

    • * audio/mpeg

    • audio/ogg

    • *
    • audio/pcm

    • audio/ * * (defaults to mpeg)

    • text/plain; charset=utf-8 *

*/ inline void SetAccept(const Aws::String& value) { m_acceptHasBeenSet = true; m_accept = value; } /** *

The message that Amazon Lex returns in the response can be either text or * speech based depending on the value of this field.

  • If the value * is text/plain; charset=utf-8, Amazon Lex returns text in the * response.

  • If the value begins with audio/, Amazon * Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the * speech in the configuration that you specify. For example, if you specify * audio/mpeg as the value, Amazon Lex returns speech in the MPEG * format.

  • If the value is audio/pcm, the speech is * returned as audio/pcm in 16-bit, little endian format.

  • *
  • The following are the accepted values:

    • * audio/mpeg

    • audio/ogg

    • *
    • audio/pcm

    • audio/ * * (defaults to mpeg)

    • text/plain; charset=utf-8 *

*/ inline void SetAccept(Aws::String&& value) { m_acceptHasBeenSet = true; m_accept = std::move(value); } /** *

The message that Amazon Lex returns in the response can be either text or * speech based depending on the value of this field.

  • If the value * is text/plain; charset=utf-8, Amazon Lex returns text in the * response.

  • If the value begins with audio/, Amazon * Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the * speech in the configuration that you specify. For example, if you specify * audio/mpeg as the value, Amazon Lex returns speech in the MPEG * format.

  • If the value is audio/pcm, the speech is * returned as audio/pcm in 16-bit, little endian format.

  • *
  • The following are the accepted values:

    • * audio/mpeg

    • audio/ogg

    • *
    • audio/pcm

    • audio/ * * (defaults to mpeg)

    • text/plain; charset=utf-8 *

*/ inline void SetAccept(const char* value) { m_acceptHasBeenSet = true; m_accept.assign(value); } /** *

The message that Amazon Lex returns in the response can be either text or * speech based depending on the value of this field.

  • If the value * is text/plain; charset=utf-8, Amazon Lex returns text in the * response.

  • If the value begins with audio/, Amazon * Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the * speech in the configuration that you specify. For example, if you specify * audio/mpeg as the value, Amazon Lex returns speech in the MPEG * format.

  • If the value is audio/pcm, the speech is * returned as audio/pcm in 16-bit, little endian format.

  • *
  • The following are the accepted values:

    • * audio/mpeg

    • audio/ogg

    • *
    • audio/pcm

    • audio/ * * (defaults to mpeg)

    • text/plain; charset=utf-8 *

*/ inline PutSessionRequest& WithAccept(const Aws::String& value) { SetAccept(value); return *this;} /** *

The message that Amazon Lex returns in the response can be either text or * speech based depending on the value of this field.

  • If the value * is text/plain; charset=utf-8, Amazon Lex returns text in the * response.

  • If the value begins with audio/, Amazon * Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the * speech in the configuration that you specify. For example, if you specify * audio/mpeg as the value, Amazon Lex returns speech in the MPEG * format.

  • If the value is audio/pcm, the speech is * returned as audio/pcm in 16-bit, little endian format.

  • *
  • The following are the accepted values:

    • * audio/mpeg

    • audio/ogg

    • *
    • audio/pcm

    • audio/ * * (defaults to mpeg)

    • text/plain; charset=utf-8 *

*/ inline PutSessionRequest& WithAccept(Aws::String&& value) { SetAccept(std::move(value)); return *this;} /** *

The message that Amazon Lex returns in the response can be either text or * speech based depending on the value of this field.

  • If the value * is text/plain; charset=utf-8, Amazon Lex returns text in the * response.

  • If the value begins with audio/, Amazon * Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the * speech in the configuration that you specify. For example, if you specify * audio/mpeg as the value, Amazon Lex returns speech in the MPEG * format.

  • If the value is audio/pcm, the speech is * returned as audio/pcm in 16-bit, little endian format.

  • *
  • The following are the accepted values:

    • * audio/mpeg

    • audio/ogg

    • *
    • audio/pcm

    • audio/ * * (defaults to mpeg)

    • text/plain; charset=utf-8 *

*/ inline PutSessionRequest& WithAccept(const char* value) { SetAccept(value); return *this;} /** *

A list of contexts active for the request. A context can be activated when a * previous intent is fulfilled, or by including the context in the request,

*

If you don't specify a list of contexts, Amazon Lex will use the current list * of contexts for the session. If you specify an empty list, all contexts for the * session are cleared.

*/ inline const Aws::Vector& GetActiveContexts() const{ return m_activeContexts; } /** *

A list of contexts active for the request. A context can be activated when a * previous intent is fulfilled, or by including the context in the request,

*

If you don't specify a list of contexts, Amazon Lex will use the current list * of contexts for the session. If you specify an empty list, all contexts for the * session are cleared.

*/ inline bool ActiveContextsHasBeenSet() const { return m_activeContextsHasBeenSet; } /** *

A list of contexts active for the request. A context can be activated when a * previous intent is fulfilled, or by including the context in the request,

*

If you don't specify a list of contexts, Amazon Lex will use the current list * of contexts for the session. If you specify an empty list, all contexts for the * session are cleared.

*/ inline void SetActiveContexts(const Aws::Vector& value) { m_activeContextsHasBeenSet = true; m_activeContexts = value; } /** *

A list of contexts active for the request. A context can be activated when a * previous intent is fulfilled, or by including the context in the request,

*

If you don't specify a list of contexts, Amazon Lex will use the current list * of contexts for the session. If you specify an empty list, all contexts for the * session are cleared.

*/ inline void SetActiveContexts(Aws::Vector&& value) { m_activeContextsHasBeenSet = true; m_activeContexts = std::move(value); } /** *

A list of contexts active for the request. A context can be activated when a * previous intent is fulfilled, or by including the context in the request,

*

If you don't specify a list of contexts, Amazon Lex will use the current list * of contexts for the session. If you specify an empty list, all contexts for the * session are cleared.

*/ inline PutSessionRequest& WithActiveContexts(const Aws::Vector& value) { SetActiveContexts(value); return *this;} /** *

A list of contexts active for the request. A context can be activated when a * previous intent is fulfilled, or by including the context in the request,

*

If you don't specify a list of contexts, Amazon Lex will use the current list * of contexts for the session. If you specify an empty list, all contexts for the * session are cleared.

*/ inline PutSessionRequest& WithActiveContexts(Aws::Vector&& value) { SetActiveContexts(std::move(value)); return *this;} /** *

A list of contexts active for the request. A context can be activated when a * previous intent is fulfilled, or by including the context in the request,

*

If you don't specify a list of contexts, Amazon Lex will use the current list * of contexts for the session. If you specify an empty list, all contexts for the * session are cleared.

*/ inline PutSessionRequest& AddActiveContexts(const ActiveContext& value) { m_activeContextsHasBeenSet = true; m_activeContexts.push_back(value); return *this; } /** *

A list of contexts active for the request. A context can be activated when a * previous intent is fulfilled, or by including the context in the request,

*

If you don't specify a list of contexts, Amazon Lex will use the current list * of contexts for the session. If you specify an empty list, all contexts for the * session are cleared.

*/ inline PutSessionRequest& AddActiveContexts(ActiveContext&& value) { m_activeContextsHasBeenSet = true; m_activeContexts.push_back(std::move(value)); return *this; } private: Aws::String m_botName; bool m_botNameHasBeenSet = false; Aws::String m_botAlias; bool m_botAliasHasBeenSet = false; Aws::String m_userId; bool m_userIdHasBeenSet = false; Aws::Map m_sessionAttributes; bool m_sessionAttributesHasBeenSet = false; DialogAction m_dialogAction; bool m_dialogActionHasBeenSet = false; Aws::Vector m_recentIntentSummaryView; bool m_recentIntentSummaryViewHasBeenSet = false; Aws::String m_accept; bool m_acceptHasBeenSet = false; Aws::Vector m_activeContexts; bool m_activeContextsHasBeenSet = false; }; } // namespace Model } // namespace LexRuntimeService } // namespace Aws