AWS SDK for C++

AWS SDK for C++ Version 1.11.763

Loading...
Searching...
No Matches
DialogAction.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/lexv2-runtime/LexRuntimeV2_EXPORTS.h>
9#include <aws/lexv2-runtime/model/DialogActionType.h>
10#include <aws/lexv2-runtime/model/ElicitSubSlot.h>
11#include <aws/lexv2-runtime/model/StyleType.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace LexRuntimeV2 {
23namespace Model {
24
31 public:
32 AWS_LEXRUNTIMEV2_API DialogAction() = default;
33 AWS_LEXRUNTIMEV2_API DialogAction(Aws::Utils::Json::JsonView jsonValue);
34 AWS_LEXRUNTIMEV2_API DialogAction& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_LEXRUNTIMEV2_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
51 inline DialogActionType GetType() const { return m_type; }
52 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
53 inline void SetType(DialogActionType value) {
54 m_typeHasBeenSet = true;
55 m_type = value;
56 }
58 SetType(value);
59 return *this;
60 }
62
64
67 inline const Aws::String& GetSlotToElicit() const { return m_slotToElicit; }
68 inline bool SlotToElicitHasBeenSet() const { return m_slotToElicitHasBeenSet; }
69 template <typename SlotToElicitT = Aws::String>
70 void SetSlotToElicit(SlotToElicitT&& value) {
71 m_slotToElicitHasBeenSet = true;
72 m_slotToElicit = std::forward<SlotToElicitT>(value);
73 }
74 template <typename SlotToElicitT = Aws::String>
75 DialogAction& WithSlotToElicit(SlotToElicitT&& value) {
76 SetSlotToElicit(std::forward<SlotToElicitT>(value));
77 return *this;
78 }
80
82
91 inline StyleType GetSlotElicitationStyle() const { return m_slotElicitationStyle; }
92 inline bool SlotElicitationStyleHasBeenSet() const { return m_slotElicitationStyleHasBeenSet; }
94 m_slotElicitationStyleHasBeenSet = true;
95 m_slotElicitationStyle = value;
96 }
99 return *this;
100 }
102
104
108 inline const ElicitSubSlot& GetSubSlotToElicit() const { return m_subSlotToElicit; }
109 inline bool SubSlotToElicitHasBeenSet() const { return m_subSlotToElicitHasBeenSet; }
110 template <typename SubSlotToElicitT = ElicitSubSlot>
111 void SetSubSlotToElicit(SubSlotToElicitT&& value) {
112 m_subSlotToElicitHasBeenSet = true;
113 m_subSlotToElicit = std::forward<SubSlotToElicitT>(value);
114 }
115 template <typename SubSlotToElicitT = ElicitSubSlot>
116 DialogAction& WithSubSlotToElicit(SubSlotToElicitT&& value) {
117 SetSubSlotToElicit(std::forward<SubSlotToElicitT>(value));
118 return *this;
119 }
121 private:
123
124 Aws::String m_slotToElicit;
125
126 StyleType m_slotElicitationStyle{StyleType::NOT_SET};
127
128 ElicitSubSlot m_subSlotToElicit;
129 bool m_typeHasBeenSet = false;
130 bool m_slotToElicitHasBeenSet = false;
131 bool m_slotElicitationStyleHasBeenSet = false;
132 bool m_subSlotToElicitHasBeenSet = false;
133};
134
135} // namespace Model
136} // namespace LexRuntimeV2
137} // namespace Aws
void SetSubSlotToElicit(SubSlotToElicitT &&value)
const ElicitSubSlot & GetSubSlotToElicit() const
AWS_LEXRUNTIMEV2_API Aws::Utils::Json::JsonValue Jsonize() const
DialogAction & WithSlotElicitationStyle(StyleType value)
AWS_LEXRUNTIMEV2_API DialogAction & operator=(Aws::Utils::Json::JsonView jsonValue)
DialogAction & WithSubSlotToElicit(SubSlotToElicitT &&value)
void SetSlotElicitationStyle(StyleType value)
DialogAction & WithSlotToElicit(SlotToElicitT &&value)
DialogAction & WithType(DialogActionType value)
void SetSlotToElicit(SlotToElicitT &&value)
void SetType(DialogActionType value)
AWS_LEXRUNTIMEV2_API DialogAction()=default
const Aws::String & GetSlotToElicit() const
AWS_LEXRUNTIMEV2_API DialogAction(Aws::Utils::Json::JsonView jsonValue)
DialogActionType GetType() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue