/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Provides information about the state of an intent. You can use this
* information to get the current state of an intent so that you can process the
* intent, or so that you can return the intent to its previous
* state.See Also:
AWS
* API Reference
The name of the intent.
*/ inline const Aws::String& GetIntentName() const{ return m_intentName; } /** *The name of the intent.
*/ inline bool IntentNameHasBeenSet() const { return m_intentNameHasBeenSet; } /** *The name of the intent.
*/ inline void SetIntentName(const Aws::String& value) { m_intentNameHasBeenSet = true; m_intentName = value; } /** *The name of the intent.
*/ inline void SetIntentName(Aws::String&& value) { m_intentNameHasBeenSet = true; m_intentName = std::move(value); } /** *The name of the intent.
*/ inline void SetIntentName(const char* value) { m_intentNameHasBeenSet = true; m_intentName.assign(value); } /** *The name of the intent.
*/ inline IntentSummary& WithIntentName(const Aws::String& value) { SetIntentName(value); return *this;} /** *The name of the intent.
*/ inline IntentSummary& WithIntentName(Aws::String&& value) { SetIntentName(std::move(value)); return *this;} /** *The name of the intent.
*/ inline IntentSummary& WithIntentName(const char* value) { SetIntentName(value); return *this;} /** *A user-defined label that identifies a particular intent. You can use this * label to return to a previous intent.
Use the
* checkpointLabelFilter
parameter of the
* GetSessionRequest
operation to filter the intents returned by the
* operation to those with only the specified label.
A user-defined label that identifies a particular intent. You can use this * label to return to a previous intent.
Use the
* checkpointLabelFilter
parameter of the
* GetSessionRequest
operation to filter the intents returned by the
* operation to those with only the specified label.
A user-defined label that identifies a particular intent. You can use this * label to return to a previous intent.
Use the
* checkpointLabelFilter
parameter of the
* GetSessionRequest
operation to filter the intents returned by the
* operation to those with only the specified label.
A user-defined label that identifies a particular intent. You can use this * label to return to a previous intent.
Use the
* checkpointLabelFilter
parameter of the
* GetSessionRequest
operation to filter the intents returned by the
* operation to those with only the specified label.
A user-defined label that identifies a particular intent. You can use this * label to return to a previous intent.
Use the
* checkpointLabelFilter
parameter of the
* GetSessionRequest
operation to filter the intents returned by the
* operation to those with only the specified label.
A user-defined label that identifies a particular intent. You can use this * label to return to a previous intent.
Use the
* checkpointLabelFilter
parameter of the
* GetSessionRequest
operation to filter the intents returned by the
* operation to those with only the specified label.
A user-defined label that identifies a particular intent. You can use this * label to return to a previous intent.
Use the
* checkpointLabelFilter
parameter of the
* GetSessionRequest
operation to filter the intents returned by the
* operation to those with only the specified label.
A user-defined label that identifies a particular intent. You can use this * label to return to a previous intent.
Use the
* checkpointLabelFilter
parameter of the
* GetSessionRequest
operation to filter the intents returned by the
* operation to those with only the specified label.
Map of the slots that have been gathered and their values.
*/ inline const Aws::MapMap of the slots that have been gathered and their values.
*/ inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; } /** *Map of the slots that have been gathered and their values.
*/ inline void SetSlots(const Aws::MapMap of the slots that have been gathered and their values.
*/ inline void SetSlots(Aws::MapMap of the slots that have been gathered and their values.
*/ inline IntentSummary& WithSlots(const Aws::MapMap of the slots that have been gathered and their values.
*/ inline IntentSummary& WithSlots(Aws::MapMap of the slots that have been gathered and their values.
*/ inline IntentSummary& AddSlots(const Aws::String& key, const Aws::String& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, value); return *this; } /** *Map of the slots that have been gathered and their values.
*/ inline IntentSummary& AddSlots(Aws::String&& key, const Aws::String& value) { m_slotsHasBeenSet = true; m_slots.emplace(std::move(key), value); return *this; } /** *Map of the slots that have been gathered and their values.
*/ inline IntentSummary& AddSlots(const Aws::String& key, Aws::String&& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, std::move(value)); return *this; } /** *Map of the slots that have been gathered and their values.
*/ inline IntentSummary& AddSlots(Aws::String&& key, Aws::String&& value) { m_slotsHasBeenSet = true; m_slots.emplace(std::move(key), std::move(value)); return *this; } /** *Map of the slots that have been gathered and their values.
*/ inline IntentSummary& AddSlots(const char* key, Aws::String&& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, std::move(value)); return *this; } /** *Map of the slots that have been gathered and their values.
*/ inline IntentSummary& AddSlots(Aws::String&& key, const char* value) { m_slotsHasBeenSet = true; m_slots.emplace(std::move(key), value); return *this; } /** *Map of the slots that have been gathered and their values.
*/ inline IntentSummary& AddSlots(const char* key, const char* value) { m_slotsHasBeenSet = true; m_slots.emplace(key, value); return *this; } /** *The status of the intent after the user responds to the confirmation prompt.
* If the user confirms the intent, Amazon Lex sets this field to
* Confirmed
. If the user denies the intent, Amazon Lex sets this
* value to Denied
. The possible values are:
* Confirmed
- The user has responded "Yes" to the confirmation
* prompt, confirming that the intent is complete and that it is ready to be
* fulfilled.
Denied
- The user has responded "No"
* to the confirmation prompt.
None
- The user has
* never been prompted for confirmation; or, the user was prompted but did not
* confirm or deny the prompt.
The status of the intent after the user responds to the confirmation prompt.
* If the user confirms the intent, Amazon Lex sets this field to
* Confirmed
. If the user denies the intent, Amazon Lex sets this
* value to Denied
. The possible values are:
* Confirmed
- The user has responded "Yes" to the confirmation
* prompt, confirming that the intent is complete and that it is ready to be
* fulfilled.
Denied
- The user has responded "No"
* to the confirmation prompt.
None
- The user has
* never been prompted for confirmation; or, the user was prompted but did not
* confirm or deny the prompt.
The status of the intent after the user responds to the confirmation prompt.
* If the user confirms the intent, Amazon Lex sets this field to
* Confirmed
. If the user denies the intent, Amazon Lex sets this
* value to Denied
. The possible values are:
* Confirmed
- The user has responded "Yes" to the confirmation
* prompt, confirming that the intent is complete and that it is ready to be
* fulfilled.
Denied
- The user has responded "No"
* to the confirmation prompt.
None
- The user has
* never been prompted for confirmation; or, the user was prompted but did not
* confirm or deny the prompt.
The status of the intent after the user responds to the confirmation prompt.
* If the user confirms the intent, Amazon Lex sets this field to
* Confirmed
. If the user denies the intent, Amazon Lex sets this
* value to Denied
. The possible values are:
* Confirmed
- The user has responded "Yes" to the confirmation
* prompt, confirming that the intent is complete and that it is ready to be
* fulfilled.
Denied
- The user has responded "No"
* to the confirmation prompt.
None
- The user has
* never been prompted for confirmation; or, the user was prompted but did not
* confirm or deny the prompt.
The status of the intent after the user responds to the confirmation prompt.
* If the user confirms the intent, Amazon Lex sets this field to
* Confirmed
. If the user denies the intent, Amazon Lex sets this
* value to Denied
. The possible values are:
* Confirmed
- The user has responded "Yes" to the confirmation
* prompt, confirming that the intent is complete and that it is ready to be
* fulfilled.
Denied
- The user has responded "No"
* to the confirmation prompt.
None
- The user has
* never been prompted for confirmation; or, the user was prompted but did not
* confirm or deny the prompt.
The status of the intent after the user responds to the confirmation prompt.
* If the user confirms the intent, Amazon Lex sets this field to
* Confirmed
. If the user denies the intent, Amazon Lex sets this
* value to Denied
. The possible values are:
* Confirmed
- The user has responded "Yes" to the confirmation
* prompt, confirming that the intent is complete and that it is ready to be
* fulfilled.
Denied
- The user has responded "No"
* to the confirmation prompt.
None
- The user has
* never been prompted for confirmation; or, the user was prompted but did not
* confirm or deny the prompt.
The next action that the bot should take in its interaction with the user. * The possible values are:
ConfirmIntent
- The next
* action is asking the user if the intent is complete and ready to be fulfilled.
* This is a yes/no question such as "Place the order?"
* Close
- Indicates that the there will not be a response from the
* user. For example, the statement "Your order has been placed" does not require a
* response.
ElicitIntent
- The next action is to
* determine the intent that the user wants to fulfill.
* ElicitSlot
- The next action is to elicit a slot value from the
* user.
The next action that the bot should take in its interaction with the user. * The possible values are:
ConfirmIntent
- The next
* action is asking the user if the intent is complete and ready to be fulfilled.
* This is a yes/no question such as "Place the order?"
* Close
- Indicates that the there will not be a response from the
* user. For example, the statement "Your order has been placed" does not require a
* response.
ElicitIntent
- The next action is to
* determine the intent that the user wants to fulfill.
* ElicitSlot
- The next action is to elicit a slot value from the
* user.
The next action that the bot should take in its interaction with the user. * The possible values are:
ConfirmIntent
- The next
* action is asking the user if the intent is complete and ready to be fulfilled.
* This is a yes/no question such as "Place the order?"
* Close
- Indicates that the there will not be a response from the
* user. For example, the statement "Your order has been placed" does not require a
* response.
ElicitIntent
- The next action is to
* determine the intent that the user wants to fulfill.
* ElicitSlot
- The next action is to elicit a slot value from the
* user.
The next action that the bot should take in its interaction with the user. * The possible values are:
ConfirmIntent
- The next
* action is asking the user if the intent is complete and ready to be fulfilled.
* This is a yes/no question such as "Place the order?"
* Close
- Indicates that the there will not be a response from the
* user. For example, the statement "Your order has been placed" does not require a
* response.
ElicitIntent
- The next action is to
* determine the intent that the user wants to fulfill.
* ElicitSlot
- The next action is to elicit a slot value from the
* user.
The next action that the bot should take in its interaction with the user. * The possible values are:
ConfirmIntent
- The next
* action is asking the user if the intent is complete and ready to be fulfilled.
* This is a yes/no question such as "Place the order?"
* Close
- Indicates that the there will not be a response from the
* user. For example, the statement "Your order has been placed" does not require a
* response.
ElicitIntent
- The next action is to
* determine the intent that the user wants to fulfill.
* ElicitSlot
- The next action is to elicit a slot value from the
* user.
The next action that the bot should take in its interaction with the user. * The possible values are:
ConfirmIntent
- The next
* action is asking the user if the intent is complete and ready to be fulfilled.
* This is a yes/no question such as "Place the order?"
* Close
- Indicates that the there will not be a response from the
* user. For example, the statement "Your order has been placed" does not require a
* response.
ElicitIntent
- The next action is to
* determine the intent that the user wants to fulfill.
* ElicitSlot
- The next action is to elicit a slot value from the
* user.
The fulfillment state of the intent. The possible values are:
Failed
- The Lambda function associated with the intent failed
* to fulfill the intent.
Fulfilled
- The intent
* has fulfilled by the Lambda function associated with the intent.
ReadyForFulfillment
- All of the information necessary for the
* intent is present and the intent ready to be fulfilled by the client
* application.
The fulfillment state of the intent. The possible values are:
Failed
- The Lambda function associated with the intent failed
* to fulfill the intent.
Fulfilled
- The intent
* has fulfilled by the Lambda function associated with the intent.
ReadyForFulfillment
- All of the information necessary for the
* intent is present and the intent ready to be fulfilled by the client
* application.
The fulfillment state of the intent. The possible values are:
Failed
- The Lambda function associated with the intent failed
* to fulfill the intent.
Fulfilled
- The intent
* has fulfilled by the Lambda function associated with the intent.
ReadyForFulfillment
- All of the information necessary for the
* intent is present and the intent ready to be fulfilled by the client
* application.
The fulfillment state of the intent. The possible values are:
Failed
- The Lambda function associated with the intent failed
* to fulfill the intent.
Fulfilled
- The intent
* has fulfilled by the Lambda function associated with the intent.
ReadyForFulfillment
- All of the information necessary for the
* intent is present and the intent ready to be fulfilled by the client
* application.
The fulfillment state of the intent. The possible values are:
Failed
- The Lambda function associated with the intent failed
* to fulfill the intent.
Fulfilled
- The intent
* has fulfilled by the Lambda function associated with the intent.
ReadyForFulfillment
- All of the information necessary for the
* intent is present and the intent ready to be fulfilled by the client
* application.
The fulfillment state of the intent. The possible values are:
Failed
- The Lambda function associated with the intent failed
* to fulfill the intent.
Fulfilled
- The intent
* has fulfilled by the Lambda function associated with the intent.
ReadyForFulfillment
- All of the information necessary for the
* intent is present and the intent ready to be fulfilled by the client
* application.
The next slot to elicit from the user. If there is not slot to elicit, the * field is blank.
*/ inline const Aws::String& GetSlotToElicit() const{ return m_slotToElicit; } /** *The next slot to elicit from the user. If there is not slot to elicit, the * field is blank.
*/ inline bool SlotToElicitHasBeenSet() const { return m_slotToElicitHasBeenSet; } /** *The next slot to elicit from the user. If there is not slot to elicit, the * field is blank.
*/ inline void SetSlotToElicit(const Aws::String& value) { m_slotToElicitHasBeenSet = true; m_slotToElicit = value; } /** *The next slot to elicit from the user. If there is not slot to elicit, the * field is blank.
*/ inline void SetSlotToElicit(Aws::String&& value) { m_slotToElicitHasBeenSet = true; m_slotToElicit = std::move(value); } /** *The next slot to elicit from the user. If there is not slot to elicit, the * field is blank.
*/ inline void SetSlotToElicit(const char* value) { m_slotToElicitHasBeenSet = true; m_slotToElicit.assign(value); } /** *The next slot to elicit from the user. If there is not slot to elicit, the * field is blank.
*/ inline IntentSummary& WithSlotToElicit(const Aws::String& value) { SetSlotToElicit(value); return *this;} /** *The next slot to elicit from the user. If there is not slot to elicit, the * field is blank.
*/ inline IntentSummary& WithSlotToElicit(Aws::String&& value) { SetSlotToElicit(std::move(value)); return *this;} /** *The next slot to elicit from the user. If there is not slot to elicit, the * field is blank.
*/ inline IntentSummary& WithSlotToElicit(const char* value) { SetSlotToElicit(value); return *this;} private: Aws::String m_intentName; bool m_intentNameHasBeenSet = false; Aws::String m_checkpointLabel; bool m_checkpointLabelHasBeenSet = false; Aws::Map