/** * 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 messages in the turn.

See Also:

* AWS * API Reference

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

Contains information about the agent messages in the turn.

*/ inline const AgentTurnSpecification& GetAgentTurn() const{ return m_agentTurn; } /** *

Contains information about the agent messages in the turn.

*/ inline bool AgentTurnHasBeenSet() const { return m_agentTurnHasBeenSet; } /** *

Contains information about the agent messages in the turn.

*/ inline void SetAgentTurn(const AgentTurnSpecification& value) { m_agentTurnHasBeenSet = true; m_agentTurn = value; } /** *

Contains information about the agent messages in the turn.

*/ inline void SetAgentTurn(AgentTurnSpecification&& value) { m_agentTurnHasBeenSet = true; m_agentTurn = std::move(value); } /** *

Contains information about the agent messages in the turn.

*/ inline TurnSpecification& WithAgentTurn(const AgentTurnSpecification& value) { SetAgentTurn(value); return *this;} /** *

Contains information about the agent messages in the turn.

*/ inline TurnSpecification& WithAgentTurn(AgentTurnSpecification&& value) { SetAgentTurn(std::move(value)); return *this;} /** *

Contains information about the user messages in the turn.

*/ inline const UserTurnSpecification& GetUserTurn() const{ return m_userTurn; } /** *

Contains information about the user messages in the turn.

*/ inline bool UserTurnHasBeenSet() const { return m_userTurnHasBeenSet; } /** *

Contains information about the user messages in the turn.

*/ inline void SetUserTurn(const UserTurnSpecification& value) { m_userTurnHasBeenSet = true; m_userTurn = value; } /** *

Contains information about the user messages in the turn.

*/ inline void SetUserTurn(UserTurnSpecification&& value) { m_userTurnHasBeenSet = true; m_userTurn = std::move(value); } /** *

Contains information about the user messages in the turn.

*/ inline TurnSpecification& WithUserTurn(const UserTurnSpecification& value) { SetUserTurn(value); return *this;} /** *

Contains information about the user messages in the turn.

*/ inline TurnSpecification& WithUserTurn(UserTurnSpecification&& value) { SetUserTurn(std::move(value)); return *this;} private: AgentTurnSpecification m_agentTurn; bool m_agentTurnHasBeenSet = false; UserTurnSpecification m_userTurn; bool m_userTurnHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws