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

An intent that Amazon Lex suggests satisfies the user's intent. Includes the * name of the intent, the confidence that Amazon Lex has that the user's intent is * satisfied, and the slots defined for the intent.

See Also:

AWS * API Reference

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

The name of the intent that Amazon Lex suggests satisfies the user's * intent.

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

The name of the intent that Amazon Lex suggests satisfies the user's * intent.

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

The name of the intent that Amazon Lex suggests satisfies the user's * intent.

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

The name of the intent that Amazon Lex suggests satisfies the user's * intent.

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

The name of the intent that Amazon Lex suggests satisfies the user's * intent.

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

The name of the intent that Amazon Lex suggests satisfies the user's * intent.

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

The name of the intent that Amazon Lex suggests satisfies the user's * intent.

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

The name of the intent that Amazon Lex suggests satisfies the user's * intent.

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

Indicates how confident Amazon Lex is that an intent satisfies the user's * intent.

*/ inline const IntentConfidence& GetNluIntentConfidence() const{ return m_nluIntentConfidence; } /** *

Indicates how confident Amazon Lex is that an intent satisfies the user's * intent.

*/ inline bool NluIntentConfidenceHasBeenSet() const { return m_nluIntentConfidenceHasBeenSet; } /** *

Indicates how confident Amazon Lex is that an intent satisfies the user's * intent.

*/ inline void SetNluIntentConfidence(const IntentConfidence& value) { m_nluIntentConfidenceHasBeenSet = true; m_nluIntentConfidence = value; } /** *

Indicates how confident Amazon Lex is that an intent satisfies the user's * intent.

*/ inline void SetNluIntentConfidence(IntentConfidence&& value) { m_nluIntentConfidenceHasBeenSet = true; m_nluIntentConfidence = std::move(value); } /** *

Indicates how confident Amazon Lex is that an intent satisfies the user's * intent.

*/ inline PredictedIntent& WithNluIntentConfidence(const IntentConfidence& value) { SetNluIntentConfidence(value); return *this;} /** *

Indicates how confident Amazon Lex is that an intent satisfies the user's * intent.

*/ inline PredictedIntent& WithNluIntentConfidence(IntentConfidence&& value) { SetNluIntentConfidence(std::move(value)); return *this;} /** *

The slot and slot values associated with the predicted intent.

*/ inline const Aws::Map& GetSlots() const{ return m_slots; } /** *

The slot and slot values associated with the predicted intent.

*/ inline bool SlotsHasBeenSet() const { return m_slotsHasBeenSet; } /** *

The slot and slot values associated with the predicted intent.

*/ inline void SetSlots(const Aws::Map& value) { m_slotsHasBeenSet = true; m_slots = value; } /** *

The slot and slot values associated with the predicted intent.

*/ inline void SetSlots(Aws::Map&& value) { m_slotsHasBeenSet = true; m_slots = std::move(value); } /** *

The slot and slot values associated with the predicted intent.

*/ inline PredictedIntent& WithSlots(const Aws::Map& value) { SetSlots(value); return *this;} /** *

The slot and slot values associated with the predicted intent.

*/ inline PredictedIntent& WithSlots(Aws::Map&& value) { SetSlots(std::move(value)); return *this;} /** *

The slot and slot values associated with the predicted intent.

*/ inline PredictedIntent& AddSlots(const Aws::String& key, const Aws::String& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, value); return *this; } /** *

The slot and slot values associated with the predicted intent.

*/ inline PredictedIntent& AddSlots(Aws::String&& key, const Aws::String& value) { m_slotsHasBeenSet = true; m_slots.emplace(std::move(key), value); return *this; } /** *

The slot and slot values associated with the predicted intent.

*/ inline PredictedIntent& AddSlots(const Aws::String& key, Aws::String&& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, std::move(value)); return *this; } /** *

The slot and slot values associated with the predicted intent.

*/ inline PredictedIntent& AddSlots(Aws::String&& key, Aws::String&& value) { m_slotsHasBeenSet = true; m_slots.emplace(std::move(key), std::move(value)); return *this; } /** *

The slot and slot values associated with the predicted intent.

*/ inline PredictedIntent& AddSlots(const char* key, Aws::String&& value) { m_slotsHasBeenSet = true; m_slots.emplace(key, std::move(value)); return *this; } /** *

The slot and slot values associated with the predicted intent.

*/ inline PredictedIntent& AddSlots(Aws::String&& key, const char* value) { m_slotsHasBeenSet = true; m_slots.emplace(std::move(key), value); return *this; } /** *

The slot and slot values associated with the predicted intent.

*/ inline PredictedIntent& AddSlots(const char* key, const char* value) { m_slotsHasBeenSet = true; m_slots.emplace(key, value); return *this; } private: Aws::String m_intentName; bool m_intentNameHasBeenSet = false; IntentConfidence m_nluIntentConfidence; bool m_nluIntentConfidenceHasBeenSet = false; Aws::Map m_slots; bool m_slotsHasBeenSet = false; }; } // namespace Model } // namespace LexRuntimeService } // namespace Aws