/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Summary information about a slot, a value that the bot elicits from the
* user.See Also:
AWS
* API Reference
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