/** * 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 { namespace LexModelsV2 { namespace Model { /** */ class CreateIntentRequest : public LexModelsV2Request { public: AWS_LEXMODELSV2_API CreateIntentRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateIntent"; } AWS_LEXMODELSV2_API Aws::String SerializePayload() const override; /** *

The name of the intent. Intent names must be unique in the locale that * contains the intent and cannot match the name of any built-in intent.

*/ inline const Aws::String& GetIntentName() const{ return m_intentName; } /** *

The name of the intent. Intent names must be unique in the locale that * contains the intent and cannot match the name of any built-in intent.

*/ inline bool IntentNameHasBeenSet() const { return m_intentNameHasBeenSet; } /** *

The name of the intent. Intent names must be unique in the locale that * contains the intent and cannot match the name of any built-in intent.

*/ inline void SetIntentName(const Aws::String& value) { m_intentNameHasBeenSet = true; m_intentName = value; } /** *

The name of the intent. Intent names must be unique in the locale that * contains the intent and cannot match the name of any built-in intent.

*/ inline void SetIntentName(Aws::String&& value) { m_intentNameHasBeenSet = true; m_intentName = std::move(value); } /** *

The name of the intent. Intent names must be unique in the locale that * contains the intent and cannot match the name of any built-in intent.

*/ inline void SetIntentName(const char* value) { m_intentNameHasBeenSet = true; m_intentName.assign(value); } /** *

The name of the intent. Intent names must be unique in the locale that * contains the intent and cannot match the name of any built-in intent.

*/ inline CreateIntentRequest& WithIntentName(const Aws::String& value) { SetIntentName(value); return *this;} /** *

The name of the intent. Intent names must be unique in the locale that * contains the intent and cannot match the name of any built-in intent.

*/ inline CreateIntentRequest& WithIntentName(Aws::String&& value) { SetIntentName(std::move(value)); return *this;} /** *

The name of the intent. Intent names must be unique in the locale that * contains the intent and cannot match the name of any built-in intent.

*/ inline CreateIntentRequest& WithIntentName(const char* value) { SetIntentName(value); return *this;} /** *

A description of the intent. Use the description to help identify the intent * in lists.

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

A description of the intent. Use the description to help identify the intent * in lists.

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

A description of the intent. Use the description to help identify the intent * in lists.

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

A description of the intent. Use the description to help identify the intent * in lists.

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

A description of the intent. Use the description to help identify the intent * in lists.

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

A description of the intent. Use the description to help identify the intent * in lists.

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

A description of the intent. Use the description to help identify the intent * in lists.

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

A description of the intent. Use the description to help identify the intent * in lists.

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

A unique identifier for the built-in intent to base this intent on.

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

A unique identifier for the built-in intent to base this intent on.

*/ inline bool ParentIntentSignatureHasBeenSet() const { return m_parentIntentSignatureHasBeenSet; } /** *

A unique identifier for the built-in intent to base this intent on.

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

A unique identifier for the built-in intent to base this intent on.

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

A unique identifier for the built-in intent to base this intent on.

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

A unique identifier for the built-in intent to base this intent on.

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

A unique identifier for the built-in intent to base this intent on.

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

A unique identifier for the built-in intent to base this intent on.

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

An array of strings that a user might say to signal the intent. For example, * "I want a pizza", or "I want a {PizzaSize} pizza".

In an utterance, slot * names are enclosed in curly braces ("{", "}") to indicate where they should be * displayed in the utterance shown to the user..

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

An array of strings that a user might say to signal the intent. For example, * "I want a pizza", or "I want a {PizzaSize} pizza".

In an utterance, slot * names are enclosed in curly braces ("{", "}") to indicate where they should be * displayed in the utterance shown to the user..

*/ inline bool SampleUtterancesHasBeenSet() const { return m_sampleUtterancesHasBeenSet; } /** *

An array of strings that a user might say to signal the intent. For example, * "I want a pizza", or "I want a {PizzaSize} pizza".

In an utterance, slot * names are enclosed in curly braces ("{", "}") to indicate where they should be * displayed in the utterance shown to the user..

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

An array of strings that a user might say to signal the intent. For example, * "I want a pizza", or "I want a {PizzaSize} pizza".

In an utterance, slot * names are enclosed in curly braces ("{", "}") to indicate where they should be * displayed in the utterance shown to the user..

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

An array of strings that a user might say to signal the intent. For example, * "I want a pizza", or "I want a {PizzaSize} pizza".

In an utterance, slot * names are enclosed in curly braces ("{", "}") to indicate where they should be * displayed in the utterance shown to the user..

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

An array of strings that a user might say to signal the intent. For example, * "I want a pizza", or "I want a {PizzaSize} pizza".

In an utterance, slot * names are enclosed in curly braces ("{", "}") to indicate where they should be * displayed in the utterance shown to the user..

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

An array of strings that a user might say to signal the intent. For example, * "I want a pizza", or "I want a {PizzaSize} pizza".

In an utterance, slot * names are enclosed in curly braces ("{", "}") to indicate where they should be * displayed in the utterance shown to the user..

*/ inline CreateIntentRequest& AddSampleUtterances(const SampleUtterance& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances.push_back(value); return *this; } /** *

An array of strings that a user might say to signal the intent. For example, * "I want a pizza", or "I want a {PizzaSize} pizza".

In an utterance, slot * names are enclosed in curly braces ("{", "}") to indicate where they should be * displayed in the utterance shown to the user..

*/ inline CreateIntentRequest& AddSampleUtterances(SampleUtterance&& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances.push_back(std::move(value)); return *this; } /** *

Specifies that Amazon Lex invokes the alias Lambda function for each user * input. You can invoke this Lambda function to personalize user interaction.

*

For example, suppose that your bot determines that the user's name is John. * You Lambda function might retrieve John's information from a backend database * and prepopulate some of the values. For example, if you find that John is gluten * intolerant, you might set the corresponding intent slot, * glutenIntolerant to true. You might find John's phone * number and set the corresponding session attribute.

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

Specifies that Amazon Lex invokes the alias Lambda function for each user * input. You can invoke this Lambda function to personalize user interaction.

*

For example, suppose that your bot determines that the user's name is John. * You Lambda function might retrieve John's information from a backend database * and prepopulate some of the values. For example, if you find that John is gluten * intolerant, you might set the corresponding intent slot, * glutenIntolerant to true. You might find John's phone * number and set the corresponding session attribute.

*/ inline bool DialogCodeHookHasBeenSet() const { return m_dialogCodeHookHasBeenSet; } /** *

Specifies that Amazon Lex invokes the alias Lambda function for each user * input. You can invoke this Lambda function to personalize user interaction.

*

For example, suppose that your bot determines that the user's name is John. * You Lambda function might retrieve John's information from a backend database * and prepopulate some of the values. For example, if you find that John is gluten * intolerant, you might set the corresponding intent slot, * glutenIntolerant to true. You might find John's phone * number and set the corresponding session attribute.

*/ inline void SetDialogCodeHook(const DialogCodeHookSettings& value) { m_dialogCodeHookHasBeenSet = true; m_dialogCodeHook = value; } /** *

Specifies that Amazon Lex invokes the alias Lambda function for each user * input. You can invoke this Lambda function to personalize user interaction.

*

For example, suppose that your bot determines that the user's name is John. * You Lambda function might retrieve John's information from a backend database * and prepopulate some of the values. For example, if you find that John is gluten * intolerant, you might set the corresponding intent slot, * glutenIntolerant to true. You might find John's phone * number and set the corresponding session attribute.

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

Specifies that Amazon Lex invokes the alias Lambda function for each user * input. You can invoke this Lambda function to personalize user interaction.

*

For example, suppose that your bot determines that the user's name is John. * You Lambda function might retrieve John's information from a backend database * and prepopulate some of the values. For example, if you find that John is gluten * intolerant, you might set the corresponding intent slot, * glutenIntolerant to true. You might find John's phone * number and set the corresponding session attribute.

*/ inline CreateIntentRequest& WithDialogCodeHook(const DialogCodeHookSettings& value) { SetDialogCodeHook(value); return *this;} /** *

Specifies that Amazon Lex invokes the alias Lambda function for each user * input. You can invoke this Lambda function to personalize user interaction.

*

For example, suppose that your bot determines that the user's name is John. * You Lambda function might retrieve John's information from a backend database * and prepopulate some of the values. For example, if you find that John is gluten * intolerant, you might set the corresponding intent slot, * glutenIntolerant to true. You might find John's phone * number and set the corresponding session attribute.

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

Specifies that Amazon Lex invokes the alias Lambda function when the intent * is ready for fulfillment. You can invoke this function to complete the bot's * transaction with the user.

For example, in a pizza ordering bot, the * Lambda function can look up the closest pizza restaurant to the customer's * location and then place an order on the customer's behalf.

*/ inline const FulfillmentCodeHookSettings& GetFulfillmentCodeHook() const{ return m_fulfillmentCodeHook; } /** *

Specifies that Amazon Lex invokes the alias Lambda function when the intent * is ready for fulfillment. You can invoke this function to complete the bot's * transaction with the user.

For example, in a pizza ordering bot, the * Lambda function can look up the closest pizza restaurant to the customer's * location and then place an order on the customer's behalf.

*/ inline bool FulfillmentCodeHookHasBeenSet() const { return m_fulfillmentCodeHookHasBeenSet; } /** *

Specifies that Amazon Lex invokes the alias Lambda function when the intent * is ready for fulfillment. You can invoke this function to complete the bot's * transaction with the user.

For example, in a pizza ordering bot, the * Lambda function can look up the closest pizza restaurant to the customer's * location and then place an order on the customer's behalf.

*/ inline void SetFulfillmentCodeHook(const FulfillmentCodeHookSettings& value) { m_fulfillmentCodeHookHasBeenSet = true; m_fulfillmentCodeHook = value; } /** *

Specifies that Amazon Lex invokes the alias Lambda function when the intent * is ready for fulfillment. You can invoke this function to complete the bot's * transaction with the user.

For example, in a pizza ordering bot, the * Lambda function can look up the closest pizza restaurant to the customer's * location and then place an order on the customer's behalf.

*/ inline void SetFulfillmentCodeHook(FulfillmentCodeHookSettings&& value) { m_fulfillmentCodeHookHasBeenSet = true; m_fulfillmentCodeHook = std::move(value); } /** *

Specifies that Amazon Lex invokes the alias Lambda function when the intent * is ready for fulfillment. You can invoke this function to complete the bot's * transaction with the user.

For example, in a pizza ordering bot, the * Lambda function can look up the closest pizza restaurant to the customer's * location and then place an order on the customer's behalf.

*/ inline CreateIntentRequest& WithFulfillmentCodeHook(const FulfillmentCodeHookSettings& value) { SetFulfillmentCodeHook(value); return *this;} /** *

Specifies that Amazon Lex invokes the alias Lambda function when the intent * is ready for fulfillment. You can invoke this function to complete the bot's * transaction with the user.

For example, in a pizza ordering bot, the * Lambda function can look up the closest pizza restaurant to the customer's * location and then place an order on the customer's behalf.

*/ inline CreateIntentRequest& WithFulfillmentCodeHook(FulfillmentCodeHookSettings&& value) { SetFulfillmentCodeHook(std::move(value)); return *this;} /** *

Provides prompts that Amazon Lex sends to the user to confirm the completion * of an intent. If the user answers "no," the settings contain a statement that is * sent to the user to end the intent.

*/ inline const IntentConfirmationSetting& GetIntentConfirmationSetting() const{ return m_intentConfirmationSetting; } /** *

Provides prompts that Amazon Lex sends to the user to confirm the completion * of an intent. If the user answers "no," the settings contain a statement that is * sent to the user to end the intent.

*/ inline bool IntentConfirmationSettingHasBeenSet() const { return m_intentConfirmationSettingHasBeenSet; } /** *

Provides prompts that Amazon Lex sends to the user to confirm the completion * of an intent. If the user answers "no," the settings contain a statement that is * sent to the user to end the intent.

*/ inline void SetIntentConfirmationSetting(const IntentConfirmationSetting& value) { m_intentConfirmationSettingHasBeenSet = true; m_intentConfirmationSetting = value; } /** *

Provides prompts that Amazon Lex sends to the user to confirm the completion * of an intent. If the user answers "no," the settings contain a statement that is * sent to the user to end the intent.

*/ inline void SetIntentConfirmationSetting(IntentConfirmationSetting&& value) { m_intentConfirmationSettingHasBeenSet = true; m_intentConfirmationSetting = std::move(value); } /** *

Provides prompts that Amazon Lex sends to the user to confirm the completion * of an intent. If the user answers "no," the settings contain a statement that is * sent to the user to end the intent.

*/ inline CreateIntentRequest& WithIntentConfirmationSetting(const IntentConfirmationSetting& value) { SetIntentConfirmationSetting(value); return *this;} /** *

Provides prompts that Amazon Lex sends to the user to confirm the completion * of an intent. If the user answers "no," the settings contain a statement that is * sent to the user to end the intent.

*/ inline CreateIntentRequest& WithIntentConfirmationSetting(IntentConfirmationSetting&& value) { SetIntentConfirmationSetting(std::move(value)); return *this;} /** *

Sets the response that Amazon Lex sends to the user when the intent is * closed.

*/ inline const IntentClosingSetting& GetIntentClosingSetting() const{ return m_intentClosingSetting; } /** *

Sets the response that Amazon Lex sends to the user when the intent is * closed.

*/ inline bool IntentClosingSettingHasBeenSet() const { return m_intentClosingSettingHasBeenSet; } /** *

Sets the response that Amazon Lex sends to the user when the intent is * closed.

*/ inline void SetIntentClosingSetting(const IntentClosingSetting& value) { m_intentClosingSettingHasBeenSet = true; m_intentClosingSetting = value; } /** *

Sets the response that Amazon Lex sends to the user when the intent is * closed.

*/ inline void SetIntentClosingSetting(IntentClosingSetting&& value) { m_intentClosingSettingHasBeenSet = true; m_intentClosingSetting = std::move(value); } /** *

Sets the response that Amazon Lex sends to the user when the intent is * closed.

*/ inline CreateIntentRequest& WithIntentClosingSetting(const IntentClosingSetting& value) { SetIntentClosingSetting(value); return *this;} /** *

Sets the response that Amazon Lex sends to the user when the intent is * closed.

*/ inline CreateIntentRequest& WithIntentClosingSetting(IntentClosingSetting&& value) { SetIntentClosingSetting(std::move(value)); return *this;} /** *

A list of contexts that must be active for this intent to be considered by * Amazon Lex.

When an intent has an input context list, Amazon Lex only * considers using the intent in an interaction with the user when the specified * contexts are included in the active context list for the session. If the * contexts are not active, then Amazon Lex will not use the intent.

A * context can be automatically activated using the outputContexts * property or it can be set at runtime.

For example, if there are two * intents with different input contexts that respond to the same utterances, only * the intent with the active context will respond.

An intent may have up to * 5 input contexts. If an intent has multiple input contexts, all of the contexts * must be active to consider the intent.

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

A list of contexts that must be active for this intent to be considered by * Amazon Lex.

When an intent has an input context list, Amazon Lex only * considers using the intent in an interaction with the user when the specified * contexts are included in the active context list for the session. If the * contexts are not active, then Amazon Lex will not use the intent.

A * context can be automatically activated using the outputContexts * property or it can be set at runtime.

For example, if there are two * intents with different input contexts that respond to the same utterances, only * the intent with the active context will respond.

An intent may have up to * 5 input contexts. If an intent has multiple input contexts, all of the contexts * must be active to consider the intent.

*/ inline bool InputContextsHasBeenSet() const { return m_inputContextsHasBeenSet; } /** *

A list of contexts that must be active for this intent to be considered by * Amazon Lex.

When an intent has an input context list, Amazon Lex only * considers using the intent in an interaction with the user when the specified * contexts are included in the active context list for the session. If the * contexts are not active, then Amazon Lex will not use the intent.

A * context can be automatically activated using the outputContexts * property or it can be set at runtime.

For example, if there are two * intents with different input contexts that respond to the same utterances, only * the intent with the active context will respond.

An intent may have up to * 5 input contexts. If an intent has multiple input contexts, all of the contexts * must be active to consider the intent.

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

A list of contexts that must be active for this intent to be considered by * Amazon Lex.

When an intent has an input context list, Amazon Lex only * considers using the intent in an interaction with the user when the specified * contexts are included in the active context list for the session. If the * contexts are not active, then Amazon Lex will not use the intent.

A * context can be automatically activated using the outputContexts * property or it can be set at runtime.

For example, if there are two * intents with different input contexts that respond to the same utterances, only * the intent with the active context will respond.

An intent may have up to * 5 input contexts. If an intent has multiple input contexts, all of the contexts * must be active to consider the intent.

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

A list of contexts that must be active for this intent to be considered by * Amazon Lex.

When an intent has an input context list, Amazon Lex only * considers using the intent in an interaction with the user when the specified * contexts are included in the active context list for the session. If the * contexts are not active, then Amazon Lex will not use the intent.

A * context can be automatically activated using the outputContexts * property or it can be set at runtime.

For example, if there are two * intents with different input contexts that respond to the same utterances, only * the intent with the active context will respond.

An intent may have up to * 5 input contexts. If an intent has multiple input contexts, all of the contexts * must be active to consider the intent.

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

A list of contexts that must be active for this intent to be considered by * Amazon Lex.

When an intent has an input context list, Amazon Lex only * considers using the intent in an interaction with the user when the specified * contexts are included in the active context list for the session. If the * contexts are not active, then Amazon Lex will not use the intent.

A * context can be automatically activated using the outputContexts * property or it can be set at runtime.

For example, if there are two * intents with different input contexts that respond to the same utterances, only * the intent with the active context will respond.

An intent may have up to * 5 input contexts. If an intent has multiple input contexts, all of the contexts * must be active to consider the intent.

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

A list of contexts that must be active for this intent to be considered by * Amazon Lex.

When an intent has an input context list, Amazon Lex only * considers using the intent in an interaction with the user when the specified * contexts are included in the active context list for the session. If the * contexts are not active, then Amazon Lex will not use the intent.

A * context can be automatically activated using the outputContexts * property or it can be set at runtime.

For example, if there are two * intents with different input contexts that respond to the same utterances, only * the intent with the active context will respond.

An intent may have up to * 5 input contexts. If an intent has multiple input contexts, all of the contexts * must be active to consider the intent.

*/ inline CreateIntentRequest& AddInputContexts(const InputContext& value) { m_inputContextsHasBeenSet = true; m_inputContexts.push_back(value); return *this; } /** *

A list of contexts that must be active for this intent to be considered by * Amazon Lex.

When an intent has an input context list, Amazon Lex only * considers using the intent in an interaction with the user when the specified * contexts are included in the active context list for the session. If the * contexts are not active, then Amazon Lex will not use the intent.

A * context can be automatically activated using the outputContexts * property or it can be set at runtime.

For example, if there are two * intents with different input contexts that respond to the same utterances, only * the intent with the active context will respond.

An intent may have up to * 5 input contexts. If an intent has multiple input contexts, all of the contexts * must be active to consider the intent.

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

A lists of contexts that the intent activates when it is fulfilled.

*

You can use an output context to indicate the intents that Amazon Lex should * consider for the next turn of the conversation with a customer.

When you * use the outputContextsList property, all of the contexts specified * in the list are activated when the intent is fulfilled. You can set up to 10 * output contexts. You can also set the number of conversation turns that the * context should be active, or the length of time that the context should be * active.

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

A lists of contexts that the intent activates when it is fulfilled.

*

You can use an output context to indicate the intents that Amazon Lex should * consider for the next turn of the conversation with a customer.

When you * use the outputContextsList property, all of the contexts specified * in the list are activated when the intent is fulfilled. You can set up to 10 * output contexts. You can also set the number of conversation turns that the * context should be active, or the length of time that the context should be * active.

*/ inline bool OutputContextsHasBeenSet() const { return m_outputContextsHasBeenSet; } /** *

A lists of contexts that the intent activates when it is fulfilled.

*

You can use an output context to indicate the intents that Amazon Lex should * consider for the next turn of the conversation with a customer.

When you * use the outputContextsList property, all of the contexts specified * in the list are activated when the intent is fulfilled. You can set up to 10 * output contexts. You can also set the number of conversation turns that the * context should be active, or the length of time that the context should be * active.

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

A lists of contexts that the intent activates when it is fulfilled.

*

You can use an output context to indicate the intents that Amazon Lex should * consider for the next turn of the conversation with a customer.

When you * use the outputContextsList property, all of the contexts specified * in the list are activated when the intent is fulfilled. You can set up to 10 * output contexts. You can also set the number of conversation turns that the * context should be active, or the length of time that the context should be * active.

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

A lists of contexts that the intent activates when it is fulfilled.

*

You can use an output context to indicate the intents that Amazon Lex should * consider for the next turn of the conversation with a customer.

When you * use the outputContextsList property, all of the contexts specified * in the list are activated when the intent is fulfilled. You can set up to 10 * output contexts. You can also set the number of conversation turns that the * context should be active, or the length of time that the context should be * active.

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

A lists of contexts that the intent activates when it is fulfilled.

*

You can use an output context to indicate the intents that Amazon Lex should * consider for the next turn of the conversation with a customer.

When you * use the outputContextsList property, all of the contexts specified * in the list are activated when the intent is fulfilled. You can set up to 10 * output contexts. You can also set the number of conversation turns that the * context should be active, or the length of time that the context should be * active.

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

A lists of contexts that the intent activates when it is fulfilled.

*

You can use an output context to indicate the intents that Amazon Lex should * consider for the next turn of the conversation with a customer.

When you * use the outputContextsList property, all of the contexts specified * in the list are activated when the intent is fulfilled. You can set up to 10 * output contexts. You can also set the number of conversation turns that the * context should be active, or the length of time that the context should be * active.

*/ inline CreateIntentRequest& AddOutputContexts(const OutputContext& value) { m_outputContextsHasBeenSet = true; m_outputContexts.push_back(value); return *this; } /** *

A lists of contexts that the intent activates when it is fulfilled.

*

You can use an output context to indicate the intents that Amazon Lex should * consider for the next turn of the conversation with a customer.

When you * use the outputContextsList property, all of the contexts specified * in the list are activated when the intent is fulfilled. You can set up to 10 * output contexts. You can also set the number of conversation turns that the * context should be active, or the length of time that the context should be * active.

*/ inline CreateIntentRequest& AddOutputContexts(OutputContext&& value) { m_outputContextsHasBeenSet = true; m_outputContexts.push_back(std::move(value)); return *this; } /** *

Configuration information required to use the * AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra * index. The AMAZON.KendraSearchIntent intent is called when Amazon * Lex can't determine another intent to invoke.

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

Configuration information required to use the * AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra * index. The AMAZON.KendraSearchIntent intent is called when Amazon * Lex can't determine another intent to invoke.

*/ inline bool KendraConfigurationHasBeenSet() const { return m_kendraConfigurationHasBeenSet; } /** *

Configuration information required to use the * AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra * index. The AMAZON.KendraSearchIntent intent is called when Amazon * Lex can't determine another intent to invoke.

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

Configuration information required to use the * AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra * index. The AMAZON.KendraSearchIntent intent is called when Amazon * Lex can't determine another intent to invoke.

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

Configuration information required to use the * AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra * index. The AMAZON.KendraSearchIntent intent is called when Amazon * Lex can't determine another intent to invoke.

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

Configuration information required to use the * AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra * index. The AMAZON.KendraSearchIntent intent is called when Amazon * Lex can't determine another intent to invoke.

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

The identifier of the bot associated with this intent.

*/ inline const Aws::String& GetBotId() const{ return m_botId; } /** *

The identifier of the bot associated with this intent.

*/ inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; } /** *

The identifier of the bot associated with this intent.

*/ inline void SetBotId(const Aws::String& value) { m_botIdHasBeenSet = true; m_botId = value; } /** *

The identifier of the bot associated with this intent.

*/ inline void SetBotId(Aws::String&& value) { m_botIdHasBeenSet = true; m_botId = std::move(value); } /** *

The identifier of the bot associated with this intent.

*/ inline void SetBotId(const char* value) { m_botIdHasBeenSet = true; m_botId.assign(value); } /** *

The identifier of the bot associated with this intent.

*/ inline CreateIntentRequest& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} /** *

The identifier of the bot associated with this intent.

*/ inline CreateIntentRequest& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} /** *

The identifier of the bot associated with this intent.

*/ inline CreateIntentRequest& WithBotId(const char* value) { SetBotId(value); return *this;} /** *

The version of the bot associated with this intent.

*/ inline const Aws::String& GetBotVersion() const{ return m_botVersion; } /** *

The version of the bot associated with this intent.

*/ inline bool BotVersionHasBeenSet() const { return m_botVersionHasBeenSet; } /** *

The version of the bot associated with this intent.

*/ inline void SetBotVersion(const Aws::String& value) { m_botVersionHasBeenSet = true; m_botVersion = value; } /** *

The version of the bot associated with this intent.

*/ inline void SetBotVersion(Aws::String&& value) { m_botVersionHasBeenSet = true; m_botVersion = std::move(value); } /** *

The version of the bot associated with this intent.

*/ inline void SetBotVersion(const char* value) { m_botVersionHasBeenSet = true; m_botVersion.assign(value); } /** *

The version of the bot associated with this intent.

*/ inline CreateIntentRequest& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} /** *

The version of the bot associated with this intent.

*/ inline CreateIntentRequest& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} /** *

The version of the bot associated with this intent.

*/ inline CreateIntentRequest& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} /** *

The identifier of the language and locale where this intent is used. All of * the bots, slot types, and slots used by the intent must have the same locale. * For more information, see Supported * languages.

*/ inline const Aws::String& GetLocaleId() const{ return m_localeId; } /** *

The identifier of the language and locale where this intent is used. All of * the bots, slot types, and slots used by the intent must have the same locale. * For more information, see Supported * languages.

*/ inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; } /** *

The identifier of the language and locale where this intent is used. All of * the bots, slot types, and slots used by the intent must have the same locale. * For more information, see Supported * languages.

*/ inline void SetLocaleId(const Aws::String& value) { m_localeIdHasBeenSet = true; m_localeId = value; } /** *

The identifier of the language and locale where this intent is used. All of * the bots, slot types, and slots used by the intent must have the same locale. * For more information, see Supported * languages.

*/ inline void SetLocaleId(Aws::String&& value) { m_localeIdHasBeenSet = true; m_localeId = std::move(value); } /** *

The identifier of the language and locale where this intent is used. All of * the bots, slot types, and slots used by the intent must have the same locale. * For more information, see Supported * languages.

*/ inline void SetLocaleId(const char* value) { m_localeIdHasBeenSet = true; m_localeId.assign(value); } /** *

The identifier of the language and locale where this intent is used. All of * the bots, slot types, and slots used by the intent must have the same locale. * For more information, see Supported * languages.

*/ inline CreateIntentRequest& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} /** *

The identifier of the language and locale where this intent is used. All of * the bots, slot types, and slots used by the intent must have the same locale. * For more information, see Supported * languages.

*/ inline CreateIntentRequest& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} /** *

The identifier of the language and locale where this intent is used. All of * the bots, slot types, and slots used by the intent must have the same locale. * For more information, see Supported * languages.

*/ inline CreateIntentRequest& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} /** *

Configuration settings for the response that is sent to the user at the * beginning of a conversation, before eliciting slot values.

*/ inline const InitialResponseSetting& GetInitialResponseSetting() const{ return m_initialResponseSetting; } /** *

Configuration settings for the response that is sent to the user at the * beginning of a conversation, before eliciting slot values.

*/ inline bool InitialResponseSettingHasBeenSet() const { return m_initialResponseSettingHasBeenSet; } /** *

Configuration settings for the response that is sent to the user at the * beginning of a conversation, before eliciting slot values.

*/ inline void SetInitialResponseSetting(const InitialResponseSetting& value) { m_initialResponseSettingHasBeenSet = true; m_initialResponseSetting = value; } /** *

Configuration settings for the response that is sent to the user at the * beginning of a conversation, before eliciting slot values.

*/ inline void SetInitialResponseSetting(InitialResponseSetting&& value) { m_initialResponseSettingHasBeenSet = true; m_initialResponseSetting = std::move(value); } /** *

Configuration settings for the response that is sent to the user at the * beginning of a conversation, before eliciting slot values.

*/ inline CreateIntentRequest& WithInitialResponseSetting(const InitialResponseSetting& value) { SetInitialResponseSetting(value); return *this;} /** *

Configuration settings for the response that is sent to the user at the * beginning of a conversation, before eliciting slot values.

*/ inline CreateIntentRequest& WithInitialResponseSetting(InitialResponseSetting&& value) { SetInitialResponseSetting(std::move(value)); return *this;} private: Aws::String m_intentName; bool m_intentNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_parentIntentSignature; bool m_parentIntentSignatureHasBeenSet = false; Aws::Vector m_sampleUtterances; bool m_sampleUtterancesHasBeenSet = false; DialogCodeHookSettings m_dialogCodeHook; bool m_dialogCodeHookHasBeenSet = false; FulfillmentCodeHookSettings m_fulfillmentCodeHook; bool m_fulfillmentCodeHookHasBeenSet = false; IntentConfirmationSetting m_intentConfirmationSetting; bool m_intentConfirmationSettingHasBeenSet = false; IntentClosingSetting m_intentClosingSetting; bool m_intentClosingSettingHasBeenSet = false; Aws::Vector m_inputContexts; bool m_inputContextsHasBeenSet = false; Aws::Vector m_outputContexts; bool m_outputContextsHasBeenSet = false; KendraConfiguration m_kendraConfiguration; bool m_kendraConfigurationHasBeenSet = false; Aws::String m_botId; bool m_botIdHasBeenSet = false; Aws::String m_botVersion; bool m_botVersionHasBeenSet = false; Aws::String m_localeId; bool m_localeIdHasBeenSet = false; InitialResponseSetting m_initialResponseSetting; bool m_initialResponseSettingHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws