7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/lexv2-runtime/LexRuntimeV2_EXPORTS.h>
11#include <aws/lexv2-runtime/model/Shape.h>
12#include <aws/lexv2-runtime/model/Value.h>
23namespace LexRuntimeV2 {
34 AWS_LEXRUNTIMEV2_API
Slot() =
default;
45 template <
typename ValueT = Value>
47 m_valueHasBeenSet =
true;
48 m_value = std::forward<ValueT>(value);
50 template <
typename ValueT = Value>
52 SetValue(std::forward<ValueT>(value));
67 m_shapeHasBeenSet =
true;
84 template <
typename ValuesT = Aws::Vector<Slot>>
86 m_valuesHasBeenSet =
true;
87 m_values = std::forward<ValuesT>(value);
89 template <
typename ValuesT = Aws::Vector<Slot>>
94 template <
typename ValuesT = Slot>
96 m_valuesHasBeenSet =
true;
97 m_values.emplace_back(std::forward<ValuesT>(value));
108 template <
typename SubSlotsT = Aws::Map<Aws::String, Slot>>
110 m_subSlotsHasBeenSet =
true;
111 m_subSlots = std::forward<SubSlotsT>(value);
113 template <
typename SubSlotsT = Aws::Map<Aws::String, Slot>>
118 template <
typename SubSlotsKeyT = Aws::String,
typename SubSlotsValueT = Slot>
120 m_subSlotsHasBeenSet =
true;
121 m_subSlots.emplace(std::forward<SubSlotsKeyT>(key), std::forward<SubSlotsValueT>(value));
133 bool m_valueHasBeenSet =
false;
134 bool m_shapeHasBeenSet =
false;
135 bool m_valuesHasBeenSet =
false;
136 bool m_subSlotsHasBeenSet =
false;
bool SubSlotsHasBeenSet() const
Slot & WithValue(ValueT &&value)
const Value & GetValue() const
AWS_LEXRUNTIMEV2_API Slot & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetValues(ValuesT &&value)
AWS_LEXRUNTIMEV2_API Aws::Utils::Json::JsonValue Jsonize() const
bool ShapeHasBeenSet() const
void SetShape(Shape value)
const Aws::Vector< Slot > & GetValues() const
Slot & AddSubSlots(SubSlotsKeyT &&key, SubSlotsValueT &&value)
bool ValueHasBeenSet() const
Slot & WithValues(ValuesT &&value)
AWS_LEXRUNTIMEV2_API Slot(Aws::Utils::Json::JsonView jsonValue)
bool ValuesHasBeenSet() const
void SetSubSlots(SubSlotsT &&value)
Slot & WithSubSlots(SubSlotsT &&value)
void SetValue(ValueT &&value)
Slot & AddValues(ValuesT &&value)
AWS_LEXRUNTIMEV2_API Slot()=default
const Aws::Map< Aws::String, Slot > & GetSubSlots() const
Slot & WithShape(Shape value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue