/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 the expected and input values for the user * turn.

See Also:

AWS * API Reference

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

Contains information about the user messages in the turn in the input.

*/ inline const UserTurnInputSpecification& GetInput() const{ return m_input; } /** *

Contains information about the user messages in the turn in the input.

*/ inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } /** *

Contains information about the user messages in the turn in the input.

*/ inline void SetInput(const UserTurnInputSpecification& value) { m_inputHasBeenSet = true; m_input = value; } /** *

Contains information about the user messages in the turn in the input.

*/ inline void SetInput(UserTurnInputSpecification&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } /** *

Contains information about the user messages in the turn in the input.

*/ inline UserTurnSpecification& WithInput(const UserTurnInputSpecification& value) { SetInput(value); return *this;} /** *

Contains information about the user messages in the turn in the input.

*/ inline UserTurnSpecification& WithInput(UserTurnInputSpecification&& value) { SetInput(std::move(value)); return *this;} /** *

Contains results about the expected output for the user turn.

*/ inline const UserTurnOutputSpecification& GetExpected() const{ return m_expected; } /** *

Contains results about the expected output for the user turn.

*/ inline bool ExpectedHasBeenSet() const { return m_expectedHasBeenSet; } /** *

Contains results about the expected output for the user turn.

*/ inline void SetExpected(const UserTurnOutputSpecification& value) { m_expectedHasBeenSet = true; m_expected = value; } /** *

Contains results about the expected output for the user turn.

*/ inline void SetExpected(UserTurnOutputSpecification&& value) { m_expectedHasBeenSet = true; m_expected = std::move(value); } /** *

Contains results about the expected output for the user turn.

*/ inline UserTurnSpecification& WithExpected(const UserTurnOutputSpecification& value) { SetExpected(value); return *this;} /** *

Contains results about the expected output for the user turn.

*/ inline UserTurnSpecification& WithExpected(UserTurnOutputSpecification&& value) { SetExpected(std::move(value)); return *this;} private: UserTurnInputSpecification m_input; bool m_inputHasBeenSet = false; UserTurnOutputSpecification m_expected; bool m_expectedHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws