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

An object containing information about the requested path.

See * Also:

AWS * API Reference

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

The name of the intent at the end of the requested path.

*/ inline const Aws::String& GetIntentName() const{ return m_intentName; } /** *

The name of the intent at the end of the requested path.

*/ inline bool IntentNameHasBeenSet() const { return m_intentNameHasBeenSet; } /** *

The name of the intent at the end of the requested path.

*/ inline void SetIntentName(const Aws::String& value) { m_intentNameHasBeenSet = true; m_intentName = value; } /** *

The name of the intent at the end of the requested path.

*/ inline void SetIntentName(Aws::String&& value) { m_intentNameHasBeenSet = true; m_intentName = std::move(value); } /** *

The name of the intent at the end of the requested path.

*/ inline void SetIntentName(const char* value) { m_intentNameHasBeenSet = true; m_intentName.assign(value); } /** *

The name of the intent at the end of the requested path.

*/ inline AnalyticsIntentNodeSummary& WithIntentName(const Aws::String& value) { SetIntentName(value); return *this;} /** *

The name of the intent at the end of the requested path.

*/ inline AnalyticsIntentNodeSummary& WithIntentName(Aws::String&& value) { SetIntentName(std::move(value)); return *this;} /** *

The name of the intent at the end of the requested path.

*/ inline AnalyticsIntentNodeSummary& WithIntentName(const char* value) { SetIntentName(value); return *this;} /** *

The path.

*/ inline const Aws::String& GetIntentPath() const{ return m_intentPath; } /** *

The path.

*/ inline bool IntentPathHasBeenSet() const { return m_intentPathHasBeenSet; } /** *

The path.

*/ inline void SetIntentPath(const Aws::String& value) { m_intentPathHasBeenSet = true; m_intentPath = value; } /** *

The path.

*/ inline void SetIntentPath(Aws::String&& value) { m_intentPathHasBeenSet = true; m_intentPath = std::move(value); } /** *

The path.

*/ inline void SetIntentPath(const char* value) { m_intentPathHasBeenSet = true; m_intentPath.assign(value); } /** *

The path.

*/ inline AnalyticsIntentNodeSummary& WithIntentPath(const Aws::String& value) { SetIntentPath(value); return *this;} /** *

The path.

*/ inline AnalyticsIntentNodeSummary& WithIntentPath(Aws::String&& value) { SetIntentPath(std::move(value)); return *this;} /** *

The path.

*/ inline AnalyticsIntentNodeSummary& WithIntentPath(const char* value) { SetIntentPath(value); return *this;} /** *

The total number of sessions that follow the given path to the given * intent.

*/ inline int GetIntentCount() const{ return m_intentCount; } /** *

The total number of sessions that follow the given path to the given * intent.

*/ inline bool IntentCountHasBeenSet() const { return m_intentCountHasBeenSet; } /** *

The total number of sessions that follow the given path to the given * intent.

*/ inline void SetIntentCount(int value) { m_intentCountHasBeenSet = true; m_intentCount = value; } /** *

The total number of sessions that follow the given path to the given * intent.

*/ inline AnalyticsIntentNodeSummary& WithIntentCount(int value) { SetIntentCount(value); return *this;} /** *

The number of intents up to and including the requested path.

*/ inline int GetIntentLevel() const{ return m_intentLevel; } /** *

The number of intents up to and including the requested path.

*/ inline bool IntentLevelHasBeenSet() const { return m_intentLevelHasBeenSet; } /** *

The number of intents up to and including the requested path.

*/ inline void SetIntentLevel(int value) { m_intentLevelHasBeenSet = true; m_intentLevel = value; } /** *

The number of intents up to and including the requested path.

*/ inline AnalyticsIntentNodeSummary& WithIntentLevel(int value) { SetIntentLevel(value); return *this;} /** *

Specifies whether the node is the end of a path (Exit) or not * (Inner).

*/ inline const AnalyticsNodeType& GetNodeType() const{ return m_nodeType; } /** *

Specifies whether the node is the end of a path (Exit) or not * (Inner).

*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *

Specifies whether the node is the end of a path (Exit) or not * (Inner).

*/ inline void SetNodeType(const AnalyticsNodeType& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *

Specifies whether the node is the end of a path (Exit) or not * (Inner).

*/ inline void SetNodeType(AnalyticsNodeType&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *

Specifies whether the node is the end of a path (Exit) or not * (Inner).

*/ inline AnalyticsIntentNodeSummary& WithNodeType(const AnalyticsNodeType& value) { SetNodeType(value); return *this;} /** *

Specifies whether the node is the end of a path (Exit) or not * (Inner).

*/ inline AnalyticsIntentNodeSummary& WithNodeType(AnalyticsNodeType&& value) { SetNodeType(std::move(value)); return *this;} private: Aws::String m_intentName; bool m_intentNameHasBeenSet = false; Aws::String m_intentPath; bool m_intentPathHasBeenSet = false; int m_intentCount; bool m_intentCountHasBeenSet = false; int m_intentLevel; bool m_intentLevelHasBeenSet = false; AnalyticsNodeType m_nodeType; bool m_nodeTypeHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws