/** * 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 #include namespace Aws { namespace LexModelsV2 { namespace Model { /** */ class UpdateSlotRequest : public LexModelsV2Request { public: AWS_LEXMODELSV2_API UpdateSlotRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateSlot"; } AWS_LEXMODELSV2_API Aws::String SerializePayload() const override; /** *

The unique identifier for the slot to update.

*/ inline const Aws::String& GetSlotId() const{ return m_slotId; } /** *

The unique identifier for the slot to update.

*/ inline bool SlotIdHasBeenSet() const { return m_slotIdHasBeenSet; } /** *

The unique identifier for the slot to update.

*/ inline void SetSlotId(const Aws::String& value) { m_slotIdHasBeenSet = true; m_slotId = value; } /** *

The unique identifier for the slot to update.

*/ inline void SetSlotId(Aws::String&& value) { m_slotIdHasBeenSet = true; m_slotId = std::move(value); } /** *

The unique identifier for the slot to update.

*/ inline void SetSlotId(const char* value) { m_slotIdHasBeenSet = true; m_slotId.assign(value); } /** *

The unique identifier for the slot to update.

*/ inline UpdateSlotRequest& WithSlotId(const Aws::String& value) { SetSlotId(value); return *this;} /** *

The unique identifier for the slot to update.

*/ inline UpdateSlotRequest& WithSlotId(Aws::String&& value) { SetSlotId(std::move(value)); return *this;} /** *

The unique identifier for the slot to update.

*/ inline UpdateSlotRequest& WithSlotId(const char* value) { SetSlotId(value); return *this;} /** *

The new name for the slot.

*/ inline const Aws::String& GetSlotName() const{ return m_slotName; } /** *

The new name for the slot.

*/ inline bool SlotNameHasBeenSet() const { return m_slotNameHasBeenSet; } /** *

The new name for the slot.

*/ inline void SetSlotName(const Aws::String& value) { m_slotNameHasBeenSet = true; m_slotName = value; } /** *

The new name for the slot.

*/ inline void SetSlotName(Aws::String&& value) { m_slotNameHasBeenSet = true; m_slotName = std::move(value); } /** *

The new name for the slot.

*/ inline void SetSlotName(const char* value) { m_slotNameHasBeenSet = true; m_slotName.assign(value); } /** *

The new name for the slot.

*/ inline UpdateSlotRequest& WithSlotName(const Aws::String& value) { SetSlotName(value); return *this;} /** *

The new name for the slot.

*/ inline UpdateSlotRequest& WithSlotName(Aws::String&& value) { SetSlotName(std::move(value)); return *this;} /** *

The new name for the slot.

*/ inline UpdateSlotRequest& WithSlotName(const char* value) { SetSlotName(value); return *this;} /** *

The new description for the slot.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The new description for the slot.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The new description for the slot.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The new description for the slot.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The new description for the slot.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The new description for the slot.

*/ inline UpdateSlotRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The new description for the slot.

*/ inline UpdateSlotRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The new description for the slot.

*/ inline UpdateSlotRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The unique identifier of the new slot type to associate with this slot.

*/ inline const Aws::String& GetSlotTypeId() const{ return m_slotTypeId; } /** *

The unique identifier of the new slot type to associate with this slot.

*/ inline bool SlotTypeIdHasBeenSet() const { return m_slotTypeIdHasBeenSet; } /** *

The unique identifier of the new slot type to associate with this slot.

*/ inline void SetSlotTypeId(const Aws::String& value) { m_slotTypeIdHasBeenSet = true; m_slotTypeId = value; } /** *

The unique identifier of the new slot type to associate with this slot.

*/ inline void SetSlotTypeId(Aws::String&& value) { m_slotTypeIdHasBeenSet = true; m_slotTypeId = std::move(value); } /** *

The unique identifier of the new slot type to associate with this slot.

*/ inline void SetSlotTypeId(const char* value) { m_slotTypeIdHasBeenSet = true; m_slotTypeId.assign(value); } /** *

The unique identifier of the new slot type to associate with this slot.

*/ inline UpdateSlotRequest& WithSlotTypeId(const Aws::String& value) { SetSlotTypeId(value); return *this;} /** *

The unique identifier of the new slot type to associate with this slot.

*/ inline UpdateSlotRequest& WithSlotTypeId(Aws::String&& value) { SetSlotTypeId(std::move(value)); return *this;} /** *

The unique identifier of the new slot type to associate with this slot.

*/ inline UpdateSlotRequest& WithSlotTypeId(const char* value) { SetSlotTypeId(value); return *this;} /** *

A new set of prompts that Amazon Lex sends to the user to elicit a response * the provides a value for the slot.

*/ inline const SlotValueElicitationSetting& GetValueElicitationSetting() const{ return m_valueElicitationSetting; } /** *

A new set of prompts that Amazon Lex sends to the user to elicit a response * the provides a value for the slot.

*/ inline bool ValueElicitationSettingHasBeenSet() const { return m_valueElicitationSettingHasBeenSet; } /** *

A new set of prompts that Amazon Lex sends to the user to elicit a response * the provides a value for the slot.

*/ inline void SetValueElicitationSetting(const SlotValueElicitationSetting& value) { m_valueElicitationSettingHasBeenSet = true; m_valueElicitationSetting = value; } /** *

A new set of prompts that Amazon Lex sends to the user to elicit a response * the provides a value for the slot.

*/ inline void SetValueElicitationSetting(SlotValueElicitationSetting&& value) { m_valueElicitationSettingHasBeenSet = true; m_valueElicitationSetting = std::move(value); } /** *

A new set of prompts that Amazon Lex sends to the user to elicit a response * the provides a value for the slot.

*/ inline UpdateSlotRequest& WithValueElicitationSetting(const SlotValueElicitationSetting& value) { SetValueElicitationSetting(value); return *this;} /** *

A new set of prompts that Amazon Lex sends to the user to elicit a response * the provides a value for the slot.

*/ inline UpdateSlotRequest& WithValueElicitationSetting(SlotValueElicitationSetting&& value) { SetValueElicitationSetting(std::move(value)); return *this;} /** *

New settings that determine how slot values are formatted in Amazon * CloudWatch logs.

*/ inline const ObfuscationSetting& GetObfuscationSetting() const{ return m_obfuscationSetting; } /** *

New settings that determine how slot values are formatted in Amazon * CloudWatch logs.

*/ inline bool ObfuscationSettingHasBeenSet() const { return m_obfuscationSettingHasBeenSet; } /** *

New settings that determine how slot values are formatted in Amazon * CloudWatch logs.

*/ inline void SetObfuscationSetting(const ObfuscationSetting& value) { m_obfuscationSettingHasBeenSet = true; m_obfuscationSetting = value; } /** *

New settings that determine how slot values are formatted in Amazon * CloudWatch logs.

*/ inline void SetObfuscationSetting(ObfuscationSetting&& value) { m_obfuscationSettingHasBeenSet = true; m_obfuscationSetting = std::move(value); } /** *

New settings that determine how slot values are formatted in Amazon * CloudWatch logs.

*/ inline UpdateSlotRequest& WithObfuscationSetting(const ObfuscationSetting& value) { SetObfuscationSetting(value); return *this;} /** *

New settings that determine how slot values are formatted in Amazon * CloudWatch logs.

*/ inline UpdateSlotRequest& WithObfuscationSetting(ObfuscationSetting&& value) { SetObfuscationSetting(std::move(value)); return *this;} /** *

The unique identifier of the bot that contains the slot.

*/ inline const Aws::String& GetBotId() const{ return m_botId; } /** *

The unique identifier of the bot that contains the slot.

*/ inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; } /** *

The unique identifier of the bot that contains the slot.

*/ inline void SetBotId(const Aws::String& value) { m_botIdHasBeenSet = true; m_botId = value; } /** *

The unique identifier of the bot that contains the slot.

*/ inline void SetBotId(Aws::String&& value) { m_botIdHasBeenSet = true; m_botId = std::move(value); } /** *

The unique identifier of the bot that contains the slot.

*/ inline void SetBotId(const char* value) { m_botIdHasBeenSet = true; m_botId.assign(value); } /** *

The unique identifier of the bot that contains the slot.

*/ inline UpdateSlotRequest& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} /** *

The unique identifier of the bot that contains the slot.

*/ inline UpdateSlotRequest& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} /** *

The unique identifier of the bot that contains the slot.

*/ inline UpdateSlotRequest& WithBotId(const char* value) { SetBotId(value); return *this;} /** *

The version of the bot that contains the slot. Must always be * DRAFT.

*/ inline const Aws::String& GetBotVersion() const{ return m_botVersion; } /** *

The version of the bot that contains the slot. Must always be * DRAFT.

*/ inline bool BotVersionHasBeenSet() const { return m_botVersionHasBeenSet; } /** *

The version of the bot that contains the slot. Must always be * DRAFT.

*/ inline void SetBotVersion(const Aws::String& value) { m_botVersionHasBeenSet = true; m_botVersion = value; } /** *

The version of the bot that contains the slot. Must always be * DRAFT.

*/ inline void SetBotVersion(Aws::String&& value) { m_botVersionHasBeenSet = true; m_botVersion = std::move(value); } /** *

The version of the bot that contains the slot. Must always be * DRAFT.

*/ inline void SetBotVersion(const char* value) { m_botVersionHasBeenSet = true; m_botVersion.assign(value); } /** *

The version of the bot that contains the slot. Must always be * DRAFT.

*/ inline UpdateSlotRequest& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} /** *

The version of the bot that contains the slot. Must always be * DRAFT.

*/ inline UpdateSlotRequest& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} /** *

The version of the bot that contains the slot. Must always be * DRAFT.

*/ inline UpdateSlotRequest& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} /** *

The identifier of the language and locale that contains the slot. The string * must match one of the supported locales. For more information, see Supported * languages.

*/ inline const Aws::String& GetLocaleId() const{ return m_localeId; } /** *

The identifier of the language and locale that contains the slot. The string * must match one of the supported locales. For more information, see Supported * languages.

*/ inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; } /** *

The identifier of the language and locale that contains the slot. The string * must match one of the supported locales. For more information, see Supported * languages.

*/ inline void SetLocaleId(const Aws::String& value) { m_localeIdHasBeenSet = true; m_localeId = value; } /** *

The identifier of the language and locale that contains the slot. The string * must match one of the supported locales. For more information, see Supported * languages.

*/ inline void SetLocaleId(Aws::String&& value) { m_localeIdHasBeenSet = true; m_localeId = std::move(value); } /** *

The identifier of the language and locale that contains the slot. The string * must match one of the supported locales. For more information, see Supported * languages.

*/ inline void SetLocaleId(const char* value) { m_localeIdHasBeenSet = true; m_localeId.assign(value); } /** *

The identifier of the language and locale that contains the slot. The string * must match one of the supported locales. For more information, see Supported * languages.

*/ inline UpdateSlotRequest& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} /** *

The identifier of the language and locale that contains the slot. The string * must match one of the supported locales. For more information, see Supported * languages.

*/ inline UpdateSlotRequest& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} /** *

The identifier of the language and locale that contains the slot. The string * must match one of the supported locales. For more information, see Supported * languages.

*/ inline UpdateSlotRequest& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} /** *

The identifier of the intent that contains the slot.

*/ inline const Aws::String& GetIntentId() const{ return m_intentId; } /** *

The identifier of the intent that contains the slot.

*/ inline bool IntentIdHasBeenSet() const { return m_intentIdHasBeenSet; } /** *

The identifier of the intent that contains the slot.

*/ inline void SetIntentId(const Aws::String& value) { m_intentIdHasBeenSet = true; m_intentId = value; } /** *

The identifier of the intent that contains the slot.

*/ inline void SetIntentId(Aws::String&& value) { m_intentIdHasBeenSet = true; m_intentId = std::move(value); } /** *

The identifier of the intent that contains the slot.

*/ inline void SetIntentId(const char* value) { m_intentIdHasBeenSet = true; m_intentId.assign(value); } /** *

The identifier of the intent that contains the slot.

*/ inline UpdateSlotRequest& WithIntentId(const Aws::String& value) { SetIntentId(value); return *this;} /** *

The identifier of the intent that contains the slot.

*/ inline UpdateSlotRequest& WithIntentId(Aws::String&& value) { SetIntentId(std::move(value)); return *this;} /** *

The identifier of the intent that contains the slot.

*/ inline UpdateSlotRequest& WithIntentId(const char* value) { SetIntentId(value); return *this;} /** *

Determines whether the slot accepts multiple values in one response. Multiple * value slots are only available in the en-US locale. If you set this value to * true in any other locale, Amazon Lex throws a * ValidationException.

If the * multipleValuesSetting is not set, the default value is * false.

*/ inline const MultipleValuesSetting& GetMultipleValuesSetting() const{ return m_multipleValuesSetting; } /** *

Determines whether the slot accepts multiple values in one response. Multiple * value slots are only available in the en-US locale. If you set this value to * true in any other locale, Amazon Lex throws a * ValidationException.

If the * multipleValuesSetting is not set, the default value is * false.

*/ inline bool MultipleValuesSettingHasBeenSet() const { return m_multipleValuesSettingHasBeenSet; } /** *

Determines whether the slot accepts multiple values in one response. Multiple * value slots are only available in the en-US locale. If you set this value to * true in any other locale, Amazon Lex throws a * ValidationException.

If the * multipleValuesSetting is not set, the default value is * false.

*/ inline void SetMultipleValuesSetting(const MultipleValuesSetting& value) { m_multipleValuesSettingHasBeenSet = true; m_multipleValuesSetting = value; } /** *

Determines whether the slot accepts multiple values in one response. Multiple * value slots are only available in the en-US locale. If you set this value to * true in any other locale, Amazon Lex throws a * ValidationException.

If the * multipleValuesSetting is not set, the default value is * false.

*/ inline void SetMultipleValuesSetting(MultipleValuesSetting&& value) { m_multipleValuesSettingHasBeenSet = true; m_multipleValuesSetting = std::move(value); } /** *

Determines whether the slot accepts multiple values in one response. Multiple * value slots are only available in the en-US locale. If you set this value to * true in any other locale, Amazon Lex throws a * ValidationException.

If the * multipleValuesSetting is not set, the default value is * false.

*/ inline UpdateSlotRequest& WithMultipleValuesSetting(const MultipleValuesSetting& value) { SetMultipleValuesSetting(value); return *this;} /** *

Determines whether the slot accepts multiple values in one response. Multiple * value slots are only available in the en-US locale. If you set this value to * true in any other locale, Amazon Lex throws a * ValidationException.

If the * multipleValuesSetting is not set, the default value is * false.

*/ inline UpdateSlotRequest& WithMultipleValuesSetting(MultipleValuesSetting&& value) { SetMultipleValuesSetting(std::move(value)); return *this;} /** *

Specifications for the constituent sub slots and the expression for the * composite slot.

*/ inline const SubSlotSetting& GetSubSlotSetting() const{ return m_subSlotSetting; } /** *

Specifications for the constituent sub slots and the expression for the * composite slot.

*/ inline bool SubSlotSettingHasBeenSet() const { return m_subSlotSettingHasBeenSet; } /** *

Specifications for the constituent sub slots and the expression for the * composite slot.

*/ inline void SetSubSlotSetting(const SubSlotSetting& value) { m_subSlotSettingHasBeenSet = true; m_subSlotSetting = value; } /** *

Specifications for the constituent sub slots and the expression for the * composite slot.

*/ inline void SetSubSlotSetting(SubSlotSetting&& value) { m_subSlotSettingHasBeenSet = true; m_subSlotSetting = std::move(value); } /** *

Specifications for the constituent sub slots and the expression for the * composite slot.

*/ inline UpdateSlotRequest& WithSubSlotSetting(const SubSlotSetting& value) { SetSubSlotSetting(value); return *this;} /** *

Specifications for the constituent sub slots and the expression for the * composite slot.

*/ inline UpdateSlotRequest& WithSubSlotSetting(SubSlotSetting&& value) { SetSubSlotSetting(std::move(value)); return *this;} private: Aws::String m_slotId; bool m_slotIdHasBeenSet = false; Aws::String m_slotName; bool m_slotNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_slotTypeId; bool m_slotTypeIdHasBeenSet = false; SlotValueElicitationSetting m_valueElicitationSetting; bool m_valueElicitationSettingHasBeenSet = false; ObfuscationSetting m_obfuscationSetting; bool m_obfuscationSettingHasBeenSet = false; Aws::String m_botId; bool m_botIdHasBeenSet = false; Aws::String m_botVersion; bool m_botVersionHasBeenSet = false; Aws::String m_localeId; bool m_localeIdHasBeenSet = false; Aws::String m_intentId; bool m_intentIdHasBeenSet = false; MultipleValuesSetting m_multipleValuesSetting; bool m_multipleValuesSettingHasBeenSet = false; SubSlotSetting m_subSlotSetting; bool m_subSlotSettingHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws