/** * 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 LexRuntimeV2 { namespace Model { /** *

You can provide Amazon Lex V2 with hints to the phrases that a customer is * likely to use for a slot. When a slot with hints is resolved, the phrases in the * runtime hints are preferred in the resolution. You can provide hints for a * maximum of 100 intents. You can provide a maximum of 100 slots.

Before * you can use runtime hints with an existing bot, you must first rebuild the * bot.

For more information, see Using * runtime hints to improve recognition of slot values.

See * Also:

AWS * API Reference

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

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline const Aws::Map>& GetSlotHints() const{ return m_slotHints; } /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline bool SlotHintsHasBeenSet() const { return m_slotHintsHasBeenSet; } /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline void SetSlotHints(const Aws::Map>& value) { m_slotHintsHasBeenSet = true; m_slotHints = value; } /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline void SetSlotHints(Aws::Map>&& value) { m_slotHintsHasBeenSet = true; m_slotHints = std::move(value); } /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline RuntimeHints& WithSlotHints(const Aws::Map>& value) { SetSlotHints(value); return *this;} /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline RuntimeHints& WithSlotHints(Aws::Map>&& value) { SetSlotHints(std::move(value)); return *this;} /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline RuntimeHints& AddSlotHints(const Aws::String& key, const Aws::Map& value) { m_slotHintsHasBeenSet = true; m_slotHints.emplace(key, value); return *this; } /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline RuntimeHints& AddSlotHints(Aws::String&& key, const Aws::Map& value) { m_slotHintsHasBeenSet = true; m_slotHints.emplace(std::move(key), value); return *this; } /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline RuntimeHints& AddSlotHints(const Aws::String& key, Aws::Map&& value) { m_slotHintsHasBeenSet = true; m_slotHints.emplace(key, std::move(value)); return *this; } /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline RuntimeHints& AddSlotHints(Aws::String&& key, Aws::Map&& value) { m_slotHintsHasBeenSet = true; m_slotHints.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline RuntimeHints& AddSlotHints(const char* key, Aws::Map&& value) { m_slotHintsHasBeenSet = true; m_slotHints.emplace(key, std::move(value)); return *this; } /** *

A list of the slots in the intent that should have runtime hints added, and * the phrases that should be added for each slot.

The first level of the * slotHints map is the name of the intent. The second level is the * name of the slot within the intent. For more information, see Using hints * to improve accuracy.

The intent name and slot name must exist.

*/ inline RuntimeHints& AddSlotHints(const char* key, const Aws::Map& value) { m_slotHintsHasBeenSet = true; m_slotHints.emplace(key, value); return *this; } private: Aws::Map> m_slotHints; bool m_slotHintsHasBeenSet = false; }; } // namespace Model } // namespace LexRuntimeV2 } // namespace Aws