AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
DialogAction.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/lex/LexRuntimeService_EXPORTS.h>
10#include <aws/lex/model/DialogActionType.h>
11#include <aws/lex/model/FulfillmentState.h>
12#include <aws/lex/model/MessageFormatType.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace LexRuntimeService {
24namespace Model {
25
36 public:
37 AWS_LEXRUNTIMESERVICE_API DialogAction() = default;
38 AWS_LEXRUNTIMESERVICE_API DialogAction(Aws::Utils::Json::JsonView jsonValue);
39 AWS_LEXRUNTIMESERVICE_API DialogAction& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_LEXRUNTIMESERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
56 inline DialogActionType GetType() const { return m_type; }
57 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
58 inline void SetType(DialogActionType value) {
59 m_typeHasBeenSet = true;
60 m_type = value;
61 }
63 SetType(value);
64 return *this;
65 }
67
69
72 inline const Aws::String& GetIntentName() const { return m_intentName; }
73 inline bool IntentNameHasBeenSet() const { return m_intentNameHasBeenSet; }
74 template <typename IntentNameT = Aws::String>
75 void SetIntentName(IntentNameT&& value) {
76 m_intentNameHasBeenSet = true;
77 m_intentName = std::forward<IntentNameT>(value);
78 }
79 template <typename IntentNameT = Aws::String>
80 DialogAction& WithIntentName(IntentNameT&& value) {
81 SetIntentName(std::forward<IntentNameT>(value));
82 return *this;
83 }
85
87
90 inline const Aws::Map<Aws::String, Aws::String>& GetSlots() const { return m_slots; }
91 inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; }
92 template <typename SlotsT = Aws::Map<Aws::String, Aws::String>>
93 void SetSlots(SlotsT&& value) {
94 m_slotsHasBeenSet = true;
95 m_slots = std::forward<SlotsT>(value);
96 }
97 template <typename SlotsT = Aws::Map<Aws::String, Aws::String>>
98 DialogAction& WithSlots(SlotsT&& value) {
99 SetSlots(std::forward<SlotsT>(value));
100 return *this;
101 }
102 template <typename SlotsKeyT = Aws::String, typename SlotsValueT = Aws::String>
103 DialogAction& AddSlots(SlotsKeyT&& key, SlotsValueT&& value) {
104 m_slotsHasBeenSet = true;
105 m_slots.emplace(std::forward<SlotsKeyT>(key), std::forward<SlotsValueT>(value));
106 return *this;
107 }
109
111
114 inline const Aws::String& GetSlotToElicit() const { return m_slotToElicit; }
115 inline bool SlotToElicitHasBeenSet() const { return m_slotToElicitHasBeenSet; }
116 template <typename SlotToElicitT = Aws::String>
117 void SetSlotToElicit(SlotToElicitT&& value) {
118 m_slotToElicitHasBeenSet = true;
119 m_slotToElicit = std::forward<SlotToElicitT>(value);
120 }
121 template <typename SlotToElicitT = Aws::String>
122 DialogAction& WithSlotToElicit(SlotToElicitT&& value) {
123 SetSlotToElicit(std::forward<SlotToElicitT>(value));
124 return *this;
125 }
127
129
138 inline FulfillmentState GetFulfillmentState() const { return m_fulfillmentState; }
139 inline bool FulfillmentStateHasBeenSet() const { return m_fulfillmentStateHasBeenSet; }
141 m_fulfillmentStateHasBeenSet = true;
142 m_fulfillmentState = value;
143 }
145 SetFulfillmentState(value);
146 return *this;
147 }
149
151
155 inline const Aws::String& GetMessage() const { return m_message; }
156 inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
157 template <typename MessageT = Aws::String>
158 void SetMessage(MessageT&& value) {
159 m_messageHasBeenSet = true;
160 m_message = std::forward<MessageT>(value);
161 }
162 template <typename MessageT = Aws::String>
163 DialogAction& WithMessage(MessageT&& value) {
164 SetMessage(std::forward<MessageT>(value));
165 return *this;
166 }
168
170
180 inline MessageFormatType GetMessageFormat() const { return m_messageFormat; }
181 inline bool MessageFormatHasBeenSet() const { return m_messageFormatHasBeenSet; }
183 m_messageFormatHasBeenSet = true;
184 m_messageFormat = value;
185 }
187 SetMessageFormat(value);
188 return *this;
189 }
191 private:
193
194 Aws::String m_intentName;
195
197
198 Aws::String m_slotToElicit;
199
201
202 Aws::String m_message;
203
205 bool m_typeHasBeenSet = false;
206 bool m_intentNameHasBeenSet = false;
207 bool m_slotsHasBeenSet = false;
208 bool m_slotToElicitHasBeenSet = false;
209 bool m_fulfillmentStateHasBeenSet = false;
210 bool m_messageHasBeenSet = false;
211 bool m_messageFormatHasBeenSet = false;
212};
213
214} // namespace Model
215} // namespace LexRuntimeService
216} // namespace Aws
DialogAction & WithSlotToElicit(SlotToElicitT &&value)
DialogAction & WithMessageFormat(MessageFormatType value)
DialogAction & AddSlots(SlotsKeyT &&key, SlotsValueT &&value)
AWS_LEXRUNTIMESERVICE_API DialogAction(Aws::Utils::Json::JsonView jsonValue)
void SetIntentName(IntentNameT &&value)
DialogAction & WithIntentName(IntentNameT &&value)
void SetMessageFormat(MessageFormatType value)
MessageFormatType GetMessageFormat() const
AWS_LEXRUNTIMESERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Map< Aws::String, Aws::String > & GetSlots() const
AWS_LEXRUNTIMESERVICE_API DialogAction & operator=(Aws::Utils::Json::JsonView jsonValue)
DialogAction & WithType(DialogActionType value)
const Aws::String & GetMessage() const
void SetFulfillmentState(FulfillmentState value)
const Aws::String & GetIntentName() const
const Aws::String & GetSlotToElicit() const
DialogAction & WithFulfillmentState(FulfillmentState value)
void SetSlotToElicit(SlotToElicitT &&value)
FulfillmentState GetFulfillmentState() const
DialogAction & WithSlots(SlotsT &&value)
DialogAction & WithMessage(MessageT &&value)
void SetType(DialogActionType value)
AWS_LEXRUNTIMESERVICE_API DialogAction()=default
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue