AWS SDK for C++

AWS SDK for C++ Version 1.11.763

Loading...
Searching...
No Matches
Intent.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/lexv2-runtime/LexRuntimeV2_EXPORTS.h>
10#include <aws/lexv2-runtime/model/ConfirmationState.h>
11#include <aws/lexv2-runtime/model/IntentState.h>
12#include <aws/lexv2-runtime/model/Slot.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace LexRuntimeV2 {
24namespace Model {
25
32class Intent {
33 public:
34 AWS_LEXRUNTIMEV2_API Intent() = default;
35 AWS_LEXRUNTIMEV2_API Intent(Aws::Utils::Json::JsonView jsonValue);
36 AWS_LEXRUNTIMEV2_API Intent& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_LEXRUNTIMEV2_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const Aws::String& GetName() const { return m_name; }
44 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
45 template <typename NameT = Aws::String>
46 void SetName(NameT&& value) {
47 m_nameHasBeenSet = true;
48 m_name = std::forward<NameT>(value);
49 }
50 template <typename NameT = Aws::String>
51 Intent& WithName(NameT&& value) {
52 SetName(std::forward<NameT>(value));
53 return *this;
54 }
56
58
62 inline const Aws::Map<Aws::String, Slot>& GetSlots() const { return m_slots; }
63 inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; }
64 template <typename SlotsT = Aws::Map<Aws::String, Slot>>
65 void SetSlots(SlotsT&& value) {
66 m_slotsHasBeenSet = true;
67 m_slots = std::forward<SlotsT>(value);
68 }
69 template <typename SlotsT = Aws::Map<Aws::String, Slot>>
70 Intent& WithSlots(SlotsT&& value) {
71 SetSlots(std::forward<SlotsT>(value));
72 return *this;
73 }
74 template <typename SlotsKeyT = Aws::String, typename SlotsValueT = Slot>
75 Intent& AddSlots(SlotsKeyT&& key, SlotsValueT&& value) {
76 m_slotsHasBeenSet = true;
77 m_slots.emplace(std::forward<SlotsKeyT>(key), std::forward<SlotsValueT>(value));
78 return *this;
79 }
81
83
96 inline IntentState GetState() const { return m_state; }
97 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
98 inline void SetState(IntentState value) {
99 m_stateHasBeenSet = true;
100 m_state = value;
101 }
102 inline Intent& WithState(IntentState value) {
103 SetState(value);
104 return *this;
105 }
107
109
114 inline ConfirmationState GetConfirmationState() const { return m_confirmationState; }
115 inline bool ConfirmationStateHasBeenSet() const { return m_confirmationStateHasBeenSet; }
117 m_confirmationStateHasBeenSet = true;
118 m_confirmationState = value;
119 }
122 return *this;
123 }
125 private:
126 Aws::String m_name;
127
129
131
133 bool m_nameHasBeenSet = false;
134 bool m_slotsHasBeenSet = false;
135 bool m_stateHasBeenSet = false;
136 bool m_confirmationStateHasBeenSet = false;
137};
138
139} // namespace Model
140} // namespace LexRuntimeV2
141} // namespace Aws
void SetName(NameT &&value)
Definition Intent.h:46
ConfirmationState GetConfirmationState() const
Definition Intent.h:114
IntentState GetState() const
Definition Intent.h:96
AWS_LEXRUNTIMEV2_API Intent(Aws::Utils::Json::JsonView jsonValue)
AWS_LEXRUNTIMEV2_API Intent()=default
AWS_LEXRUNTIMEV2_API Intent & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetName() const
Definition Intent.h:43
void SetState(IntentState value)
Definition Intent.h:98
Intent & WithName(NameT &&value)
Definition Intent.h:51
Intent & WithConfirmationState(ConfirmationState value)
Definition Intent.h:120
Intent & WithState(IntentState value)
Definition Intent.h:102
void SetSlots(SlotsT &&value)
Definition Intent.h:65
bool ConfirmationStateHasBeenSet() const
Definition Intent.h:115
void SetConfirmationState(ConfirmationState value)
Definition Intent.h:116
Intent & WithSlots(SlotsT &&value)
Definition Intent.h:70
Intent & AddSlots(SlotsKeyT &&key, SlotsValueT &&value)
Definition Intent.h:75
AWS_LEXRUNTIMEV2_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Map< Aws::String, Slot > & GetSlots() const
Definition Intent.h:62
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