AWS SDK for C++

AWS SDK for C++ Version 1.11.758

Loading...
Searching...
No Matches
SubSlotValueElicitationSetting.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/lexv2-models/LexModelsV2_EXPORTS.h>
9#include <aws/lexv2-models/model/PromptSpecification.h>
10#include <aws/lexv2-models/model/SampleUtterance.h>
11#include <aws/lexv2-models/model/SlotDefaultValueSpecification.h>
12#include <aws/lexv2-models/model/WaitAndContinueSpecification.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace LexModelsV2 {
24namespace Model {
25
39 public:
40 AWS_LEXMODELSV2_API SubSlotValueElicitationSetting() = default;
43 AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const;
44
46
47 inline const SlotDefaultValueSpecification& GetDefaultValueSpecification() const { return m_defaultValueSpecification; }
48 inline bool DefaultValueSpecificationHasBeenSet() const { return m_defaultValueSpecificationHasBeenSet; }
49 template <typename DefaultValueSpecificationT = SlotDefaultValueSpecification>
50 void SetDefaultValueSpecification(DefaultValueSpecificationT&& value) {
51 m_defaultValueSpecificationHasBeenSet = true;
52 m_defaultValueSpecification = std::forward<DefaultValueSpecificationT>(value);
53 }
54 template <typename DefaultValueSpecificationT = SlotDefaultValueSpecification>
56 SetDefaultValueSpecification(std::forward<DefaultValueSpecificationT>(value));
57 return *this;
58 }
60
62
63 inline const PromptSpecification& GetPromptSpecification() const { return m_promptSpecification; }
64 inline bool PromptSpecificationHasBeenSet() const { return m_promptSpecificationHasBeenSet; }
65 template <typename PromptSpecificationT = PromptSpecification>
66 void SetPromptSpecification(PromptSpecificationT&& value) {
67 m_promptSpecificationHasBeenSet = true;
68 m_promptSpecification = std::forward<PromptSpecificationT>(value);
69 }
70 template <typename PromptSpecificationT = PromptSpecification>
72 SetPromptSpecification(std::forward<PromptSpecificationT>(value));
73 return *this;
74 }
76
78
84 inline const Aws::Vector<SampleUtterance>& GetSampleUtterances() const { return m_sampleUtterances; }
85 inline bool SampleUtterancesHasBeenSet() const { return m_sampleUtterancesHasBeenSet; }
86 template <typename SampleUtterancesT = Aws::Vector<SampleUtterance>>
87 void SetSampleUtterances(SampleUtterancesT&& value) {
88 m_sampleUtterancesHasBeenSet = true;
89 m_sampleUtterances = std::forward<SampleUtterancesT>(value);
90 }
91 template <typename SampleUtterancesT = Aws::Vector<SampleUtterance>>
93 SetSampleUtterances(std::forward<SampleUtterancesT>(value));
94 return *this;
95 }
96 template <typename SampleUtterancesT = SampleUtterance>
98 m_sampleUtterancesHasBeenSet = true;
99 m_sampleUtterances.emplace_back(std::forward<SampleUtterancesT>(value));
100 return *this;
101 }
103
105
106 inline const WaitAndContinueSpecification& GetWaitAndContinueSpecification() const { return m_waitAndContinueSpecification; }
107 inline bool WaitAndContinueSpecificationHasBeenSet() const { return m_waitAndContinueSpecificationHasBeenSet; }
108 template <typename WaitAndContinueSpecificationT = WaitAndContinueSpecification>
109 void SetWaitAndContinueSpecification(WaitAndContinueSpecificationT&& value) {
110 m_waitAndContinueSpecificationHasBeenSet = true;
111 m_waitAndContinueSpecification = std::forward<WaitAndContinueSpecificationT>(value);
112 }
113 template <typename WaitAndContinueSpecificationT = WaitAndContinueSpecification>
114 SubSlotValueElicitationSetting& WithWaitAndContinueSpecification(WaitAndContinueSpecificationT&& value) {
115 SetWaitAndContinueSpecification(std::forward<WaitAndContinueSpecificationT>(value));
116 return *this;
117 }
119 private:
120 SlotDefaultValueSpecification m_defaultValueSpecification;
121
122 PromptSpecification m_promptSpecification;
123
124 Aws::Vector<SampleUtterance> m_sampleUtterances;
125
126 WaitAndContinueSpecification m_waitAndContinueSpecification;
127 bool m_defaultValueSpecificationHasBeenSet = false;
128 bool m_promptSpecificationHasBeenSet = false;
129 bool m_sampleUtterancesHasBeenSet = false;
130 bool m_waitAndContinueSpecificationHasBeenSet = false;
131};
132
133} // namespace Model
134} // namespace LexModelsV2
135} // namespace Aws
const SlotDefaultValueSpecification & GetDefaultValueSpecification() const
SubSlotValueElicitationSetting & WithDefaultValueSpecification(DefaultValueSpecificationT &&value)
SubSlotValueElicitationSetting & WithWaitAndContinueSpecification(WaitAndContinueSpecificationT &&value)
SubSlotValueElicitationSetting & WithPromptSpecification(PromptSpecificationT &&value)
void SetWaitAndContinueSpecification(WaitAndContinueSpecificationT &&value)
SubSlotValueElicitationSetting & WithSampleUtterances(SampleUtterancesT &&value)
SubSlotValueElicitationSetting & AddSampleUtterances(SampleUtterancesT &&value)
AWS_LEXMODELSV2_API SubSlotValueElicitationSetting()=default
AWS_LEXMODELSV2_API SubSlotValueElicitationSetting(Aws::Utils::Json::JsonView jsonValue)
AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const
void SetDefaultValueSpecification(DefaultValueSpecificationT &&value)
const WaitAndContinueSpecification & GetWaitAndContinueSpecification() const
AWS_LEXMODELSV2_API SubSlotValueElicitationSetting & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< SampleUtterance > & GetSampleUtterances() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue