/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Identifies the version of a specific slot.See Also:
AWS API
* Reference
The name of the slot.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the slot.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the slot.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the slot.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the slot.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the slot.
*/ inline Slot& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the slot.
*/ inline Slot& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the slot.
*/ inline Slot& WithName(const char* value) { SetName(value); return *this;} /** *A description of the slot.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the slot.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the slot.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the slot.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the slot.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the slot.
*/ inline Slot& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the slot.
*/ inline Slot& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the slot.
*/ inline Slot& WithDescription(const char* value) { SetDescription(value); return *this;} /** *Specifies whether the slot is required or optional.
*/ inline const SlotConstraint& GetSlotConstraint() const{ return m_slotConstraint; } /** *Specifies whether the slot is required or optional.
*/ inline bool SlotConstraintHasBeenSet() const { return m_slotConstraintHasBeenSet; } /** *Specifies whether the slot is required or optional.
*/ inline void SetSlotConstraint(const SlotConstraint& value) { m_slotConstraintHasBeenSet = true; m_slotConstraint = value; } /** *Specifies whether the slot is required or optional.
*/ inline void SetSlotConstraint(SlotConstraint&& value) { m_slotConstraintHasBeenSet = true; m_slotConstraint = std::move(value); } /** *Specifies whether the slot is required or optional.
*/ inline Slot& WithSlotConstraint(const SlotConstraint& value) { SetSlotConstraint(value); return *this;} /** *Specifies whether the slot is required or optional.
*/ inline Slot& WithSlotConstraint(SlotConstraint&& value) { SetSlotConstraint(std::move(value)); return *this;} /** *The type of the slot, either a custom slot type that you defined or one of * the built-in slot types.
*/ inline const Aws::String& GetSlotType() const{ return m_slotType; } /** *The type of the slot, either a custom slot type that you defined or one of * the built-in slot types.
*/ inline bool SlotTypeHasBeenSet() const { return m_slotTypeHasBeenSet; } /** *The type of the slot, either a custom slot type that you defined or one of * the built-in slot types.
*/ inline void SetSlotType(const Aws::String& value) { m_slotTypeHasBeenSet = true; m_slotType = value; } /** *The type of the slot, either a custom slot type that you defined or one of * the built-in slot types.
*/ inline void SetSlotType(Aws::String&& value) { m_slotTypeHasBeenSet = true; m_slotType = std::move(value); } /** *The type of the slot, either a custom slot type that you defined or one of * the built-in slot types.
*/ inline void SetSlotType(const char* value) { m_slotTypeHasBeenSet = true; m_slotType.assign(value); } /** *The type of the slot, either a custom slot type that you defined or one of * the built-in slot types.
*/ inline Slot& WithSlotType(const Aws::String& value) { SetSlotType(value); return *this;} /** *The type of the slot, either a custom slot type that you defined or one of * the built-in slot types.
*/ inline Slot& WithSlotType(Aws::String&& value) { SetSlotType(std::move(value)); return *this;} /** *The type of the slot, either a custom slot type that you defined or one of * the built-in slot types.
*/ inline Slot& WithSlotType(const char* value) { SetSlotType(value); return *this;} /** *The version of the slot type.
*/ inline const Aws::String& GetSlotTypeVersion() const{ return m_slotTypeVersion; } /** *The version of the slot type.
*/ inline bool SlotTypeVersionHasBeenSet() const { return m_slotTypeVersionHasBeenSet; } /** *The version of the slot type.
*/ inline void SetSlotTypeVersion(const Aws::String& value) { m_slotTypeVersionHasBeenSet = true; m_slotTypeVersion = value; } /** *The version of the slot type.
*/ inline void SetSlotTypeVersion(Aws::String&& value) { m_slotTypeVersionHasBeenSet = true; m_slotTypeVersion = std::move(value); } /** *The version of the slot type.
*/ inline void SetSlotTypeVersion(const char* value) { m_slotTypeVersionHasBeenSet = true; m_slotTypeVersion.assign(value); } /** *The version of the slot type.
*/ inline Slot& WithSlotTypeVersion(const Aws::String& value) { SetSlotTypeVersion(value); return *this;} /** *The version of the slot type.
*/ inline Slot& WithSlotTypeVersion(Aws::String&& value) { SetSlotTypeVersion(std::move(value)); return *this;} /** *The version of the slot type.
*/ inline Slot& WithSlotTypeVersion(const char* value) { SetSlotTypeVersion(value); return *this;} /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline const Prompt& GetValueElicitationPrompt() const{ return m_valueElicitationPrompt; } /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline bool ValueElicitationPromptHasBeenSet() const { return m_valueElicitationPromptHasBeenSet; } /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline void SetValueElicitationPrompt(const Prompt& value) { m_valueElicitationPromptHasBeenSet = true; m_valueElicitationPrompt = value; } /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline void SetValueElicitationPrompt(Prompt&& value) { m_valueElicitationPromptHasBeenSet = true; m_valueElicitationPrompt = std::move(value); } /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline Slot& WithValueElicitationPrompt(const Prompt& value) { SetValueElicitationPrompt(value); return *this;} /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline Slot& WithValueElicitationPrompt(Prompt&& value) { SetValueElicitationPrompt(std::move(value)); return *this;} /** *Directs Amazon Lex the order in which to elicit this slot value from the * user. For example, if the intent has two slots with priorities 1 and 2, AWS * Amazon Lex first elicits a value for the slot with priority 1.
If * multiple slots share the same priority, the order in which Amazon Lex elicits * values is arbitrary.
*/ inline int GetPriority() const{ return m_priority; } /** *Directs Amazon Lex the order in which to elicit this slot value from the * user. For example, if the intent has two slots with priorities 1 and 2, AWS * Amazon Lex first elicits a value for the slot with priority 1.
If * multiple slots share the same priority, the order in which Amazon Lex elicits * values is arbitrary.
*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *Directs Amazon Lex the order in which to elicit this slot value from the * user. For example, if the intent has two slots with priorities 1 and 2, AWS * Amazon Lex first elicits a value for the slot with priority 1.
If * multiple slots share the same priority, the order in which Amazon Lex elicits * values is arbitrary.
*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *Directs Amazon Lex the order in which to elicit this slot value from the * user. For example, if the intent has two slots with priorities 1 and 2, AWS * Amazon Lex first elicits a value for the slot with priority 1.
If * multiple slots share the same priority, the order in which Amazon Lex elicits * values is arbitrary.
*/ inline Slot& WithPriority(int value) { SetPriority(value); return *this;} /** *If you know a specific pattern with which users might respond to an Amazon * Lex request for a slot value, you can provide those utterances to improve * accuracy. This is optional. In most cases, Amazon Lex is capable of * understanding user utterances.
*/ inline const Aws::VectorIf you know a specific pattern with which users might respond to an Amazon * Lex request for a slot value, you can provide those utterances to improve * accuracy. This is optional. In most cases, Amazon Lex is capable of * understanding user utterances.
*/ inline bool SampleUtterancesHasBeenSet() const { return m_sampleUtterancesHasBeenSet; } /** *If you know a specific pattern with which users might respond to an Amazon * Lex request for a slot value, you can provide those utterances to improve * accuracy. This is optional. In most cases, Amazon Lex is capable of * understanding user utterances.
*/ inline void SetSampleUtterances(const Aws::VectorIf you know a specific pattern with which users might respond to an Amazon * Lex request for a slot value, you can provide those utterances to improve * accuracy. This is optional. In most cases, Amazon Lex is capable of * understanding user utterances.
*/ inline void SetSampleUtterances(Aws::VectorIf you know a specific pattern with which users might respond to an Amazon * Lex request for a slot value, you can provide those utterances to improve * accuracy. This is optional. In most cases, Amazon Lex is capable of * understanding user utterances.
*/ inline Slot& WithSampleUtterances(const Aws::VectorIf you know a specific pattern with which users might respond to an Amazon * Lex request for a slot value, you can provide those utterances to improve * accuracy. This is optional. In most cases, Amazon Lex is capable of * understanding user utterances.
*/ inline Slot& WithSampleUtterances(Aws::VectorIf you know a specific pattern with which users might respond to an Amazon * Lex request for a slot value, you can provide those utterances to improve * accuracy. This is optional. In most cases, Amazon Lex is capable of * understanding user utterances.
*/ inline Slot& AddSampleUtterances(const Aws::String& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances.push_back(value); return *this; } /** *If you know a specific pattern with which users might respond to an Amazon * Lex request for a slot value, you can provide those utterances to improve * accuracy. This is optional. In most cases, Amazon Lex is capable of * understanding user utterances.
*/ inline Slot& AddSampleUtterances(Aws::String&& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances.push_back(std::move(value)); return *this; } /** *If you know a specific pattern with which users might respond to an Amazon * Lex request for a slot value, you can provide those utterances to improve * accuracy. This is optional. In most cases, Amazon Lex is capable of * understanding user utterances.
*/ inline Slot& AddSampleUtterances(const char* value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances.push_back(value); return *this; } /** *A set of possible responses for the slot type used by text-based clients. A * user chooses an option from the response card, instead of using text to reply. *
*/ inline const Aws::String& GetResponseCard() const{ return m_responseCard; } /** *A set of possible responses for the slot type used by text-based clients. A * user chooses an option from the response card, instead of using text to reply. *
*/ inline bool ResponseCardHasBeenSet() const { return m_responseCardHasBeenSet; } /** *A set of possible responses for the slot type used by text-based clients. A * user chooses an option from the response card, instead of using text to reply. *
*/ inline void SetResponseCard(const Aws::String& value) { m_responseCardHasBeenSet = true; m_responseCard = value; } /** *A set of possible responses for the slot type used by text-based clients. A * user chooses an option from the response card, instead of using text to reply. *
*/ inline void SetResponseCard(Aws::String&& value) { m_responseCardHasBeenSet = true; m_responseCard = std::move(value); } /** *A set of possible responses for the slot type used by text-based clients. A * user chooses an option from the response card, instead of using text to reply. *
*/ inline void SetResponseCard(const char* value) { m_responseCardHasBeenSet = true; m_responseCard.assign(value); } /** *A set of possible responses for the slot type used by text-based clients. A * user chooses an option from the response card, instead of using text to reply. *
*/ inline Slot& WithResponseCard(const Aws::String& value) { SetResponseCard(value); return *this;} /** *A set of possible responses for the slot type used by text-based clients. A * user chooses an option from the response card, instead of using text to reply. *
*/ inline Slot& WithResponseCard(Aws::String&& value) { SetResponseCard(std::move(value)); return *this;} /** *A set of possible responses for the slot type used by text-based clients. A * user chooses an option from the response card, instead of using text to reply. *
*/ inline Slot& WithResponseCard(const char* value) { SetResponseCard(value); return *this;} /** *Determines whether a slot is obfuscated in conversation logs and stored * utterances. When you obfuscate a slot, the value is replaced by the slot name in * curly braces ({}). For example, if the slot name is "full_name", obfuscated * values are replaced with "{full_name}". For more information, see Slot * Obfuscation .
*/ inline const ObfuscationSetting& GetObfuscationSetting() const{ return m_obfuscationSetting; } /** *Determines whether a slot is obfuscated in conversation logs and stored * utterances. When you obfuscate a slot, the value is replaced by the slot name in * curly braces ({}). For example, if the slot name is "full_name", obfuscated * values are replaced with "{full_name}". For more information, see Slot * Obfuscation .
*/ inline bool ObfuscationSettingHasBeenSet() const { return m_obfuscationSettingHasBeenSet; } /** *Determines whether a slot is obfuscated in conversation logs and stored * utterances. When you obfuscate a slot, the value is replaced by the slot name in * curly braces ({}). For example, if the slot name is "full_name", obfuscated * values are replaced with "{full_name}". For more information, see Slot * Obfuscation .
*/ inline void SetObfuscationSetting(const ObfuscationSetting& value) { m_obfuscationSettingHasBeenSet = true; m_obfuscationSetting = value; } /** *Determines whether a slot is obfuscated in conversation logs and stored * utterances. When you obfuscate a slot, the value is replaced by the slot name in * curly braces ({}). For example, if the slot name is "full_name", obfuscated * values are replaced with "{full_name}". For more information, see Slot * Obfuscation .
*/ inline void SetObfuscationSetting(ObfuscationSetting&& value) { m_obfuscationSettingHasBeenSet = true; m_obfuscationSetting = std::move(value); } /** *Determines whether a slot is obfuscated in conversation logs and stored * utterances. When you obfuscate a slot, the value is replaced by the slot name in * curly braces ({}). For example, if the slot name is "full_name", obfuscated * values are replaced with "{full_name}". For more information, see Slot * Obfuscation .
*/ inline Slot& WithObfuscationSetting(const ObfuscationSetting& value) { SetObfuscationSetting(value); return *this;} /** *Determines whether a slot is obfuscated in conversation logs and stored * utterances. When you obfuscate a slot, the value is replaced by the slot name in * curly braces ({}). For example, if the slot name is "full_name", obfuscated * values are replaced with "{full_name}". For more information, see Slot * Obfuscation .
*/ inline Slot& WithObfuscationSetting(ObfuscationSetting&& value) { SetObfuscationSetting(std::move(value)); return *this;} /** *A list of default values for the slot. Default values are used when Amazon * Lex hasn't determined a value for a slot. You can specify default values from * context variables, session attributes, and defined values.
*/ inline const SlotDefaultValueSpec& GetDefaultValueSpec() const{ return m_defaultValueSpec; } /** *A list of default values for the slot. Default values are used when Amazon * Lex hasn't determined a value for a slot. You can specify default values from * context variables, session attributes, and defined values.
*/ inline bool DefaultValueSpecHasBeenSet() const { return m_defaultValueSpecHasBeenSet; } /** *A list of default values for the slot. Default values are used when Amazon * Lex hasn't determined a value for a slot. You can specify default values from * context variables, session attributes, and defined values.
*/ inline void SetDefaultValueSpec(const SlotDefaultValueSpec& value) { m_defaultValueSpecHasBeenSet = true; m_defaultValueSpec = value; } /** *A list of default values for the slot. Default values are used when Amazon * Lex hasn't determined a value for a slot. You can specify default values from * context variables, session attributes, and defined values.
*/ inline void SetDefaultValueSpec(SlotDefaultValueSpec&& value) { m_defaultValueSpecHasBeenSet = true; m_defaultValueSpec = std::move(value); } /** *A list of default values for the slot. Default values are used when Amazon * Lex hasn't determined a value for a slot. You can specify default values from * context variables, session attributes, and defined values.
*/ inline Slot& WithDefaultValueSpec(const SlotDefaultValueSpec& value) { SetDefaultValueSpec(value); return *this;} /** *A list of default values for the slot. Default values are used when Amazon * Lex hasn't determined a value for a slot. You can specify default values from * context variables, session attributes, and defined values.
*/ inline Slot& WithDefaultValueSpec(SlotDefaultValueSpec&& value) { SetDefaultValueSpec(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; SlotConstraint m_slotConstraint; bool m_slotConstraintHasBeenSet = false; Aws::String m_slotType; bool m_slotTypeHasBeenSet = false; Aws::String m_slotTypeVersion; bool m_slotTypeVersionHasBeenSet = false; Prompt m_valueElicitationPrompt; bool m_valueElicitationPromptHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; Aws::Vector