/** * 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 #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace LexModelBuildingService { namespace Model { class GetIntentResult { public: AWS_LEXMODELBUILDINGSERVICE_API GetIntentResult(); AWS_LEXMODELBUILDINGSERVICE_API GetIntentResult(const Aws::AmazonWebServiceResult& result); AWS_LEXMODELBUILDINGSERVICE_API GetIntentResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The name of the intent.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the intent.

*/ inline void SetName(const Aws::String& value) { m_name = value; } /** *

The name of the intent.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

The name of the intent.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The name of the intent.

*/ inline GetIntentResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the intent.

*/ inline GetIntentResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the intent.

*/ inline GetIntentResult& WithName(const char* value) { SetName(value); return *this;} /** *

A description of the intent.

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

A description of the intent.

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

A description of the intent.

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

A description of the intent.

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

A description of the intent.

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

A description of the intent.

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

A description of the intent.

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

An array of intent slots configured for the intent.

*/ inline const Aws::Vector& GetSlots() const{ return m_slots; } /** *

An array of intent slots configured for the intent.

*/ inline void SetSlots(const Aws::Vector& value) { m_slots = value; } /** *

An array of intent slots configured for the intent.

*/ inline void SetSlots(Aws::Vector&& value) { m_slots = std::move(value); } /** *

An array of intent slots configured for the intent.

*/ inline GetIntentResult& WithSlots(const Aws::Vector& value) { SetSlots(value); return *this;} /** *

An array of intent slots configured for the intent.

*/ inline GetIntentResult& WithSlots(Aws::Vector&& value) { SetSlots(std::move(value)); return *this;} /** *

An array of intent slots configured for the intent.

*/ inline GetIntentResult& AddSlots(const Slot& value) { m_slots.push_back(value); return *this; } /** *

An array of intent slots configured for the intent.

*/ inline GetIntentResult& AddSlots(Slot&& value) { m_slots.push_back(std::move(value)); return *this; } /** *

An array of sample utterances configured for the intent.

*/ inline const Aws::Vector& GetSampleUtterances() const{ return m_sampleUtterances; } /** *

An array of sample utterances configured for the intent.

*/ inline void SetSampleUtterances(const Aws::Vector& value) { m_sampleUtterances = value; } /** *

An array of sample utterances configured for the intent.

*/ inline void SetSampleUtterances(Aws::Vector&& value) { m_sampleUtterances = std::move(value); } /** *

An array of sample utterances configured for the intent.

*/ inline GetIntentResult& WithSampleUtterances(const Aws::Vector& value) { SetSampleUtterances(value); return *this;} /** *

An array of sample utterances configured for the intent.

*/ inline GetIntentResult& WithSampleUtterances(Aws::Vector&& value) { SetSampleUtterances(std::move(value)); return *this;} /** *

An array of sample utterances configured for the intent.

*/ inline GetIntentResult& AddSampleUtterances(const Aws::String& value) { m_sampleUtterances.push_back(value); return *this; } /** *

An array of sample utterances configured for the intent.

*/ inline GetIntentResult& AddSampleUtterances(Aws::String&& value) { m_sampleUtterances.push_back(std::move(value)); return *this; } /** *

An array of sample utterances configured for the intent.

*/ inline GetIntentResult& AddSampleUtterances(const char* value) { m_sampleUtterances.push_back(value); return *this; } /** *

If defined in the bot, Amazon Lex uses prompt to confirm the intent before * fulfilling the user's request. For more information, see PutIntent.

*/ inline const Prompt& GetConfirmationPrompt() const{ return m_confirmationPrompt; } /** *

If defined in the bot, Amazon Lex uses prompt to confirm the intent before * fulfilling the user's request. For more information, see PutIntent.

*/ inline void SetConfirmationPrompt(const Prompt& value) { m_confirmationPrompt = value; } /** *

If defined in the bot, Amazon Lex uses prompt to confirm the intent before * fulfilling the user's request. For more information, see PutIntent.

*/ inline void SetConfirmationPrompt(Prompt&& value) { m_confirmationPrompt = std::move(value); } /** *

If defined in the bot, Amazon Lex uses prompt to confirm the intent before * fulfilling the user's request. For more information, see PutIntent.

*/ inline GetIntentResult& WithConfirmationPrompt(const Prompt& value) { SetConfirmationPrompt(value); return *this;} /** *

If defined in the bot, Amazon Lex uses prompt to confirm the intent before * fulfilling the user's request. For more information, see PutIntent.

*/ inline GetIntentResult& WithConfirmationPrompt(Prompt&& value) { SetConfirmationPrompt(std::move(value)); return *this;} /** *

If the user answers "no" to the question defined in * confirmationPrompt, Amazon Lex responds with this statement to * acknowledge that the intent was canceled.

*/ inline const Statement& GetRejectionStatement() const{ return m_rejectionStatement; } /** *

If the user answers "no" to the question defined in * confirmationPrompt, Amazon Lex responds with this statement to * acknowledge that the intent was canceled.

*/ inline void SetRejectionStatement(const Statement& value) { m_rejectionStatement = value; } /** *

If the user answers "no" to the question defined in * confirmationPrompt, Amazon Lex responds with this statement to * acknowledge that the intent was canceled.

*/ inline void SetRejectionStatement(Statement&& value) { m_rejectionStatement = std::move(value); } /** *

If the user answers "no" to the question defined in * confirmationPrompt, Amazon Lex responds with this statement to * acknowledge that the intent was canceled.

*/ inline GetIntentResult& WithRejectionStatement(const Statement& value) { SetRejectionStatement(value); return *this;} /** *

If the user answers "no" to the question defined in * confirmationPrompt, Amazon Lex responds with this statement to * acknowledge that the intent was canceled.

*/ inline GetIntentResult& WithRejectionStatement(Statement&& value) { SetRejectionStatement(std::move(value)); return *this;} /** *

If defined in the bot, Amazon Lex uses this prompt to solicit additional user * activity after the intent is fulfilled. For more information, see * PutIntent.

*/ inline const FollowUpPrompt& GetFollowUpPrompt() const{ return m_followUpPrompt; } /** *

If defined in the bot, Amazon Lex uses this prompt to solicit additional user * activity after the intent is fulfilled. For more information, see * PutIntent.

*/ inline void SetFollowUpPrompt(const FollowUpPrompt& value) { m_followUpPrompt = value; } /** *

If defined in the bot, Amazon Lex uses this prompt to solicit additional user * activity after the intent is fulfilled. For more information, see * PutIntent.

*/ inline void SetFollowUpPrompt(FollowUpPrompt&& value) { m_followUpPrompt = std::move(value); } /** *

If defined in the bot, Amazon Lex uses this prompt to solicit additional user * activity after the intent is fulfilled. For more information, see * PutIntent.

*/ inline GetIntentResult& WithFollowUpPrompt(const FollowUpPrompt& value) { SetFollowUpPrompt(value); return *this;} /** *

If defined in the bot, Amazon Lex uses this prompt to solicit additional user * activity after the intent is fulfilled. For more information, see * PutIntent.

*/ inline GetIntentResult& WithFollowUpPrompt(FollowUpPrompt&& value) { SetFollowUpPrompt(std::move(value)); return *this;} /** *

After the Lambda function specified in the fulfillmentActivity * element fulfills the intent, Amazon Lex conveys this statement to the user.

*/ inline const Statement& GetConclusionStatement() const{ return m_conclusionStatement; } /** *

After the Lambda function specified in the fulfillmentActivity * element fulfills the intent, Amazon Lex conveys this statement to the user.

*/ inline void SetConclusionStatement(const Statement& value) { m_conclusionStatement = value; } /** *

After the Lambda function specified in the fulfillmentActivity * element fulfills the intent, Amazon Lex conveys this statement to the user.

*/ inline void SetConclusionStatement(Statement&& value) { m_conclusionStatement = std::move(value); } /** *

After the Lambda function specified in the fulfillmentActivity * element fulfills the intent, Amazon Lex conveys this statement to the user.

*/ inline GetIntentResult& WithConclusionStatement(const Statement& value) { SetConclusionStatement(value); return *this;} /** *

After the Lambda function specified in the fulfillmentActivity * element fulfills the intent, Amazon Lex conveys this statement to the user.

*/ inline GetIntentResult& WithConclusionStatement(Statement&& value) { SetConclusionStatement(std::move(value)); return *this;} /** *

If defined in the bot, Amazon Amazon Lex invokes this Lambda function for * each user input. For more information, see PutIntent.

*/ inline const CodeHook& GetDialogCodeHook() const{ return m_dialogCodeHook; } /** *

If defined in the bot, Amazon Amazon Lex invokes this Lambda function for * each user input. For more information, see PutIntent.

*/ inline void SetDialogCodeHook(const CodeHook& value) { m_dialogCodeHook = value; } /** *

If defined in the bot, Amazon Amazon Lex invokes this Lambda function for * each user input. For more information, see PutIntent.

*/ inline void SetDialogCodeHook(CodeHook&& value) { m_dialogCodeHook = std::move(value); } /** *

If defined in the bot, Amazon Amazon Lex invokes this Lambda function for * each user input. For more information, see PutIntent.

*/ inline GetIntentResult& WithDialogCodeHook(const CodeHook& value) { SetDialogCodeHook(value); return *this;} /** *

If defined in the bot, Amazon Amazon Lex invokes this Lambda function for * each user input. For more information, see PutIntent.

*/ inline GetIntentResult& WithDialogCodeHook(CodeHook&& value) { SetDialogCodeHook(std::move(value)); return *this;} /** *

Describes how the intent is fulfilled. For more information, see * PutIntent.

*/ inline const FulfillmentActivity& GetFulfillmentActivity() const{ return m_fulfillmentActivity; } /** *

Describes how the intent is fulfilled. For more information, see * PutIntent.

*/ inline void SetFulfillmentActivity(const FulfillmentActivity& value) { m_fulfillmentActivity = value; } /** *

Describes how the intent is fulfilled. For more information, see * PutIntent.

*/ inline void SetFulfillmentActivity(FulfillmentActivity&& value) { m_fulfillmentActivity = std::move(value); } /** *

Describes how the intent is fulfilled. For more information, see * PutIntent.

*/ inline GetIntentResult& WithFulfillmentActivity(const FulfillmentActivity& value) { SetFulfillmentActivity(value); return *this;} /** *

Describes how the intent is fulfilled. For more information, see * PutIntent.

*/ inline GetIntentResult& WithFulfillmentActivity(FulfillmentActivity&& value) { SetFulfillmentActivity(std::move(value)); return *this;} /** *

A unique identifier for a built-in intent.

*/ inline const Aws::String& GetParentIntentSignature() const{ return m_parentIntentSignature; } /** *

A unique identifier for a built-in intent.

*/ inline void SetParentIntentSignature(const Aws::String& value) { m_parentIntentSignature = value; } /** *

A unique identifier for a built-in intent.

*/ inline void SetParentIntentSignature(Aws::String&& value) { m_parentIntentSignature = std::move(value); } /** *

A unique identifier for a built-in intent.

*/ inline void SetParentIntentSignature(const char* value) { m_parentIntentSignature.assign(value); } /** *

A unique identifier for a built-in intent.

*/ inline GetIntentResult& WithParentIntentSignature(const Aws::String& value) { SetParentIntentSignature(value); return *this;} /** *

A unique identifier for a built-in intent.

*/ inline GetIntentResult& WithParentIntentSignature(Aws::String&& value) { SetParentIntentSignature(std::move(value)); return *this;} /** *

A unique identifier for a built-in intent.

*/ inline GetIntentResult& WithParentIntentSignature(const char* value) { SetParentIntentSignature(value); return *this;} /** *

The date that the intent was updated. When you create a resource, the * creation date and the last updated date are the same.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; } /** *

The date that the intent was updated. When you create a resource, the * creation date and the last updated date are the same.

*/ inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDate = value; } /** *

The date that the intent was updated. When you create a resource, the * creation date and the last updated date are the same.

*/ inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDate = std::move(value); } /** *

The date that the intent was updated. When you create a resource, the * creation date and the last updated date are the same.

*/ inline GetIntentResult& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;} /** *

The date that the intent was updated. When you create a resource, the * creation date and the last updated date are the same.

*/ inline GetIntentResult& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;} /** *

The date that the intent was created.

*/ inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } /** *

The date that the intent was created.

*/ inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; } /** *

The date that the intent was created.

*/ inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); } /** *

The date that the intent was created.

*/ inline GetIntentResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} /** *

The date that the intent was created.

*/ inline GetIntentResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} /** *

The version of the intent.

*/ inline const Aws::String& GetVersion() const{ return m_version; } /** *

The version of the intent.

*/ inline void SetVersion(const Aws::String& value) { m_version = value; } /** *

The version of the intent.

*/ inline void SetVersion(Aws::String&& value) { m_version = std::move(value); } /** *

The version of the intent.

*/ inline void SetVersion(const char* value) { m_version.assign(value); } /** *

The version of the intent.

*/ inline GetIntentResult& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} /** *

The version of the intent.

*/ inline GetIntentResult& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} /** *

The version of the intent.

*/ inline GetIntentResult& WithVersion(const char* value) { SetVersion(value); return *this;} /** *

Checksum of the intent.

*/ inline const Aws::String& GetChecksum() const{ return m_checksum; } /** *

Checksum of the intent.

*/ inline void SetChecksum(const Aws::String& value) { m_checksum = value; } /** *

Checksum of the intent.

*/ inline void SetChecksum(Aws::String&& value) { m_checksum = std::move(value); } /** *

Checksum of the intent.

*/ inline void SetChecksum(const char* value) { m_checksum.assign(value); } /** *

Checksum of the intent.

*/ inline GetIntentResult& WithChecksum(const Aws::String& value) { SetChecksum(value); return *this;} /** *

Checksum of the intent.

*/ inline GetIntentResult& WithChecksum(Aws::String&& value) { SetChecksum(std::move(value)); return *this;} /** *

Checksum of the intent.

*/ inline GetIntentResult& WithChecksum(const char* value) { SetChecksum(value); return *this;} /** *

Configuration information, if any, to connect to an Amazon Kendra index with * the AMAZON.KendraSearchIntent intent.

*/ inline const KendraConfiguration& GetKendraConfiguration() const{ return m_kendraConfiguration; } /** *

Configuration information, if any, to connect to an Amazon Kendra index with * the AMAZON.KendraSearchIntent intent.

*/ inline void SetKendraConfiguration(const KendraConfiguration& value) { m_kendraConfiguration = value; } /** *

Configuration information, if any, to connect to an Amazon Kendra index with * the AMAZON.KendraSearchIntent intent.

*/ inline void SetKendraConfiguration(KendraConfiguration&& value) { m_kendraConfiguration = std::move(value); } /** *

Configuration information, if any, to connect to an Amazon Kendra index with * the AMAZON.KendraSearchIntent intent.

*/ inline GetIntentResult& WithKendraConfiguration(const KendraConfiguration& value) { SetKendraConfiguration(value); return *this;} /** *

Configuration information, if any, to connect to an Amazon Kendra index with * the AMAZON.KendraSearchIntent intent.

*/ inline GetIntentResult& WithKendraConfiguration(KendraConfiguration&& value) { SetKendraConfiguration(std::move(value)); return *this;} /** *

An array of InputContext objects that lists the contexts that * must be active for Amazon Lex to choose the intent in a conversation with the * user.

*/ inline const Aws::Vector& GetInputContexts() const{ return m_inputContexts; } /** *

An array of InputContext objects that lists the contexts that * must be active for Amazon Lex to choose the intent in a conversation with the * user.

*/ inline void SetInputContexts(const Aws::Vector& value) { m_inputContexts = value; } /** *

An array of InputContext objects that lists the contexts that * must be active for Amazon Lex to choose the intent in a conversation with the * user.

*/ inline void SetInputContexts(Aws::Vector&& value) { m_inputContexts = std::move(value); } /** *

An array of InputContext objects that lists the contexts that * must be active for Amazon Lex to choose the intent in a conversation with the * user.

*/ inline GetIntentResult& WithInputContexts(const Aws::Vector& value) { SetInputContexts(value); return *this;} /** *

An array of InputContext objects that lists the contexts that * must be active for Amazon Lex to choose the intent in a conversation with the * user.

*/ inline GetIntentResult& WithInputContexts(Aws::Vector&& value) { SetInputContexts(std::move(value)); return *this;} /** *

An array of InputContext objects that lists the contexts that * must be active for Amazon Lex to choose the intent in a conversation with the * user.

*/ inline GetIntentResult& AddInputContexts(const InputContext& value) { m_inputContexts.push_back(value); return *this; } /** *

An array of InputContext objects that lists the contexts that * must be active for Amazon Lex to choose the intent in a conversation with the * user.

*/ inline GetIntentResult& AddInputContexts(InputContext&& value) { m_inputContexts.push_back(std::move(value)); return *this; } /** *

An array of OutputContext objects that lists the contexts that * the intent activates when the intent is fulfilled.

*/ inline const Aws::Vector& GetOutputContexts() const{ return m_outputContexts; } /** *

An array of OutputContext objects that lists the contexts that * the intent activates when the intent is fulfilled.

*/ inline void SetOutputContexts(const Aws::Vector& value) { m_outputContexts = value; } /** *

An array of OutputContext objects that lists the contexts that * the intent activates when the intent is fulfilled.

*/ inline void SetOutputContexts(Aws::Vector&& value) { m_outputContexts = std::move(value); } /** *

An array of OutputContext objects that lists the contexts that * the intent activates when the intent is fulfilled.

*/ inline GetIntentResult& WithOutputContexts(const Aws::Vector& value) { SetOutputContexts(value); return *this;} /** *

An array of OutputContext objects that lists the contexts that * the intent activates when the intent is fulfilled.

*/ inline GetIntentResult& WithOutputContexts(Aws::Vector&& value) { SetOutputContexts(std::move(value)); return *this;} /** *

An array of OutputContext objects that lists the contexts that * the intent activates when the intent is fulfilled.

*/ inline GetIntentResult& AddOutputContexts(const OutputContext& value) { m_outputContexts.push_back(value); return *this; } /** *

An array of OutputContext objects that lists the contexts that * the intent activates when the intent is fulfilled.

*/ inline GetIntentResult& AddOutputContexts(OutputContext&& value) { m_outputContexts.push_back(std::move(value)); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetIntentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetIntentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetIntentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_name; Aws::String m_description; Aws::Vector m_slots; Aws::Vector m_sampleUtterances; Prompt m_confirmationPrompt; Statement m_rejectionStatement; FollowUpPrompt m_followUpPrompt; Statement m_conclusionStatement; CodeHook m_dialogCodeHook; FulfillmentActivity m_fulfillmentActivity; Aws::String m_parentIntentSignature; Aws::Utils::DateTime m_lastUpdatedDate; Aws::Utils::DateTime m_createdDate; Aws::String m_version; Aws::String m_checksum; KendraConfiguration m_kendraConfiguration; Aws::Vector m_inputContexts; Aws::Vector m_outputContexts; Aws::String m_requestId; }; } // namespace Model } // namespace LexModelBuildingService } // namespace Aws