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

See Also:

AWS * API Reference

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

The utterance input in the user turn.

*/ inline const UtteranceInputSpecification& GetUtteranceInput() const{ return m_utteranceInput; } /** *

The utterance input in the user turn.

*/ inline bool UtteranceInputHasBeenSet() const { return m_utteranceInputHasBeenSet; } /** *

The utterance input in the user turn.

*/ inline void SetUtteranceInput(const UtteranceInputSpecification& value) { m_utteranceInputHasBeenSet = true; m_utteranceInput = value; } /** *

The utterance input in the user turn.

*/ inline void SetUtteranceInput(UtteranceInputSpecification&& value) { m_utteranceInputHasBeenSet = true; m_utteranceInput = std::move(value); } /** *

The utterance input in the user turn.

*/ inline UserTurnInputSpecification& WithUtteranceInput(const UtteranceInputSpecification& value) { SetUtteranceInput(value); return *this;} /** *

The utterance input in the user turn.

*/ inline UserTurnInputSpecification& WithUtteranceInput(UtteranceInputSpecification&& value) { SetUtteranceInput(std::move(value)); return *this;} /** *

Request attributes of the user turn.

*/ inline const Aws::Map& GetRequestAttributes() const{ return m_requestAttributes; } /** *

Request attributes of the user turn.

*/ inline bool RequestAttributesHasBeenSet() const { return m_requestAttributesHasBeenSet; } /** *

Request attributes of the user turn.

*/ inline void SetRequestAttributes(const Aws::Map& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes = value; } /** *

Request attributes of the user turn.

*/ inline void SetRequestAttributes(Aws::Map&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes = std::move(value); } /** *

Request attributes of the user turn.

*/ inline UserTurnInputSpecification& WithRequestAttributes(const Aws::Map& value) { SetRequestAttributes(value); return *this;} /** *

Request attributes of the user turn.

*/ inline UserTurnInputSpecification& WithRequestAttributes(Aws::Map&& value) { SetRequestAttributes(std::move(value)); return *this;} /** *

Request attributes of the user turn.

*/ inline UserTurnInputSpecification& AddRequestAttributes(const Aws::String& key, const Aws::String& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, value); return *this; } /** *

Request attributes of the user turn.

*/ inline UserTurnInputSpecification& AddRequestAttributes(Aws::String&& key, const Aws::String& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(std::move(key), value); return *this; } /** *

Request attributes of the user turn.

*/ inline UserTurnInputSpecification& AddRequestAttributes(const Aws::String& key, Aws::String&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, std::move(value)); return *this; } /** *

Request attributes of the user turn.

*/ inline UserTurnInputSpecification& AddRequestAttributes(Aws::String&& key, Aws::String&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(std::move(key), std::move(value)); return *this; } /** *

Request attributes of the user turn.

*/ inline UserTurnInputSpecification& AddRequestAttributes(const char* key, Aws::String&& value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, std::move(value)); return *this; } /** *

Request attributes of the user turn.

*/ inline UserTurnInputSpecification& AddRequestAttributes(Aws::String&& key, const char* value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(std::move(key), value); return *this; } /** *

Request attributes of the user turn.

*/ inline UserTurnInputSpecification& AddRequestAttributes(const char* key, const char* value) { m_requestAttributesHasBeenSet = true; m_requestAttributes.emplace(key, value); return *this; } /** *

Contains information about the session state in the input.

*/ inline const InputSessionStateSpecification& GetSessionState() const{ return m_sessionState; } /** *

Contains information about the session state in the input.

*/ inline bool SessionStateHasBeenSet() const { return m_sessionStateHasBeenSet; } /** *

Contains information about the session state in the input.

*/ inline void SetSessionState(const InputSessionStateSpecification& value) { m_sessionStateHasBeenSet = true; m_sessionState = value; } /** *

Contains information about the session state in the input.

*/ inline void SetSessionState(InputSessionStateSpecification&& value) { m_sessionStateHasBeenSet = true; m_sessionState = std::move(value); } /** *

Contains information about the session state in the input.

*/ inline UserTurnInputSpecification& WithSessionState(const InputSessionStateSpecification& value) { SetSessionState(value); return *this;} /** *

Contains information about the session state in the input.

*/ inline UserTurnInputSpecification& WithSessionState(InputSessionStateSpecification&& value) { SetSessionState(std::move(value)); return *this;} private: UtteranceInputSpecification m_utteranceInput; bool m_utteranceInputHasBeenSet = false; Aws::Map m_requestAttributes; bool m_requestAttributesHasBeenSet = false; InputSessionStateSpecification m_sessionState; bool m_sessionStateHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws