AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
DialogAction.h
1
6#pragma once
7#include <aws/lex/LexRuntimeService_EXPORTS.h>
8#include <aws/lex/model/DialogActionType.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/lex/model/FulfillmentState.h>
12#include <aws/lex/model/MessageFormatType.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace LexRuntimeService
26{
27namespace Model
28{
29
40 {
41 public:
42 AWS_LEXRUNTIMESERVICE_API DialogAction() = default;
43 AWS_LEXRUNTIMESERVICE_API DialogAction(Aws::Utils::Json::JsonView jsonValue);
44 AWS_LEXRUNTIMESERVICE_API DialogAction& operator=(Aws::Utils::Json::JsonView jsonValue);
45 AWS_LEXRUNTIMESERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
62 inline DialogActionType GetType() const { return m_type; }
63 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
64 inline void SetType(DialogActionType value) { m_typeHasBeenSet = true; m_type = value; }
65 inline DialogAction& WithType(DialogActionType value) { SetType(value); return *this;}
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) { m_intentNameHasBeenSet = true; m_intentName = std::forward<IntentNameT>(value); }
76 template<typename IntentNameT = Aws::String>
77 DialogAction& WithIntentName(IntentNameT&& value) { SetIntentName(std::forward<IntentNameT>(value)); return *this;}
79
81
84 inline const Aws::Map<Aws::String, Aws::String>& GetSlots() const { return m_slots; }
85 inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; }
86 template<typename SlotsT = Aws::Map<Aws::String, Aws::String>>
87 void SetSlots(SlotsT&& value) { m_slotsHasBeenSet = true; m_slots = std::forward<SlotsT>(value); }
88 template<typename SlotsT = Aws::Map<Aws::String, Aws::String>>
89 DialogAction& WithSlots(SlotsT&& value) { SetSlots(std::forward<SlotsT>(value)); return *this;}
90 template<typename SlotsKeyT = Aws::String, typename SlotsValueT = Aws::String>
91 DialogAction& AddSlots(SlotsKeyT&& key, SlotsValueT&& value) {
92 m_slotsHasBeenSet = true; m_slots.emplace(std::forward<SlotsKeyT>(key), std::forward<SlotsValueT>(value)); return *this;
93 }
95
97
100 inline const Aws::String& GetSlotToElicit() const { return m_slotToElicit; }
101 inline bool SlotToElicitHasBeenSet() const { return m_slotToElicitHasBeenSet; }
102 template<typename SlotToElicitT = Aws::String>
103 void SetSlotToElicit(SlotToElicitT&& value) { m_slotToElicitHasBeenSet = true; m_slotToElicit = std::forward<SlotToElicitT>(value); }
104 template<typename SlotToElicitT = Aws::String>
105 DialogAction& WithSlotToElicit(SlotToElicitT&& value) { SetSlotToElicit(std::forward<SlotToElicitT>(value)); return *this;}
107
109
118 inline FulfillmentState GetFulfillmentState() const { return m_fulfillmentState; }
119 inline bool FulfillmentStateHasBeenSet() const { return m_fulfillmentStateHasBeenSet; }
120 inline void SetFulfillmentState(FulfillmentState value) { m_fulfillmentStateHasBeenSet = true; m_fulfillmentState = value; }
123
125
129 inline const Aws::String& GetMessage() const { return m_message; }
130 inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
131 template<typename MessageT = Aws::String>
132 void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward<MessageT>(value); }
133 template<typename MessageT = Aws::String>
134 DialogAction& WithMessage(MessageT&& value) { SetMessage(std::forward<MessageT>(value)); return *this;}
136
138
148 inline MessageFormatType GetMessageFormat() const { return m_messageFormat; }
149 inline bool MessageFormatHasBeenSet() const { return m_messageFormatHasBeenSet; }
150 inline void SetMessageFormat(MessageFormatType value) { m_messageFormatHasBeenSet = true; m_messageFormat = value; }
151 inline DialogAction& WithMessageFormat(MessageFormatType value) { SetMessageFormat(value); return *this;}
153 private:
154
156 bool m_typeHasBeenSet = false;
157
158 Aws::String m_intentName;
159 bool m_intentNameHasBeenSet = false;
160
162 bool m_slotsHasBeenSet = false;
163
164 Aws::String m_slotToElicit;
165 bool m_slotToElicitHasBeenSet = false;
166
168 bool m_fulfillmentStateHasBeenSet = false;
169
170 Aws::String m_message;
171 bool m_messageHasBeenSet = false;
172
174 bool m_messageFormatHasBeenSet = false;
175 };
176
177} // namespace Model
178} // namespace LexRuntimeService
179} // 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