/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies the elicitation setting details eliciting a slot.See
* Also:
AWS
* API Reference
A list of default values for a 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 SlotDefaultValueSpecification& GetDefaultValueSpecification() const{ return m_defaultValueSpecification; } /** *A list of default values for a 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 DefaultValueSpecificationHasBeenSet() const { return m_defaultValueSpecificationHasBeenSet; } /** *A list of default values for a 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 SetDefaultValueSpecification(const SlotDefaultValueSpecification& value) { m_defaultValueSpecificationHasBeenSet = true; m_defaultValueSpecification = value; } /** *A list of default values for a 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 SetDefaultValueSpecification(SlotDefaultValueSpecification&& value) { m_defaultValueSpecificationHasBeenSet = true; m_defaultValueSpecification = std::move(value); } /** *A list of default values for a 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 SlotValueElicitationSetting& WithDefaultValueSpecification(const SlotDefaultValueSpecification& value) { SetDefaultValueSpecification(value); return *this;} /** *A list of default values for a 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 SlotValueElicitationSetting& WithDefaultValueSpecification(SlotDefaultValueSpecification&& value) { SetDefaultValueSpecification(std::move(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 SlotValueElicitationSetting& WithSlotConstraint(const SlotConstraint& value) { SetSlotConstraint(value); return *this;} /** *Specifies whether the slot is required or optional.
*/ inline SlotValueElicitationSetting& WithSlotConstraint(SlotConstraint&& value) { SetSlotConstraint(std::move(value)); return *this;} /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline const PromptSpecification& GetPromptSpecification() const{ return m_promptSpecification; } /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline bool PromptSpecificationHasBeenSet() const { return m_promptSpecificationHasBeenSet; } /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline void SetPromptSpecification(const PromptSpecification& value) { m_promptSpecificationHasBeenSet = true; m_promptSpecification = value; } /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline void SetPromptSpecification(PromptSpecification&& value) { m_promptSpecificationHasBeenSet = true; m_promptSpecification = std::move(value); } /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline SlotValueElicitationSetting& WithPromptSpecification(const PromptSpecification& value) { SetPromptSpecification(value); return *this;} /** *The prompt that Amazon Lex uses to elicit the slot value from the user.
*/ inline SlotValueElicitationSetting& WithPromptSpecification(PromptSpecification&& value) { SetPromptSpecification(std::move(value)); return *this;} /** *If you know a specific pattern that 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 that 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 that 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 that 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 that 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 SlotValueElicitationSetting& WithSampleUtterances(const Aws::VectorIf you know a specific pattern that 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 SlotValueElicitationSetting& WithSampleUtterances(Aws::VectorIf you know a specific pattern that 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 SlotValueElicitationSetting& AddSampleUtterances(const SampleUtterance& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances.push_back(value); return *this; } /** *If you know a specific pattern that 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 SlotValueElicitationSetting& AddSampleUtterances(SampleUtterance&& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances.push_back(std::move(value)); return *this; } inline const WaitAndContinueSpecification& GetWaitAndContinueSpecification() const{ return m_waitAndContinueSpecification; } inline bool WaitAndContinueSpecificationHasBeenSet() const { return m_waitAndContinueSpecificationHasBeenSet; } inline void SetWaitAndContinueSpecification(const WaitAndContinueSpecification& value) { m_waitAndContinueSpecificationHasBeenSet = true; m_waitAndContinueSpecification = value; } inline void SetWaitAndContinueSpecification(WaitAndContinueSpecification&& value) { m_waitAndContinueSpecificationHasBeenSet = true; m_waitAndContinueSpecification = std::move(value); } inline SlotValueElicitationSetting& WithWaitAndContinueSpecification(const WaitAndContinueSpecification& value) { SetWaitAndContinueSpecification(value); return *this;} inline SlotValueElicitationSetting& WithWaitAndContinueSpecification(WaitAndContinueSpecification&& value) { SetWaitAndContinueSpecification(std::move(value)); return *this;} /** *Specifies the settings that Amazon Lex uses when a slot value is successfully * entered by a user.
*/ inline const SlotCaptureSetting& GetSlotCaptureSetting() const{ return m_slotCaptureSetting; } /** *Specifies the settings that Amazon Lex uses when a slot value is successfully * entered by a user.
*/ inline bool SlotCaptureSettingHasBeenSet() const { return m_slotCaptureSettingHasBeenSet; } /** *Specifies the settings that Amazon Lex uses when a slot value is successfully * entered by a user.
*/ inline void SetSlotCaptureSetting(const SlotCaptureSetting& value) { m_slotCaptureSettingHasBeenSet = true; m_slotCaptureSetting = value; } /** *Specifies the settings that Amazon Lex uses when a slot value is successfully * entered by a user.
*/ inline void SetSlotCaptureSetting(SlotCaptureSetting&& value) { m_slotCaptureSettingHasBeenSet = true; m_slotCaptureSetting = std::move(value); } /** *Specifies the settings that Amazon Lex uses when a slot value is successfully * entered by a user.
*/ inline SlotValueElicitationSetting& WithSlotCaptureSetting(const SlotCaptureSetting& value) { SetSlotCaptureSetting(value); return *this;} /** *Specifies the settings that Amazon Lex uses when a slot value is successfully * entered by a user.
*/ inline SlotValueElicitationSetting& WithSlotCaptureSetting(SlotCaptureSetting&& value) { SetSlotCaptureSetting(std::move(value)); return *this;} private: SlotDefaultValueSpecification m_defaultValueSpecification; bool m_defaultValueSpecificationHasBeenSet = false; SlotConstraint m_slotConstraint; bool m_slotConstraintHasBeenSet = false; PromptSpecification m_promptSpecification; bool m_promptSpecificationHasBeenSet = false; Aws::Vector