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

Provides an array of phrases that should be given preference when resolving * values for a slot.

See Also:

AWS * API Reference

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

One or more strings that Amazon Lex should look for in the input to the bot. * Each phrase is given preference when deciding on slot values.

*/ inline const Aws::Vector& GetRuntimeHintValues() const{ return m_runtimeHintValues; } /** *

One or more strings that Amazon Lex should look for in the input to the bot. * Each phrase is given preference when deciding on slot values.

*/ inline bool RuntimeHintValuesHasBeenSet() const { return m_runtimeHintValuesHasBeenSet; } /** *

One or more strings that Amazon Lex should look for in the input to the bot. * Each phrase is given preference when deciding on slot values.

*/ inline void SetRuntimeHintValues(const Aws::Vector& value) { m_runtimeHintValuesHasBeenSet = true; m_runtimeHintValues = value; } /** *

One or more strings that Amazon Lex should look for in the input to the bot. * Each phrase is given preference when deciding on slot values.

*/ inline void SetRuntimeHintValues(Aws::Vector&& value) { m_runtimeHintValuesHasBeenSet = true; m_runtimeHintValues = std::move(value); } /** *

One or more strings that Amazon Lex should look for in the input to the bot. * Each phrase is given preference when deciding on slot values.

*/ inline RuntimeHintDetails& WithRuntimeHintValues(const Aws::Vector& value) { SetRuntimeHintValues(value); return *this;} /** *

One or more strings that Amazon Lex should look for in the input to the bot. * Each phrase is given preference when deciding on slot values.

*/ inline RuntimeHintDetails& WithRuntimeHintValues(Aws::Vector&& value) { SetRuntimeHintValues(std::move(value)); return *this;} /** *

One or more strings that Amazon Lex should look for in the input to the bot. * Each phrase is given preference when deciding on slot values.

*/ inline RuntimeHintDetails& AddRuntimeHintValues(const RuntimeHintValue& value) { m_runtimeHintValuesHasBeenSet = true; m_runtimeHintValues.push_back(value); return *this; } /** *

One or more strings that Amazon Lex should look for in the input to the bot. * Each phrase is given preference when deciding on slot values.

*/ inline RuntimeHintDetails& AddRuntimeHintValues(RuntimeHintValue&& value) { m_runtimeHintValuesHasBeenSet = true; m_runtimeHintValues.push_back(std::move(value)); return *this; } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline const Aws::Map& GetSubSlotHints() const{ return m_subSlotHints; } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline bool SubSlotHintsHasBeenSet() const { return m_subSlotHintsHasBeenSet; } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline void SetSubSlotHints(const Aws::Map& value) { m_subSlotHintsHasBeenSet = true; m_subSlotHints = value; } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline void SetSubSlotHints(Aws::Map&& value) { m_subSlotHintsHasBeenSet = true; m_subSlotHints = std::move(value); } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline RuntimeHintDetails& WithSubSlotHints(const Aws::Map& value) { SetSubSlotHints(value); return *this;} /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline RuntimeHintDetails& WithSubSlotHints(Aws::Map&& value) { SetSubSlotHints(std::move(value)); return *this;} /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline RuntimeHintDetails& AddSubSlotHints(const Aws::String& key, const RuntimeHintDetails& value) { m_subSlotHintsHasBeenSet = true; m_subSlotHints.emplace(key, value); return *this; } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline RuntimeHintDetails& AddSubSlotHints(Aws::String&& key, const RuntimeHintDetails& value) { m_subSlotHintsHasBeenSet = true; m_subSlotHints.emplace(std::move(key), value); return *this; } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline RuntimeHintDetails& AddSubSlotHints(const Aws::String& key, RuntimeHintDetails&& value) { m_subSlotHintsHasBeenSet = true; m_subSlotHints.emplace(key, std::move(value)); return *this; } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline RuntimeHintDetails& AddSubSlotHints(Aws::String&& key, RuntimeHintDetails&& value) { m_subSlotHintsHasBeenSet = true; m_subSlotHints.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline RuntimeHintDetails& AddSubSlotHints(const char* key, RuntimeHintDetails&& value) { m_subSlotHintsHasBeenSet = true; m_subSlotHints.emplace(key, std::move(value)); return *this; } /** *

A map of constituent sub slot names inside a composite slot in the intent and * the phrases that should be added for each sub slot. Inside each composite slot * hints, this structure provides a mechanism to add granular sub slot phrases. * Only sub slot hints are supported for composite slots. The intent name, * composite slot name and the constituent sub slot names must exist.

*/ inline RuntimeHintDetails& AddSubSlotHints(const char* key, const RuntimeHintDetails& value) { m_subSlotHintsHasBeenSet = true; m_subSlotHints.emplace(key, value); return *this; } private: Aws::Vector m_runtimeHintValues; bool m_runtimeHintValuesHasBeenSet = false; Aws::Map m_subSlotHints; bool m_subSlotHintsHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws