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

Specifications for the current state of the dialog between the user and the * bot in the test set.

See Also:

AWS * API Reference

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

Session attributes for the session state.

*/ inline const Aws::Map& GetSessionAttributes() const{ return m_sessionAttributes; } /** *

Session attributes for the session state.

*/ inline bool SessionAttributesHasBeenSet() const { return m_sessionAttributesHasBeenSet; } /** *

Session attributes for the session state.

*/ inline void SetSessionAttributes(const Aws::Map& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes = value; } /** *

Session attributes for the session state.

*/ inline void SetSessionAttributes(Aws::Map&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes = std::move(value); } /** *

Session attributes for the session state.

*/ inline InputSessionStateSpecification& WithSessionAttributes(const Aws::Map& value) { SetSessionAttributes(value); return *this;} /** *

Session attributes for the session state.

*/ inline InputSessionStateSpecification& WithSessionAttributes(Aws::Map&& value) { SetSessionAttributes(std::move(value)); return *this;} /** *

Session attributes for the session state.

*/ inline InputSessionStateSpecification& AddSessionAttributes(const Aws::String& key, const Aws::String& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, value); return *this; } /** *

Session attributes for the session state.

*/ inline InputSessionStateSpecification& AddSessionAttributes(Aws::String&& key, const Aws::String& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::move(key), value); return *this; } /** *

Session attributes for the session state.

*/ inline InputSessionStateSpecification& AddSessionAttributes(const Aws::String& key, Aws::String&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, std::move(value)); return *this; } /** *

Session attributes for the session state.

*/ inline InputSessionStateSpecification& AddSessionAttributes(Aws::String&& key, Aws::String&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::move(key), std::move(value)); return *this; } /** *

Session attributes for the session state.

*/ inline InputSessionStateSpecification& AddSessionAttributes(const char* key, Aws::String&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, std::move(value)); return *this; } /** *

Session attributes for the session state.

*/ inline InputSessionStateSpecification& AddSessionAttributes(Aws::String&& key, const char* value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::move(key), value); return *this; } /** *

Session attributes for the session state.

*/ inline InputSessionStateSpecification& AddSessionAttributes(const char* key, const char* value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(key, value); return *this; } /** *

Active contexts for the session state.

*/ inline const Aws::Vector& GetActiveContexts() const{ return m_activeContexts; } /** *

Active contexts for the session state.

*/ inline bool ActiveContextsHasBeenSet() const { return m_activeContextsHasBeenSet; } /** *

Active contexts for the session state.

*/ inline void SetActiveContexts(const Aws::Vector& value) { m_activeContextsHasBeenSet = true; m_activeContexts = value; } /** *

Active contexts for the session state.

*/ inline void SetActiveContexts(Aws::Vector&& value) { m_activeContextsHasBeenSet = true; m_activeContexts = std::move(value); } /** *

Active contexts for the session state.

*/ inline InputSessionStateSpecification& WithActiveContexts(const Aws::Vector& value) { SetActiveContexts(value); return *this;} /** *

Active contexts for the session state.

*/ inline InputSessionStateSpecification& WithActiveContexts(Aws::Vector&& value) { SetActiveContexts(std::move(value)); return *this;} /** *

Active contexts for the session state.

*/ inline InputSessionStateSpecification& AddActiveContexts(const ActiveContext& value) { m_activeContextsHasBeenSet = true; m_activeContexts.push_back(value); return *this; } /** *

Active contexts for the session state.

*/ inline InputSessionStateSpecification& AddActiveContexts(ActiveContext&& value) { m_activeContextsHasBeenSet = true; m_activeContexts.push_back(std::move(value)); return *this; } /** *

Runtime hints for the session state.

*/ inline const RuntimeHints& GetRuntimeHints() const{ return m_runtimeHints; } /** *

Runtime hints for the session state.

*/ inline bool RuntimeHintsHasBeenSet() const { return m_runtimeHintsHasBeenSet; } /** *

Runtime hints for the session state.

*/ inline void SetRuntimeHints(const RuntimeHints& value) { m_runtimeHintsHasBeenSet = true; m_runtimeHints = value; } /** *

Runtime hints for the session state.

*/ inline void SetRuntimeHints(RuntimeHints&& value) { m_runtimeHintsHasBeenSet = true; m_runtimeHints = std::move(value); } /** *

Runtime hints for the session state.

*/ inline InputSessionStateSpecification& WithRuntimeHints(const RuntimeHints& value) { SetRuntimeHints(value); return *this;} /** *

Runtime hints for the session state.

*/ inline InputSessionStateSpecification& WithRuntimeHints(RuntimeHints&& value) { SetRuntimeHints(std::move(value)); return *this;} private: Aws::Map m_sessionAttributes; bool m_sessionAttributesHasBeenSet = false; Aws::Vector m_activeContexts; bool m_activeContextsHasBeenSet = false; RuntimeHints m_runtimeHints; bool m_runtimeHintsHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws