/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LexModelsV2 { namespace Model { /** *

The slot values that Amazon Lex uses when it sets slot values in a dialog * step.

See Also:

AWS * API Reference

*/ class SlotValueOverride { public: AWS_LEXMODELSV2_API SlotValueOverride(); AWS_LEXMODELSV2_API SlotValueOverride(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API SlotValueOverride& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

When the shape value is List, it indicates that the * values field contains a list of slot values. When the value is * Scalar, it indicates that the value field contains a * single value.

*/ inline const SlotShape& GetShape() const{ return m_shape; } /** *

When the shape value is List, it indicates that the * values field contains a list of slot values. When the value is * Scalar, it indicates that the value field contains a * single value.

*/ inline bool ShapeHasBeenSet() const { return m_shapeHasBeenSet; } /** *

When the shape value is List, it indicates that the * values field contains a list of slot values. When the value is * Scalar, it indicates that the value field contains a * single value.

*/ inline void SetShape(const SlotShape& value) { m_shapeHasBeenSet = true; m_shape = value; } /** *

When the shape value is List, it indicates that the * values field contains a list of slot values. When the value is * Scalar, it indicates that the value field contains a * single value.

*/ inline void SetShape(SlotShape&& value) { m_shapeHasBeenSet = true; m_shape = std::move(value); } /** *

When the shape value is List, it indicates that the * values field contains a list of slot values. When the value is * Scalar, it indicates that the value field contains a * single value.

*/ inline SlotValueOverride& WithShape(const SlotShape& value) { SetShape(value); return *this;} /** *

When the shape value is List, it indicates that the * values field contains a list of slot values. When the value is * Scalar, it indicates that the value field contains a * single value.

*/ inline SlotValueOverride& WithShape(SlotShape&& value) { SetShape(std::move(value)); return *this;} /** *

The current value of the slot.

*/ inline const SlotValue& GetValue() const{ return m_value; } /** *

The current value of the slot.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The current value of the slot.

*/ inline void SetValue(const SlotValue& value) { m_valueHasBeenSet = true; m_value = value; } /** *

The current value of the slot.

*/ inline void SetValue(SlotValue&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

The current value of the slot.

*/ inline SlotValueOverride& WithValue(const SlotValue& value) { SetValue(value); return *this;} /** *

The current value of the slot.

*/ inline SlotValueOverride& WithValue(SlotValue&& value) { SetValue(std::move(value)); return *this;} /** *

A list of one or more values that the user provided for the slot. For * example, for a slot that elicits pizza toppings, the values might be "pepperoni" * and "pineapple."

*/ inline const Aws::Vector& GetValues() const{ return m_values; } /** *

A list of one or more values that the user provided for the slot. For * example, for a slot that elicits pizza toppings, the values might be "pepperoni" * and "pineapple."

*/ inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } /** *

A list of one or more values that the user provided for the slot. For * example, for a slot that elicits pizza toppings, the values might be "pepperoni" * and "pineapple."

*/ inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } /** *

A list of one or more values that the user provided for the slot. For * example, for a slot that elicits pizza toppings, the values might be "pepperoni" * and "pineapple."

*/ inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } /** *

A list of one or more values that the user provided for the slot. For * example, for a slot that elicits pizza toppings, the values might be "pepperoni" * and "pineapple."

*/ inline SlotValueOverride& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} /** *

A list of one or more values that the user provided for the slot. For * example, for a slot that elicits pizza toppings, the values might be "pepperoni" * and "pineapple."

*/ inline SlotValueOverride& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} /** *

A list of one or more values that the user provided for the slot. For * example, for a slot that elicits pizza toppings, the values might be "pepperoni" * and "pineapple."

*/ inline SlotValueOverride& AddValues(const SlotValueOverride& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** *

A list of one or more values that the user provided for the slot. For * example, for a slot that elicits pizza toppings, the values might be "pepperoni" * and "pineapple."

*/ inline SlotValueOverride& AddValues(SlotValueOverride&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } private: SlotShape m_shape; bool m_shapeHasBeenSet = false; SlotValue m_value; bool m_valueHasBeenSet = false; Aws::Vector m_values; bool m_valuesHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws