/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The next action that Amazon Lex V2 should take.See Also:
AWS
* API Reference
The next action that the bot should take in its interaction with the user. * The possible values are:
Close
- Indicates that
* there will not be a response from the user. For example, the statement "Your
* order has been placed" does not require a response.
* 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?"
Delegate
- The next action is determined
* by Amazon Lex V2.
ElicitIntent
- The next action
* is to elicit an intent from the user.
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:
Close
- Indicates that
* there will not be a response from the user. For example, the statement "Your
* order has been placed" does not require a response.
* 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?"
Delegate
- The next action is determined
* by Amazon Lex V2.
ElicitIntent
- The next action
* is to elicit an intent from the user.
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:
Close
- Indicates that
* there will not be a response from the user. For example, the statement "Your
* order has been placed" does not require a response.
* 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?"
Delegate
- The next action is determined
* by Amazon Lex V2.
ElicitIntent
- The next action
* is to elicit an intent from the user.
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:
Close
- Indicates that
* there will not be a response from the user. For example, the statement "Your
* order has been placed" does not require a response.
* 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?"
Delegate
- The next action is determined
* by Amazon Lex V2.
ElicitIntent
- The next action
* is to elicit an intent from the user.
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:
Close
- Indicates that
* there will not be a response from the user. For example, the statement "Your
* order has been placed" does not require a response.
* 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?"
Delegate
- The next action is determined
* by Amazon Lex V2.
ElicitIntent
- The next action
* is to elicit an intent from the user.
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:
Close
- Indicates that
* there will not be a response from the user. For example, the statement "Your
* order has been placed" does not require a response.
* 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?"
Delegate
- The next action is determined
* by Amazon Lex V2.
ElicitIntent
- The next action
* is to elicit an intent from the user.
ElicitSlot
* - The next action is to elicit a slot value from the user.
The name of the slot that should be elicited from the user.
*/ inline const Aws::String& GetSlotToElicit() const{ return m_slotToElicit; } /** *The name of the slot that should be elicited from the user.
*/ inline bool SlotToElicitHasBeenSet() const { return m_slotToElicitHasBeenSet; } /** *The name of the slot that should be elicited from the user.
*/ inline void SetSlotToElicit(const Aws::String& value) { m_slotToElicitHasBeenSet = true; m_slotToElicit = value; } /** *The name of the slot that should be elicited from the user.
*/ inline void SetSlotToElicit(Aws::String&& value) { m_slotToElicitHasBeenSet = true; m_slotToElicit = std::move(value); } /** *The name of the slot that should be elicited from the user.
*/ inline void SetSlotToElicit(const char* value) { m_slotToElicitHasBeenSet = true; m_slotToElicit.assign(value); } /** *The name of the slot that should be elicited from the user.
*/ inline DialogAction& WithSlotToElicit(const Aws::String& value) { SetSlotToElicit(value); return *this;} /** *The name of the slot that should be elicited from the user.
*/ inline DialogAction& WithSlotToElicit(Aws::String&& value) { SetSlotToElicit(std::move(value)); return *this;} /** *The name of the slot that should be elicited from the user.
*/ inline DialogAction& WithSlotToElicit(const char* value) { SetSlotToElicit(value); return *this;} /** *Configures the slot to use spell-by-letter or spell-by-word style. When you * use a style on a slot, users can spell out their input to make it clear to your * bot.
Spell by letter - "b" "o" "b"
Spell by * word - "b as in boy" "o as in oscar" "b as in boy"
For more * information, see Using * spelling to enter slot values .
*/ inline const StyleType& GetSlotElicitationStyle() const{ return m_slotElicitationStyle; } /** *Configures the slot to use spell-by-letter or spell-by-word style. When you * use a style on a slot, users can spell out their input to make it clear to your * bot.
Spell by letter - "b" "o" "b"
Spell by * word - "b as in boy" "o as in oscar" "b as in boy"
For more * information, see Using * spelling to enter slot values .
*/ inline bool SlotElicitationStyleHasBeenSet() const { return m_slotElicitationStyleHasBeenSet; } /** *Configures the slot to use spell-by-letter or spell-by-word style. When you * use a style on a slot, users can spell out their input to make it clear to your * bot.
Spell by letter - "b" "o" "b"
Spell by * word - "b as in boy" "o as in oscar" "b as in boy"
For more * information, see Using * spelling to enter slot values .
*/ inline void SetSlotElicitationStyle(const StyleType& value) { m_slotElicitationStyleHasBeenSet = true; m_slotElicitationStyle = value; } /** *Configures the slot to use spell-by-letter or spell-by-word style. When you * use a style on a slot, users can spell out their input to make it clear to your * bot.
Spell by letter - "b" "o" "b"
Spell by * word - "b as in boy" "o as in oscar" "b as in boy"
For more * information, see Using * spelling to enter slot values .
*/ inline void SetSlotElicitationStyle(StyleType&& value) { m_slotElicitationStyleHasBeenSet = true; m_slotElicitationStyle = std::move(value); } /** *Configures the slot to use spell-by-letter or spell-by-word style. When you * use a style on a slot, users can spell out their input to make it clear to your * bot.
Spell by letter - "b" "o" "b"
Spell by * word - "b as in boy" "o as in oscar" "b as in boy"
For more * information, see Using * spelling to enter slot values .
*/ inline DialogAction& WithSlotElicitationStyle(const StyleType& value) { SetSlotElicitationStyle(value); return *this;} /** *Configures the slot to use spell-by-letter or spell-by-word style. When you * use a style on a slot, users can spell out their input to make it clear to your * bot.
Spell by letter - "b" "o" "b"
Spell by * word - "b as in boy" "o as in oscar" "b as in boy"
For more * information, see Using * spelling to enter slot values .
*/ inline DialogAction& WithSlotElicitationStyle(StyleType&& value) { SetSlotElicitationStyle(std::move(value)); return *this;} /** *The name of the constituent sub slot of the composite slot specified in * slotToElicit that should be elicited from the user.
*/ inline const ElicitSubSlot& GetSubSlotToElicit() const{ return m_subSlotToElicit; } /** *The name of the constituent sub slot of the composite slot specified in * slotToElicit that should be elicited from the user.
*/ inline bool SubSlotToElicitHasBeenSet() const { return m_subSlotToElicitHasBeenSet; } /** *The name of the constituent sub slot of the composite slot specified in * slotToElicit that should be elicited from the user.
*/ inline void SetSubSlotToElicit(const ElicitSubSlot& value) { m_subSlotToElicitHasBeenSet = true; m_subSlotToElicit = value; } /** *The name of the constituent sub slot of the composite slot specified in * slotToElicit that should be elicited from the user.
*/ inline void SetSubSlotToElicit(ElicitSubSlot&& value) { m_subSlotToElicitHasBeenSet = true; m_subSlotToElicit = std::move(value); } /** *The name of the constituent sub slot of the composite slot specified in * slotToElicit that should be elicited from the user.
*/ inline DialogAction& WithSubSlotToElicit(const ElicitSubSlot& value) { SetSubSlotToElicit(value); return *this;} /** *The name of the constituent sub slot of the composite slot specified in * slotToElicit that should be elicited from the user.
*/ inline DialogAction& WithSubSlotToElicit(ElicitSubSlot&& value) { SetSubSlotToElicit(std::move(value)); return *this;} private: DialogActionType m_type; bool m_typeHasBeenSet = false; Aws::String m_slotToElicit; bool m_slotToElicitHasBeenSet = false; StyleType m_slotElicitationStyle; bool m_slotElicitationStyleHasBeenSet = false; ElicitSubSlot m_subSlotToElicit; bool m_subSlotToElicitHasBeenSet = false; }; } // namespace Model } // namespace LexRuntimeV2 } // namespace Aws