/** * 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 { /** *

Contains information about a slot output by the test set * execution.

See Also:

AWS * API Reference

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

The value output by the slot recognition.

*/ inline const Aws::String& GetValue() const{ return m_value; } /** *

The value output by the slot recognition.

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

The value output by the slot recognition.

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

The value output by the slot recognition.

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

The value output by the slot recognition.

*/ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** *

The value output by the slot recognition.

*/ inline UserTurnSlotOutput& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** *

The value output by the slot recognition.

*/ inline UserTurnSlotOutput& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** *

The value output by the slot recognition.

*/ inline UserTurnSlotOutput& WithValue(const char* value) { SetValue(value); return *this;} /** *

Values that are output by the slot recognition.

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

Values that are output by the slot recognition.

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

Values that are output by the slot recognition.

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

Values that are output by the slot recognition.

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

Values that are output by the slot recognition.

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

Values that are output by the slot recognition.

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

Values that are output by the slot recognition.

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

Values that are output by the slot recognition.

*/ inline UserTurnSlotOutput& AddValues(UserTurnSlotOutput&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline const Aws::Map& GetSubSlots() const{ return m_subSlots; } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline bool SubSlotsHasBeenSet() const { return m_subSlotsHasBeenSet; } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline void SetSubSlots(const Aws::Map& value) { m_subSlotsHasBeenSet = true; m_subSlots = value; } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline void SetSubSlots(Aws::Map&& value) { m_subSlotsHasBeenSet = true; m_subSlots = std::move(value); } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline UserTurnSlotOutput& WithSubSlots(const Aws::Map& value) { SetSubSlots(value); return *this;} /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline UserTurnSlotOutput& WithSubSlots(Aws::Map&& value) { SetSubSlots(std::move(value)); return *this;} /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline UserTurnSlotOutput& AddSubSlots(const Aws::String& key, const UserTurnSlotOutput& value) { m_subSlotsHasBeenSet = true; m_subSlots.emplace(key, value); return *this; } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline UserTurnSlotOutput& AddSubSlots(Aws::String&& key, const UserTurnSlotOutput& value) { m_subSlotsHasBeenSet = true; m_subSlots.emplace(std::move(key), value); return *this; } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline UserTurnSlotOutput& AddSubSlots(const Aws::String& key, UserTurnSlotOutput&& value) { m_subSlotsHasBeenSet = true; m_subSlots.emplace(key, std::move(value)); return *this; } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline UserTurnSlotOutput& AddSubSlots(Aws::String&& key, UserTurnSlotOutput&& value) { m_subSlotsHasBeenSet = true; m_subSlots.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline UserTurnSlotOutput& AddSubSlots(const char* key, UserTurnSlotOutput&& value) { m_subSlotsHasBeenSet = true; m_subSlots.emplace(key, std::move(value)); return *this; } /** *

A list of items mapping the name of the subslots to information about those * subslots.

*/ inline UserTurnSlotOutput& AddSubSlots(const char* key, const UserTurnSlotOutput& value) { m_subSlotsHasBeenSet = true; m_subSlots.emplace(key, value); return *this; } private: Aws::String m_value; bool m_valueHasBeenSet = false; Aws::Vector m_values; bool m_valuesHasBeenSet = false; Aws::Map m_subSlots; bool m_subSlotsHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws