/** * 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 PutIntentResult { public: AWS_LEXMODELBUILDINGSERVICE_API PutIntentResult(); AWS_LEXMODELBUILDINGSERVICE_API PutIntentResult(const Aws::AmazonWebServiceResult& result); AWS_LEXMODELBUILDINGSERVICE_API PutIntentResult& 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 PutIntentResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the intent.

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

The name of the intent.

*/ inline PutIntentResult& 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 PutIntentResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the intent.

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

A description of the intent.

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

An array of intent slots that are configured for the intent.

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

An array of intent slots that are configured for the intent.

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

An array of intent slots that are configured for the intent.

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

An array of intent slots that are configured for the intent.

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

An array of intent slots that are configured for the intent.

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

An array of intent slots that are configured for the intent.

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

An array of intent slots that are configured for the intent.

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

An array of sample utterances that are configured for the intent.

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

An array of sample utterances that are configured for the intent.

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

An array of sample utterances that are configured for the intent.

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

An array of sample utterances that are configured for the intent.

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

An array of sample utterances that are configured for the intent.

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

An array of sample utterances that are configured for the intent.

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

An array of sample utterances that are configured for the intent.

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

An array of sample utterances that are configured for the intent.

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

If defined in the intent, Amazon Lex prompts the user to confirm the intent * before fulfilling it.

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

If defined in the intent, Amazon Lex prompts the user to confirm the intent * before fulfilling it.

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

If defined in the intent, Amazon Lex prompts the user to confirm the intent * before fulfilling it.

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

If defined in the intent, Amazon Lex prompts the user to confirm the intent * before fulfilling it.

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

If defined in the intent, Amazon Lex prompts the user to confirm the intent * before fulfilling it.

*/ inline PutIntentResult& 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 PutIntentResult& 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 PutIntentResult& WithRejectionStatement(Statement&& value) { SetRejectionStatement(std::move(value)); return *this;} /** *

If defined in the intent, Amazon Lex uses this prompt to solicit additional * user activity after the intent is fulfilled.

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

If defined in the intent, Amazon Lex uses this prompt to solicit additional * user activity after the intent is fulfilled.

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

If defined in the intent, Amazon Lex uses this prompt to solicit additional * user activity after the intent is fulfilled.

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

If defined in the intent, Amazon Lex uses this prompt to solicit additional * user activity after the intent is fulfilled.

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

If defined in the intent, Amazon Lex uses this prompt to solicit additional * user activity after the intent is fulfilled.

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

After the Lambda function specified in * thefulfillmentActivityintent 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 * thefulfillmentActivityintent 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 * thefulfillmentActivityintent 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 * thefulfillmentActivityintent fulfills the intent, Amazon Lex * conveys this statement to the user.

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

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

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

If defined in the intent, Amazon Lex invokes this Lambda function for each * user input.

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

If defined in the intent, Amazon Lex invokes this Lambda function for each * user input.

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

If defined in the intent, Amazon Lex invokes this Lambda function for each * user input.

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

If defined in the intent, Amazon Lex invokes this Lambda function for each * user input.

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

If defined in the intent, Amazon Lex invokes this Lambda function for each * user input.

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

If defined in the intent, Amazon Lex invokes this Lambda function to fulfill * the intent after the user provides all of the information required by the * intent.

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

If defined in the intent, Amazon Lex invokes this Lambda function to fulfill * the intent after the user provides all of the information required by the * intent.

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

If defined in the intent, Amazon Lex invokes this Lambda function to fulfill * the intent after the user provides all of the information required by the * intent.

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

If defined in the intent, Amazon Lex invokes this Lambda function to fulfill * the intent after the user provides all of the information required by the * intent.

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

If defined in the intent, Amazon Lex invokes this Lambda function to fulfill * the intent after the user provides all of the information required by the * intent.

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

A unique identifier for the built-in intent that this intent is based on.

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

A unique identifier for the built-in intent that this intent is based on.

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

A unique identifier for the built-in intent that this intent is based on.

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

A unique identifier for the built-in intent that this intent is based on.

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

A unique identifier for the built-in intent that this intent is based on.

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

A unique identifier for the built-in intent that this intent is based on.

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

A unique identifier for the built-in intent that this intent is based on.

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

The date that the intent was updated. When you create a resource, the * creation date and last update dates 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 last update dates 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 last update dates 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 last update dates are the same.

*/ inline PutIntentResult& 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 last update dates are the same.

*/ inline PutIntentResult& 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 PutIntentResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} /** *

The date that the intent was created.

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

The version of the intent. For a new intent, the version is always * $LATEST.

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

The version of the intent. For a new intent, the version is always * $LATEST.

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

The version of the intent. For a new intent, the version is always * $LATEST.

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

The version of the intent. For a new intent, the version is always * $LATEST.

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

The version of the intent. For a new intent, the version is always * $LATEST.

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

The version of the intent. For a new intent, the version is always * $LATEST.

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

The version of the intent. For a new intent, the version is always * $LATEST.

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

Checksum of the $LATESTversion of the intent created or * updated.

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

Checksum of the $LATESTversion of the intent created or * updated.

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

Checksum of the $LATESTversion of the intent created or * updated.

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

Checksum of the $LATESTversion of the intent created or * updated.

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

Checksum of the $LATESTversion of the intent created or * updated.

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

Checksum of the $LATESTversion of the intent created or * updated.

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

Checksum of the $LATESTversion of the intent created or * updated.

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

True if a new version of the intent was created. If the * createVersion field was not specified in the request, the * createVersion field is set to false in the response.

*/ inline bool GetCreateVersion() const{ return m_createVersion; } /** *

True if a new version of the intent was created. If the * createVersion field was not specified in the request, the * createVersion field is set to false in the response.

*/ inline void SetCreateVersion(bool value) { m_createVersion = value; } /** *

True if a new version of the intent was created. If the * createVersion field was not specified in the request, the * createVersion field is set to false in the response.

*/ inline PutIntentResult& WithCreateVersion(bool value) { SetCreateVersion(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

*/ inline PutIntentResult& 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 PutIntentResult& 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 PutIntentResult& 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 PutIntentResult& 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 PutIntentResult& 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 PutIntentResult& 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 PutIntentResult& 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 PutIntentResult& 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 PutIntentResult& 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 PutIntentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline PutIntentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline PutIntentResult& 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; bool m_createVersion; KendraConfiguration m_kendraConfiguration; Aws::Vector m_inputContexts; Aws::Vector m_outputContexts; Aws::String m_requestId; }; } // namespace Model } // namespace LexModelBuildingService } // namespace Aws