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

Summary information about a slot, a value that the bot elicits from the * user.

See Also:

AWS * API Reference

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

The unique identifier of the slot.

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

The unique identifier of the slot.

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

The unique identifier of the slot.

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

The unique identifier of the slot.

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

The unique identifier of the slot.

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

The unique identifier of the slot.

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

The unique identifier of the slot.

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

The unique identifier of the slot.

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

The name given to the slot.

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

The name given to the slot.

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

The name given to the slot.

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

The name given to the slot.

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

The name given to the slot.

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

The name given to the slot.

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

The name given to the slot.

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

The name given to the slot.

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

The description of the slot.

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

The description of the slot.

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

The description of the slot.

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

The description of the slot.

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

The description of the slot.

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

The description of the slot.

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

The description of the slot.

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

The description of the slot.

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

Whether the slot is required or optional. An intent is complete when all * required slots are filled.

*/ inline const SlotConstraint& GetSlotConstraint() const{ return m_slotConstraint; } /** *

Whether the slot is required or optional. An intent is complete when all * required slots are filled.

*/ inline bool SlotConstraintHasBeenSet() const { return m_slotConstraintHasBeenSet; } /** *

Whether the slot is required or optional. An intent is complete when all * required slots are filled.

*/ inline void SetSlotConstraint(const SlotConstraint& value) { m_slotConstraintHasBeenSet = true; m_slotConstraint = value; } /** *

Whether the slot is required or optional. An intent is complete when all * required slots are filled.

*/ inline void SetSlotConstraint(SlotConstraint&& value) { m_slotConstraintHasBeenSet = true; m_slotConstraint = std::move(value); } /** *

Whether the slot is required or optional. An intent is complete when all * required slots are filled.

*/ inline SlotSummary& WithSlotConstraint(const SlotConstraint& value) { SetSlotConstraint(value); return *this;} /** *

Whether the slot is required or optional. An intent is complete when all * required slots are filled.

*/ inline SlotSummary& WithSlotConstraint(SlotConstraint&& value) { SetSlotConstraint(std::move(value)); return *this;} /** *

The unique identifier for the slot type that defines the values for the * slot.

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

The unique identifier for the slot type that defines the values for the * slot.

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

The unique identifier for the slot type that defines the values for the * slot.

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

The unique identifier for the slot type that defines the values for the * slot.

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

The unique identifier for the slot type that defines the values for the * slot.

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

The unique identifier for the slot type that defines the values for the * slot.

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

The unique identifier for the slot type that defines the values for the * slot.

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

The unique identifier for the slot type that defines the values for the * slot.

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

Prompts that are sent to the user to elicit a value for the slot.

*/ inline const PromptSpecification& GetValueElicitationPromptSpecification() const{ return m_valueElicitationPromptSpecification; } /** *

Prompts that are sent to the user to elicit a value for the slot.

*/ inline bool ValueElicitationPromptSpecificationHasBeenSet() const { return m_valueElicitationPromptSpecificationHasBeenSet; } /** *

Prompts that are sent to the user to elicit a value for the slot.

*/ inline void SetValueElicitationPromptSpecification(const PromptSpecification& value) { m_valueElicitationPromptSpecificationHasBeenSet = true; m_valueElicitationPromptSpecification = value; } /** *

Prompts that are sent to the user to elicit a value for the slot.

*/ inline void SetValueElicitationPromptSpecification(PromptSpecification&& value) { m_valueElicitationPromptSpecificationHasBeenSet = true; m_valueElicitationPromptSpecification = std::move(value); } /** *

Prompts that are sent to the user to elicit a value for the slot.

*/ inline SlotSummary& WithValueElicitationPromptSpecification(const PromptSpecification& value) { SetValueElicitationPromptSpecification(value); return *this;} /** *

Prompts that are sent to the user to elicit a value for the slot.

*/ inline SlotSummary& WithValueElicitationPromptSpecification(PromptSpecification&& value) { SetValueElicitationPromptSpecification(std::move(value)); return *this;} /** *

The timestamp of the last date and time that the slot was updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; } /** *

The timestamp of the last date and time that the slot was updated.

*/ inline bool LastUpdatedDateTimeHasBeenSet() const { return m_lastUpdatedDateTimeHasBeenSet; } /** *

The timestamp of the last date and time that the slot was updated.

*/ inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = value; } /** *

The timestamp of the last date and time that the slot was updated.

*/ inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = std::move(value); } /** *

The timestamp of the last date and time that the slot was updated.

*/ inline SlotSummary& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;} /** *

The timestamp of the last date and time that the slot was updated.

*/ inline SlotSummary& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(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; SlotConstraint m_slotConstraint; bool m_slotConstraintHasBeenSet = false; Aws::String m_slotTypeId; bool m_slotTypeIdHasBeenSet = false; PromptSpecification m_valueElicitationPromptSpecification; bool m_valueElicitationPromptSpecificationHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedDateTime; bool m_lastUpdatedDateTimeHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws