1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/lexv2-runtime/LexRuntimeV2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSMap.h> 10 #include <aws/lexv2-runtime/model/IntentState.h> 11 #include <aws/lexv2-runtime/model/ConfirmationState.h> 12 #include <aws/lexv2-runtime/model/Slot.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace LexRuntimeV2 26 { 27 namespace Model 28 { 29 30 /** 31 * <p>The current intent that Amazon Lex V2 is attempting to fulfill.</p><p><h3>See 32 * Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/runtime.lex.v2-2020-08-07/Intent">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_LEXRUNTIMEV2_API Intent 37 { 38 public: 39 Intent(); 40 Intent(Aws::Utils::Json::JsonView jsonValue); 41 Intent& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>The name of the intent.</p> 47 */ GetName()48 inline const Aws::String& GetName() const{ return m_name; } 49 50 /** 51 * <p>The name of the intent.</p> 52 */ NameHasBeenSet()53 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 54 55 /** 56 * <p>The name of the intent.</p> 57 */ SetName(const Aws::String & value)58 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 59 60 /** 61 * <p>The name of the intent.</p> 62 */ SetName(Aws::String && value)63 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 64 65 /** 66 * <p>The name of the intent.</p> 67 */ SetName(const char * value)68 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 69 70 /** 71 * <p>The name of the intent.</p> 72 */ WithName(const Aws::String & value)73 inline Intent& WithName(const Aws::String& value) { SetName(value); return *this;} 74 75 /** 76 * <p>The name of the intent.</p> 77 */ WithName(Aws::String && value)78 inline Intent& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 79 80 /** 81 * <p>The name of the intent.</p> 82 */ WithName(const char * value)83 inline Intent& WithName(const char* value) { SetName(value); return *this;} 84 85 86 /** 87 * <p>A map of all of the slots for the intent. The name of the slot maps to the 88 * value of the slot. If a slot has not been filled, the value is null.</p> 89 */ GetSlots()90 inline const Aws::Map<Aws::String, Slot>& GetSlots() const{ return m_slots; } 91 92 /** 93 * <p>A map of all of the slots for the intent. The name of the slot maps to the 94 * value of the slot. If a slot has not been filled, the value is null.</p> 95 */ SlotsHasBeenSet()96 inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; } 97 98 /** 99 * <p>A map of all of the slots for the intent. The name of the slot maps to the 100 * value of the slot. If a slot has not been filled, the value is null.</p> 101 */ SetSlots(const Aws::Map<Aws::String,Slot> & value)102 inline void SetSlots(const Aws::Map<Aws::String, Slot>& value) { m_slotsHasBeenSet = true; m_slots = value; } 103 104 /** 105 * <p>A map of all of the slots for the intent. The name of the slot maps to the 106 * value of the slot. If a slot has not been filled, the value is null.</p> 107 */ SetSlots(Aws::Map<Aws::String,Slot> && value)108 inline void SetSlots(Aws::Map<Aws::String, Slot>&& value) { m_slotsHasBeenSet = true; m_slots = std::move(value); } 109 110 /** 111 * <p>A map of all of the slots for the intent. The name of the slot maps to the 112 * value of the slot. If a slot has not been filled, the value is null.</p> 113 */ WithSlots(const Aws::Map<Aws::String,Slot> & value)114 inline Intent& WithSlots(const Aws::Map<Aws::String, Slot>& value) { SetSlots(value); return *this;} 115 116 /** 117 * <p>A map of all of the slots for the intent. The name of the slot maps to the 118 * value of the slot. If a slot has not been filled, the value is null.</p> 119 */ WithSlots(Aws::Map<Aws::String,Slot> && value)120 inline Intent& WithSlots(Aws::Map<Aws::String, Slot>&& value) { SetSlots(std::move(value)); return *this;} 121 122 /** 123 * <p>A map of all of the slots for the intent. The name of the slot maps to the 124 * value of the slot. If a slot has not been filled, the value is null.</p> 125 */ AddSlots(const Aws::String & key,const Slot & value)126 inline Intent& AddSlots(const Aws::String& key, const Slot& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, value); return *this; } 127 128 /** 129 * <p>A map of all of the slots for the intent. The name of the slot maps to the 130 * value of the slot. If a slot has not been filled, the value is null.</p> 131 */ AddSlots(Aws::String && key,const Slot & value)132 inline Intent& AddSlots(Aws::String&& key, const Slot& value) { m_slotsHasBeenSet = true; m_slots.emplace(std::move(key), value); return *this; } 133 134 /** 135 * <p>A map of all of the slots for the intent. The name of the slot maps to the 136 * value of the slot. If a slot has not been filled, the value is null.</p> 137 */ AddSlots(const Aws::String & key,Slot && value)138 inline Intent& AddSlots(const Aws::String& key, Slot&& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, std::move(value)); return *this; } 139 140 /** 141 * <p>A map of all of the slots for the intent. The name of the slot maps to the 142 * value of the slot. If a slot has not been filled, the value is null.</p> 143 */ AddSlots(Aws::String && key,Slot && value)144 inline Intent& AddSlots(Aws::String&& key, Slot&& value) { m_slotsHasBeenSet = true; m_slots.emplace(std::move(key), std::move(value)); return *this; } 145 146 /** 147 * <p>A map of all of the slots for the intent. The name of the slot maps to the 148 * value of the slot. If a slot has not been filled, the value is null.</p> 149 */ AddSlots(const char * key,Slot && value)150 inline Intent& AddSlots(const char* key, Slot&& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, std::move(value)); return *this; } 151 152 /** 153 * <p>A map of all of the slots for the intent. The name of the slot maps to the 154 * value of the slot. If a slot has not been filled, the value is null.</p> 155 */ AddSlots(const char * key,const Slot & value)156 inline Intent& AddSlots(const char* key, const Slot& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, value); return *this; } 157 158 159 /** 160 * <p>Contains fulfillment information for the intent. </p> 161 */ GetState()162 inline const IntentState& GetState() const{ return m_state; } 163 164 /** 165 * <p>Contains fulfillment information for the intent. </p> 166 */ StateHasBeenSet()167 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } 168 169 /** 170 * <p>Contains fulfillment information for the intent. </p> 171 */ SetState(const IntentState & value)172 inline void SetState(const IntentState& value) { m_stateHasBeenSet = true; m_state = value; } 173 174 /** 175 * <p>Contains fulfillment information for the intent. </p> 176 */ SetState(IntentState && value)177 inline void SetState(IntentState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } 178 179 /** 180 * <p>Contains fulfillment information for the intent. </p> 181 */ WithState(const IntentState & value)182 inline Intent& WithState(const IntentState& value) { SetState(value); return *this;} 183 184 /** 185 * <p>Contains fulfillment information for the intent. </p> 186 */ WithState(IntentState && value)187 inline Intent& WithState(IntentState&& value) { SetState(std::move(value)); return *this;} 188 189 190 /** 191 * <p>Contains information about whether fulfillment of the intent has been 192 * confirmed.</p> 193 */ GetConfirmationState()194 inline const ConfirmationState& GetConfirmationState() const{ return m_confirmationState; } 195 196 /** 197 * <p>Contains information about whether fulfillment of the intent has been 198 * confirmed.</p> 199 */ ConfirmationStateHasBeenSet()200 inline bool ConfirmationStateHasBeenSet() const { return m_confirmationStateHasBeenSet; } 201 202 /** 203 * <p>Contains information about whether fulfillment of the intent has been 204 * confirmed.</p> 205 */ SetConfirmationState(const ConfirmationState & value)206 inline void SetConfirmationState(const ConfirmationState& value) { m_confirmationStateHasBeenSet = true; m_confirmationState = value; } 207 208 /** 209 * <p>Contains information about whether fulfillment of the intent has been 210 * confirmed.</p> 211 */ SetConfirmationState(ConfirmationState && value)212 inline void SetConfirmationState(ConfirmationState&& value) { m_confirmationStateHasBeenSet = true; m_confirmationState = std::move(value); } 213 214 /** 215 * <p>Contains information about whether fulfillment of the intent has been 216 * confirmed.</p> 217 */ WithConfirmationState(const ConfirmationState & value)218 inline Intent& WithConfirmationState(const ConfirmationState& value) { SetConfirmationState(value); return *this;} 219 220 /** 221 * <p>Contains information about whether fulfillment of the intent has been 222 * confirmed.</p> 223 */ WithConfirmationState(ConfirmationState && value)224 inline Intent& WithConfirmationState(ConfirmationState&& value) { SetConfirmationState(std::move(value)); return *this;} 225 226 private: 227 228 Aws::String m_name; 229 bool m_nameHasBeenSet; 230 231 Aws::Map<Aws::String, Slot> m_slots; 232 bool m_slotsHasBeenSet; 233 234 IntentState m_state; 235 bool m_stateHasBeenSet; 236 237 ConfirmationState m_confirmationState; 238 bool m_confirmationStateHasBeenSet; 239 }; 240 241 } // namespace Model 242 } // namespace LexRuntimeV2 243 } // namespace Aws 244