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

The name of the intent.

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

The name of the intent.

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

A description of the intent.

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

A description of the intent.

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

An array of slot types that defines the information required to fulfill the * intent.

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

An array of slot types that defines the information required to fulfill the * intent.

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

An array of slot types that defines the information required to fulfill the * intent.

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

An array of slot types that defines the information required to fulfill the * intent.

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

An array of slot types that defines the information required to fulfill the * intent.

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

An array of slot types that defines the information required to fulfill the * intent.

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

An array of slot types that defines the information required to fulfill the * intent.

*/ inline CreateIntentVersionResult& 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 CreateIntentVersionResult& WithSampleUtterances(const Aws::Vector& value) { SetSampleUtterances(value); return *this;} /** *

An array of sample utterances configured for the intent.

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

An array of sample utterances configured for the intent.

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

An array of sample utterances configured for the intent.

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

An array of sample utterances configured for the intent.

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

If defined, the prompt that Amazon Lex uses to confirm the user's intent * before fulfilling it.

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

If defined, the prompt that Amazon Lex uses to confirm the user's intent * before fulfilling it.

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

If defined, the prompt that Amazon Lex uses to confirm the user's intent * before fulfilling it.

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

If defined, the prompt that Amazon Lex uses to confirm the user's intent * before fulfilling it.

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

If defined, the prompt that Amazon Lex uses to confirm the user's intent * before fulfilling it.

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

If defined, 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, 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, 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, Amazon Lex uses this prompt to solicit additional user activity * after the intent is fulfilled.

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

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

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

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

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

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

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

If defined, Amazon Lex invokes this Lambda function for each user input.

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

If defined, Amazon Lex invokes this Lambda function for each user input.

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

If defined, Amazon Lex invokes this Lambda function for each user input.

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

If defined, Amazon Lex invokes this Lambda function for each user input.

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

If defined, Amazon Lex invokes this Lambda function for each user input.

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

Describes how the intent is fulfilled.

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

Describes how the intent is fulfilled.

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

Describes how the intent is fulfilled.

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

Describes how the intent is fulfilled.

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

Describes how the intent is fulfilled.

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

A unique identifier for a built-in intent.

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

A unique identifier for a built-in intent.

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

The date that the intent was updated.

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

The date that the intent was updated.

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

The date that the intent was updated.

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

The date that the intent was updated.

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

The date that the intent was updated.

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

The date that the intent was created.

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

The version number assigned to the new version of the intent.

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

The version number assigned to the new version of the intent.

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

The version number assigned to the new version of the intent.

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

The version number assigned to the new version of the intent.

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

The version number assigned to the new version of the intent.

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

The version number assigned to the new version of the intent.

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

The version number assigned to the new version of the intent.

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

Checksum of the intent version created.

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

Checksum of the intent version created.

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

Checksum of the intent version created.

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

Checksum of the intent version created.

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

Checksum of the intent version created.

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

Checksum of the intent version created.

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

Checksum of the intent version created.

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

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

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

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

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

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

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

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

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

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

*/ inline CreateIntentVersionResult& 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 CreateIntentVersionResult& 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 CreateIntentVersionResult& 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 CreateIntentVersionResult& 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 CreateIntentVersionResult& 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 CreateIntentVersionResult& 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 CreateIntentVersionResult& 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 CreateIntentVersionResult& 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 CreateIntentVersionResult& 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 CreateIntentVersionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline CreateIntentVersionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline CreateIntentVersionResult& 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