/** * 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 namespace Aws { namespace LexModelBuildingService { namespace Model { /** */ class PutBotRequest : public LexModelBuildingServiceRequest { public: AWS_LEXMODELBUILDINGSERVICE_API PutBotRequest(); // 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 "PutBot"; } AWS_LEXMODELBUILDINGSERVICE_API Aws::String SerializePayload() const override; /** *

The name of the bot. The name is not case sensitive.

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

The name of the bot. The name is not case sensitive.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the bot. The name is not case sensitive.

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

The name of the bot. The name is not case sensitive.

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

The name of the bot. The name is not case sensitive.

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

The name of the bot. The name is not case sensitive.

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

The name of the bot. The name is not case sensitive.

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

The name of the bot. The name is not case sensitive.

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

A description of the bot.

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

A description of the bot.

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

A description of the bot.

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

A description of the bot.

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

A description of the bot.

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

A description of the bot.

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

A description of the bot.

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

A description of the bot.

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

An array of Intent objects. Each intent represents a command * that a user can express. For example, a pizza ordering bot might support an * OrderPizza intent. For more information, see how-it-works.

*/ inline const Aws::Vector& GetIntents() const{ return m_intents; } /** *

An array of Intent objects. Each intent represents a command * that a user can express. For example, a pizza ordering bot might support an * OrderPizza intent. For more information, see how-it-works.

*/ inline bool IntentsHasBeenSet() const { return m_intentsHasBeenSet; } /** *

An array of Intent objects. Each intent represents a command * that a user can express. For example, a pizza ordering bot might support an * OrderPizza intent. For more information, see how-it-works.

*/ inline void SetIntents(const Aws::Vector& value) { m_intentsHasBeenSet = true; m_intents = value; } /** *

An array of Intent objects. Each intent represents a command * that a user can express. For example, a pizza ordering bot might support an * OrderPizza intent. For more information, see how-it-works.

*/ inline void SetIntents(Aws::Vector&& value) { m_intentsHasBeenSet = true; m_intents = std::move(value); } /** *

An array of Intent objects. Each intent represents a command * that a user can express. For example, a pizza ordering bot might support an * OrderPizza intent. For more information, see how-it-works.

*/ inline PutBotRequest& WithIntents(const Aws::Vector& value) { SetIntents(value); return *this;} /** *

An array of Intent objects. Each intent represents a command * that a user can express. For example, a pizza ordering bot might support an * OrderPizza intent. For more information, see how-it-works.

*/ inline PutBotRequest& WithIntents(Aws::Vector&& value) { SetIntents(std::move(value)); return *this;} /** *

An array of Intent objects. Each intent represents a command * that a user can express. For example, a pizza ordering bot might support an * OrderPizza intent. For more information, see how-it-works.

*/ inline PutBotRequest& AddIntents(const Intent& value) { m_intentsHasBeenSet = true; m_intents.push_back(value); return *this; } /** *

An array of Intent objects. Each intent represents a command * that a user can express. For example, a pizza ordering bot might support an * OrderPizza intent. For more information, see how-it-works.

*/ inline PutBotRequest& AddIntents(Intent&& value) { m_intentsHasBeenSet = true; m_intents.push_back(std::move(value)); return *this; } /** *

Set to true to enable access to natural language understanding * improvements.

When you set the enableModelImprovements * parameter to true you can use the * nluIntentConfidenceThreshold parameter to configure confidence * scores. For more information, see Confidence * Scores.

You can only set the enableModelImprovements * parameter in certain Regions. If you set the parameter to true, * your bot has access to accuracy improvements.

The Regions where you can * set the enableModelImprovements parameter to true * are:

  • US East (N. Virginia) (us-east-1)

  • US * West (Oregon) (us-west-2)

  • Asia Pacific (Sydney) * (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

*

In other Regions, the enableModelImprovements parameter is set * to true by default. In these Regions setting the parameter to * false throws a ValidationException exception.

*/ inline bool GetEnableModelImprovements() const{ return m_enableModelImprovements; } /** *

Set to true to enable access to natural language understanding * improvements.

When you set the enableModelImprovements * parameter to true you can use the * nluIntentConfidenceThreshold parameter to configure confidence * scores. For more information, see Confidence * Scores.

You can only set the enableModelImprovements * parameter in certain Regions. If you set the parameter to true, * your bot has access to accuracy improvements.

The Regions where you can * set the enableModelImprovements parameter to true * are:

  • US East (N. Virginia) (us-east-1)

  • US * West (Oregon) (us-west-2)

  • Asia Pacific (Sydney) * (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

*

In other Regions, the enableModelImprovements parameter is set * to true by default. In these Regions setting the parameter to * false throws a ValidationException exception.

*/ inline bool EnableModelImprovementsHasBeenSet() const { return m_enableModelImprovementsHasBeenSet; } /** *

Set to true to enable access to natural language understanding * improvements.

When you set the enableModelImprovements * parameter to true you can use the * nluIntentConfidenceThreshold parameter to configure confidence * scores. For more information, see Confidence * Scores.

You can only set the enableModelImprovements * parameter in certain Regions. If you set the parameter to true, * your bot has access to accuracy improvements.

The Regions where you can * set the enableModelImprovements parameter to true * are:

  • US East (N. Virginia) (us-east-1)

  • US * West (Oregon) (us-west-2)

  • Asia Pacific (Sydney) * (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

*

In other Regions, the enableModelImprovements parameter is set * to true by default. In these Regions setting the parameter to * false throws a ValidationException exception.

*/ inline void SetEnableModelImprovements(bool value) { m_enableModelImprovementsHasBeenSet = true; m_enableModelImprovements = value; } /** *

Set to true to enable access to natural language understanding * improvements.

When you set the enableModelImprovements * parameter to true you can use the * nluIntentConfidenceThreshold parameter to configure confidence * scores. For more information, see Confidence * Scores.

You can only set the enableModelImprovements * parameter in certain Regions. If you set the parameter to true, * your bot has access to accuracy improvements.

The Regions where you can * set the enableModelImprovements parameter to true * are:

  • US East (N. Virginia) (us-east-1)

  • US * West (Oregon) (us-west-2)

  • Asia Pacific (Sydney) * (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

*

In other Regions, the enableModelImprovements parameter is set * to true by default. In these Regions setting the parameter to * false throws a ValidationException exception.

*/ inline PutBotRequest& WithEnableModelImprovements(bool value) { SetEnableModelImprovements(value); return *this;} /** *

Determines the threshold where Amazon Lex will insert the * AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or * both when returning alternative intents in a PostContent * or PostText * response. AMAZON.FallbackIntent and * AMAZON.KendraSearchIntent are only inserted if they are configured * for the bot.

You must set the enableModelImprovements * parameter to true to use confidence scores in the following * regions.

  • US East (N. Virginia) (us-east-1)

  • US * West (Oregon) (us-west-2)

  • Asia Pacific (Sydney) * (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

*

In other Regions, the enableModelImprovements parameter is set * to true by default.

For example, suppose a bot is configured * with the confidence threshold of 0.80 and the * AMAZON.FallbackIntent. Amazon Lex returns three alternative intents * with the following confidence scores: IntentA (0.70), IntentB (0.60), IntentC * (0.50). The response from the PostText operation would be:

    *
  • AMAZON.FallbackIntent

  • IntentA

  • *

    IntentB

  • IntentC

*/ inline double GetNluIntentConfidenceThreshold() const{ return m_nluIntentConfidenceThreshold; } /** *

Determines the threshold where Amazon Lex will insert the * AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or * both when returning alternative intents in a PostContent * or PostText * response. AMAZON.FallbackIntent and * AMAZON.KendraSearchIntent are only inserted if they are configured * for the bot.

You must set the enableModelImprovements * parameter to true to use confidence scores in the following * regions.

  • US East (N. Virginia) (us-east-1)

  • US * West (Oregon) (us-west-2)

  • Asia Pacific (Sydney) * (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

*

In other Regions, the enableModelImprovements parameter is set * to true by default.

For example, suppose a bot is configured * with the confidence threshold of 0.80 and the * AMAZON.FallbackIntent. Amazon Lex returns three alternative intents * with the following confidence scores: IntentA (0.70), IntentB (0.60), IntentC * (0.50). The response from the PostText operation would be:

    *
  • AMAZON.FallbackIntent

  • IntentA

  • *

    IntentB

  • IntentC

*/ inline bool NluIntentConfidenceThresholdHasBeenSet() const { return m_nluIntentConfidenceThresholdHasBeenSet; } /** *

Determines the threshold where Amazon Lex will insert the * AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or * both when returning alternative intents in a PostContent * or PostText * response. AMAZON.FallbackIntent and * AMAZON.KendraSearchIntent are only inserted if they are configured * for the bot.

You must set the enableModelImprovements * parameter to true to use confidence scores in the following * regions.

  • US East (N. Virginia) (us-east-1)

  • US * West (Oregon) (us-west-2)

  • Asia Pacific (Sydney) * (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

*

In other Regions, the enableModelImprovements parameter is set * to true by default.

For example, suppose a bot is configured * with the confidence threshold of 0.80 and the * AMAZON.FallbackIntent. Amazon Lex returns three alternative intents * with the following confidence scores: IntentA (0.70), IntentB (0.60), IntentC * (0.50). The response from the PostText operation would be:

    *
  • AMAZON.FallbackIntent

  • IntentA

  • *

    IntentB

  • IntentC

*/ inline void SetNluIntentConfidenceThreshold(double value) { m_nluIntentConfidenceThresholdHasBeenSet = true; m_nluIntentConfidenceThreshold = value; } /** *

Determines the threshold where Amazon Lex will insert the * AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or * both when returning alternative intents in a PostContent * or PostText * response. AMAZON.FallbackIntent and * AMAZON.KendraSearchIntent are only inserted if they are configured * for the bot.

You must set the enableModelImprovements * parameter to true to use confidence scores in the following * regions.

  • US East (N. Virginia) (us-east-1)

  • US * West (Oregon) (us-west-2)

  • Asia Pacific (Sydney) * (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

*

In other Regions, the enableModelImprovements parameter is set * to true by default.

For example, suppose a bot is configured * with the confidence threshold of 0.80 and the * AMAZON.FallbackIntent. Amazon Lex returns three alternative intents * with the following confidence scores: IntentA (0.70), IntentB (0.60), IntentC * (0.50). The response from the PostText operation would be:

    *
  • AMAZON.FallbackIntent

  • IntentA

  • *

    IntentB

  • IntentC

*/ inline PutBotRequest& WithNluIntentConfidenceThreshold(double value) { SetNluIntentConfidenceThreshold(value); return *this;} /** *

When Amazon Lex doesn't understand the user's intent, it uses this message to * get clarification. To specify how many times Amazon Lex should repeat the * clarification prompt, use the maxAttempts field. If Amazon Lex * still doesn't understand, it sends the message in the * abortStatement field.

When you create a clarification * prompt, make sure that it suggests the correct response from the user. for * example, for a bot that orders pizza and drinks, you might create this * clarification prompt: "What would you like to do? You can say 'Order a pizza' or * 'Order a drink.'"

If you have defined a fallback intent, it will be * invoked if the clarification prompt is repeated the number of times defined in * the maxAttempts field. For more information, see * AMAZON.FallbackIntent.

If you don't define a clarification prompt, at * runtime Amazon Lex will return a 400 Bad Request exception in three cases:

*
  • Follow-up prompt - When the user responds to a follow-up prompt but * does not provide an intent. For example, in response to a follow-up prompt that * says "Would you like anything else today?" the user says "Yes." Amazon Lex will * return a 400 Bad Request exception because it does not have a clarification * prompt to send to the user to get an intent.

  • Lambda function - * When using a Lambda function, you return an ElicitIntent dialog * type. Since Amazon Lex does not have a clarification prompt to get an intent * from the user, it returns a 400 Bad Request exception.

  • *

    PutSession operation - When using the PutSession operation, you * send an ElicitIntent dialog type. Since Amazon Lex does not have a * clarification prompt to get an intent from the user, it returns a 400 Bad * Request exception.

*/ inline const Prompt& GetClarificationPrompt() const{ return m_clarificationPrompt; } /** *

When Amazon Lex doesn't understand the user's intent, it uses this message to * get clarification. To specify how many times Amazon Lex should repeat the * clarification prompt, use the maxAttempts field. If Amazon Lex * still doesn't understand, it sends the message in the * abortStatement field.

When you create a clarification * prompt, make sure that it suggests the correct response from the user. for * example, for a bot that orders pizza and drinks, you might create this * clarification prompt: "What would you like to do? You can say 'Order a pizza' or * 'Order a drink.'"

If you have defined a fallback intent, it will be * invoked if the clarification prompt is repeated the number of times defined in * the maxAttempts field. For more information, see * AMAZON.FallbackIntent.

If you don't define a clarification prompt, at * runtime Amazon Lex will return a 400 Bad Request exception in three cases:

*
  • Follow-up prompt - When the user responds to a follow-up prompt but * does not provide an intent. For example, in response to a follow-up prompt that * says "Would you like anything else today?" the user says "Yes." Amazon Lex will * return a 400 Bad Request exception because it does not have a clarification * prompt to send to the user to get an intent.

  • Lambda function - * When using a Lambda function, you return an ElicitIntent dialog * type. Since Amazon Lex does not have a clarification prompt to get an intent * from the user, it returns a 400 Bad Request exception.

  • *

    PutSession operation - When using the PutSession operation, you * send an ElicitIntent dialog type. Since Amazon Lex does not have a * clarification prompt to get an intent from the user, it returns a 400 Bad * Request exception.

*/ inline bool ClarificationPromptHasBeenSet() const { return m_clarificationPromptHasBeenSet; } /** *

When Amazon Lex doesn't understand the user's intent, it uses this message to * get clarification. To specify how many times Amazon Lex should repeat the * clarification prompt, use the maxAttempts field. If Amazon Lex * still doesn't understand, it sends the message in the * abortStatement field.

When you create a clarification * prompt, make sure that it suggests the correct response from the user. for * example, for a bot that orders pizza and drinks, you might create this * clarification prompt: "What would you like to do? You can say 'Order a pizza' or * 'Order a drink.'"

If you have defined a fallback intent, it will be * invoked if the clarification prompt is repeated the number of times defined in * the maxAttempts field. For more information, see * AMAZON.FallbackIntent.

If you don't define a clarification prompt, at * runtime Amazon Lex will return a 400 Bad Request exception in three cases:

*
  • Follow-up prompt - When the user responds to a follow-up prompt but * does not provide an intent. For example, in response to a follow-up prompt that * says "Would you like anything else today?" the user says "Yes." Amazon Lex will * return a 400 Bad Request exception because it does not have a clarification * prompt to send to the user to get an intent.

  • Lambda function - * When using a Lambda function, you return an ElicitIntent dialog * type. Since Amazon Lex does not have a clarification prompt to get an intent * from the user, it returns a 400 Bad Request exception.

  • *

    PutSession operation - When using the PutSession operation, you * send an ElicitIntent dialog type. Since Amazon Lex does not have a * clarification prompt to get an intent from the user, it returns a 400 Bad * Request exception.

*/ inline void SetClarificationPrompt(const Prompt& value) { m_clarificationPromptHasBeenSet = true; m_clarificationPrompt = value; } /** *

When Amazon Lex doesn't understand the user's intent, it uses this message to * get clarification. To specify how many times Amazon Lex should repeat the * clarification prompt, use the maxAttempts field. If Amazon Lex * still doesn't understand, it sends the message in the * abortStatement field.

When you create a clarification * prompt, make sure that it suggests the correct response from the user. for * example, for a bot that orders pizza and drinks, you might create this * clarification prompt: "What would you like to do? You can say 'Order a pizza' or * 'Order a drink.'"

If you have defined a fallback intent, it will be * invoked if the clarification prompt is repeated the number of times defined in * the maxAttempts field. For more information, see * AMAZON.FallbackIntent.

If you don't define a clarification prompt, at * runtime Amazon Lex will return a 400 Bad Request exception in three cases:

*
  • Follow-up prompt - When the user responds to a follow-up prompt but * does not provide an intent. For example, in response to a follow-up prompt that * says "Would you like anything else today?" the user says "Yes." Amazon Lex will * return a 400 Bad Request exception because it does not have a clarification * prompt to send to the user to get an intent.

  • Lambda function - * When using a Lambda function, you return an ElicitIntent dialog * type. Since Amazon Lex does not have a clarification prompt to get an intent * from the user, it returns a 400 Bad Request exception.

  • *

    PutSession operation - When using the PutSession operation, you * send an ElicitIntent dialog type. Since Amazon Lex does not have a * clarification prompt to get an intent from the user, it returns a 400 Bad * Request exception.

*/ inline void SetClarificationPrompt(Prompt&& value) { m_clarificationPromptHasBeenSet = true; m_clarificationPrompt = std::move(value); } /** *

When Amazon Lex doesn't understand the user's intent, it uses this message to * get clarification. To specify how many times Amazon Lex should repeat the * clarification prompt, use the maxAttempts field. If Amazon Lex * still doesn't understand, it sends the message in the * abortStatement field.

When you create a clarification * prompt, make sure that it suggests the correct response from the user. for * example, for a bot that orders pizza and drinks, you might create this * clarification prompt: "What would you like to do? You can say 'Order a pizza' or * 'Order a drink.'"

If you have defined a fallback intent, it will be * invoked if the clarification prompt is repeated the number of times defined in * the maxAttempts field. For more information, see * AMAZON.FallbackIntent.

If you don't define a clarification prompt, at * runtime Amazon Lex will return a 400 Bad Request exception in three cases:

*
  • Follow-up prompt - When the user responds to a follow-up prompt but * does not provide an intent. For example, in response to a follow-up prompt that * says "Would you like anything else today?" the user says "Yes." Amazon Lex will * return a 400 Bad Request exception because it does not have a clarification * prompt to send to the user to get an intent.

  • Lambda function - * When using a Lambda function, you return an ElicitIntent dialog * type. Since Amazon Lex does not have a clarification prompt to get an intent * from the user, it returns a 400 Bad Request exception.

  • *

    PutSession operation - When using the PutSession operation, you * send an ElicitIntent dialog type. Since Amazon Lex does not have a * clarification prompt to get an intent from the user, it returns a 400 Bad * Request exception.

*/ inline PutBotRequest& WithClarificationPrompt(const Prompt& value) { SetClarificationPrompt(value); return *this;} /** *

When Amazon Lex doesn't understand the user's intent, it uses this message to * get clarification. To specify how many times Amazon Lex should repeat the * clarification prompt, use the maxAttempts field. If Amazon Lex * still doesn't understand, it sends the message in the * abortStatement field.

When you create a clarification * prompt, make sure that it suggests the correct response from the user. for * example, for a bot that orders pizza and drinks, you might create this * clarification prompt: "What would you like to do? You can say 'Order a pizza' or * 'Order a drink.'"

If you have defined a fallback intent, it will be * invoked if the clarification prompt is repeated the number of times defined in * the maxAttempts field. For more information, see * AMAZON.FallbackIntent.

If you don't define a clarification prompt, at * runtime Amazon Lex will return a 400 Bad Request exception in three cases:

*
  • Follow-up prompt - When the user responds to a follow-up prompt but * does not provide an intent. For example, in response to a follow-up prompt that * says "Would you like anything else today?" the user says "Yes." Amazon Lex will * return a 400 Bad Request exception because it does not have a clarification * prompt to send to the user to get an intent.

  • Lambda function - * When using a Lambda function, you return an ElicitIntent dialog * type. Since Amazon Lex does not have a clarification prompt to get an intent * from the user, it returns a 400 Bad Request exception.

  • *

    PutSession operation - When using the PutSession operation, you * send an ElicitIntent dialog type. Since Amazon Lex does not have a * clarification prompt to get an intent from the user, it returns a 400 Bad * Request exception.

*/ inline PutBotRequest& WithClarificationPrompt(Prompt&& value) { SetClarificationPrompt(std::move(value)); return *this;} /** *

When Amazon Lex can't understand the user's input in context, it tries to * elicit the information a few times. After that, Amazon Lex sends the message * defined in abortStatement to the user, and then cancels the * conversation. To set the number of retries, use the * valueElicitationPrompt field for the slot type.

For * example, in a pizza ordering bot, Amazon Lex might ask a user "What type of * crust would you like?" If the user's response is not one of the expected * responses (for example, "thin crust, "deep dish," etc.), Amazon Lex tries to * elicit a correct response a few more times.

For example, in a pizza * ordering application, OrderPizza might be one of the intents. This * intent might require the CrustType slot. You specify the * valueElicitationPrompt field when you create the * CrustType slot.

If you have defined a fallback intent the * cancel statement will not be sent to the user, the fallback intent is used * instead. For more information, see * AMAZON.FallbackIntent.

*/ inline const Statement& GetAbortStatement() const{ return m_abortStatement; } /** *

When Amazon Lex can't understand the user's input in context, it tries to * elicit the information a few times. After that, Amazon Lex sends the message * defined in abortStatement to the user, and then cancels the * conversation. To set the number of retries, use the * valueElicitationPrompt field for the slot type.

For * example, in a pizza ordering bot, Amazon Lex might ask a user "What type of * crust would you like?" If the user's response is not one of the expected * responses (for example, "thin crust, "deep dish," etc.), Amazon Lex tries to * elicit a correct response a few more times.

For example, in a pizza * ordering application, OrderPizza might be one of the intents. This * intent might require the CrustType slot. You specify the * valueElicitationPrompt field when you create the * CrustType slot.

If you have defined a fallback intent the * cancel statement will not be sent to the user, the fallback intent is used * instead. For more information, see * AMAZON.FallbackIntent.

*/ inline bool AbortStatementHasBeenSet() const { return m_abortStatementHasBeenSet; } /** *

When Amazon Lex can't understand the user's input in context, it tries to * elicit the information a few times. After that, Amazon Lex sends the message * defined in abortStatement to the user, and then cancels the * conversation. To set the number of retries, use the * valueElicitationPrompt field for the slot type.

For * example, in a pizza ordering bot, Amazon Lex might ask a user "What type of * crust would you like?" If the user's response is not one of the expected * responses (for example, "thin crust, "deep dish," etc.), Amazon Lex tries to * elicit a correct response a few more times.

For example, in a pizza * ordering application, OrderPizza might be one of the intents. This * intent might require the CrustType slot. You specify the * valueElicitationPrompt field when you create the * CrustType slot.

If you have defined a fallback intent the * cancel statement will not be sent to the user, the fallback intent is used * instead. For more information, see * AMAZON.FallbackIntent.

*/ inline void SetAbortStatement(const Statement& value) { m_abortStatementHasBeenSet = true; m_abortStatement = value; } /** *

When Amazon Lex can't understand the user's input in context, it tries to * elicit the information a few times. After that, Amazon Lex sends the message * defined in abortStatement to the user, and then cancels the * conversation. To set the number of retries, use the * valueElicitationPrompt field for the slot type.

For * example, in a pizza ordering bot, Amazon Lex might ask a user "What type of * crust would you like?" If the user's response is not one of the expected * responses (for example, "thin crust, "deep dish," etc.), Amazon Lex tries to * elicit a correct response a few more times.

For example, in a pizza * ordering application, OrderPizza might be one of the intents. This * intent might require the CrustType slot. You specify the * valueElicitationPrompt field when you create the * CrustType slot.

If you have defined a fallback intent the * cancel statement will not be sent to the user, the fallback intent is used * instead. For more information, see * AMAZON.FallbackIntent.

*/ inline void SetAbortStatement(Statement&& value) { m_abortStatementHasBeenSet = true; m_abortStatement = std::move(value); } /** *

When Amazon Lex can't understand the user's input in context, it tries to * elicit the information a few times. After that, Amazon Lex sends the message * defined in abortStatement to the user, and then cancels the * conversation. To set the number of retries, use the * valueElicitationPrompt field for the slot type.

For * example, in a pizza ordering bot, Amazon Lex might ask a user "What type of * crust would you like?" If the user's response is not one of the expected * responses (for example, "thin crust, "deep dish," etc.), Amazon Lex tries to * elicit a correct response a few more times.

For example, in a pizza * ordering application, OrderPizza might be one of the intents. This * intent might require the CrustType slot. You specify the * valueElicitationPrompt field when you create the * CrustType slot.

If you have defined a fallback intent the * cancel statement will not be sent to the user, the fallback intent is used * instead. For more information, see * AMAZON.FallbackIntent.

*/ inline PutBotRequest& WithAbortStatement(const Statement& value) { SetAbortStatement(value); return *this;} /** *

When Amazon Lex can't understand the user's input in context, it tries to * elicit the information a few times. After that, Amazon Lex sends the message * defined in abortStatement to the user, and then cancels the * conversation. To set the number of retries, use the * valueElicitationPrompt field for the slot type.

For * example, in a pizza ordering bot, Amazon Lex might ask a user "What type of * crust would you like?" If the user's response is not one of the expected * responses (for example, "thin crust, "deep dish," etc.), Amazon Lex tries to * elicit a correct response a few more times.

For example, in a pizza * ordering application, OrderPizza might be one of the intents. This * intent might require the CrustType slot. You specify the * valueElicitationPrompt field when you create the * CrustType slot.

If you have defined a fallback intent the * cancel statement will not be sent to the user, the fallback intent is used * instead. For more information, see * AMAZON.FallbackIntent.

*/ inline PutBotRequest& WithAbortStatement(Statement&& value) { SetAbortStatement(std::move(value)); return *this;} /** *

The maximum time in seconds that Amazon Lex retains the data gathered in a * conversation.

A user interaction session remains active for the amount of * time specified. If no conversation occurs during this time, the session expires * and Amazon Lex deletes any data provided before the timeout.

For example, * suppose that a user chooses the OrderPizza intent, but gets sidetracked halfway * through placing an order. If the user doesn't complete the order within the * specified time, Amazon Lex discards the slot information that it gathered, and * the user must start over.

If you don't include the * idleSessionTTLInSeconds element in a PutBot operation * request, Amazon Lex uses the default value. This is also true if the request * replaces an existing bot.

The default is 300 seconds (5 minutes).

*/ inline int GetIdleSessionTTLInSeconds() const{ return m_idleSessionTTLInSeconds; } /** *

The maximum time in seconds that Amazon Lex retains the data gathered in a * conversation.

A user interaction session remains active for the amount of * time specified. If no conversation occurs during this time, the session expires * and Amazon Lex deletes any data provided before the timeout.

For example, * suppose that a user chooses the OrderPizza intent, but gets sidetracked halfway * through placing an order. If the user doesn't complete the order within the * specified time, Amazon Lex discards the slot information that it gathered, and * the user must start over.

If you don't include the * idleSessionTTLInSeconds element in a PutBot operation * request, Amazon Lex uses the default value. This is also true if the request * replaces an existing bot.

The default is 300 seconds (5 minutes).

*/ inline bool IdleSessionTTLInSecondsHasBeenSet() const { return m_idleSessionTTLInSecondsHasBeenSet; } /** *

The maximum time in seconds that Amazon Lex retains the data gathered in a * conversation.

A user interaction session remains active for the amount of * time specified. If no conversation occurs during this time, the session expires * and Amazon Lex deletes any data provided before the timeout.

For example, * suppose that a user chooses the OrderPizza intent, but gets sidetracked halfway * through placing an order. If the user doesn't complete the order within the * specified time, Amazon Lex discards the slot information that it gathered, and * the user must start over.

If you don't include the * idleSessionTTLInSeconds element in a PutBot operation * request, Amazon Lex uses the default value. This is also true if the request * replaces an existing bot.

The default is 300 seconds (5 minutes).

*/ inline void SetIdleSessionTTLInSeconds(int value) { m_idleSessionTTLInSecondsHasBeenSet = true; m_idleSessionTTLInSeconds = value; } /** *

The maximum time in seconds that Amazon Lex retains the data gathered in a * conversation.

A user interaction session remains active for the amount of * time specified. If no conversation occurs during this time, the session expires * and Amazon Lex deletes any data provided before the timeout.

For example, * suppose that a user chooses the OrderPizza intent, but gets sidetracked halfway * through placing an order. If the user doesn't complete the order within the * specified time, Amazon Lex discards the slot information that it gathered, and * the user must start over.

If you don't include the * idleSessionTTLInSeconds element in a PutBot operation * request, Amazon Lex uses the default value. This is also true if the request * replaces an existing bot.

The default is 300 seconds (5 minutes).

*/ inline PutBotRequest& WithIdleSessionTTLInSeconds(int value) { SetIdleSessionTTLInSeconds(value); return *this;} /** *

The Amazon Polly voice ID that you want Amazon Lex to use for voice * interactions with the user. The locale configured for the voice must match the * locale of the bot. For more information, see Voices in * Amazon Polly in the Amazon Polly Developer Guide.

*/ inline const Aws::String& GetVoiceId() const{ return m_voiceId; } /** *

The Amazon Polly voice ID that you want Amazon Lex to use for voice * interactions with the user. The locale configured for the voice must match the * locale of the bot. For more information, see Voices in * Amazon Polly in the Amazon Polly Developer Guide.

*/ inline bool VoiceIdHasBeenSet() const { return m_voiceIdHasBeenSet; } /** *

The Amazon Polly voice ID that you want Amazon Lex to use for voice * interactions with the user. The locale configured for the voice must match the * locale of the bot. For more information, see Voices in * Amazon Polly in the Amazon Polly Developer Guide.

*/ inline void SetVoiceId(const Aws::String& value) { m_voiceIdHasBeenSet = true; m_voiceId = value; } /** *

The Amazon Polly voice ID that you want Amazon Lex to use for voice * interactions with the user. The locale configured for the voice must match the * locale of the bot. For more information, see Voices in * Amazon Polly in the Amazon Polly Developer Guide.

*/ inline void SetVoiceId(Aws::String&& value) { m_voiceIdHasBeenSet = true; m_voiceId = std::move(value); } /** *

The Amazon Polly voice ID that you want Amazon Lex to use for voice * interactions with the user. The locale configured for the voice must match the * locale of the bot. For more information, see Voices in * Amazon Polly in the Amazon Polly Developer Guide.

*/ inline void SetVoiceId(const char* value) { m_voiceIdHasBeenSet = true; m_voiceId.assign(value); } /** *

The Amazon Polly voice ID that you want Amazon Lex to use for voice * interactions with the user. The locale configured for the voice must match the * locale of the bot. For more information, see Voices in * Amazon Polly in the Amazon Polly Developer Guide.

*/ inline PutBotRequest& WithVoiceId(const Aws::String& value) { SetVoiceId(value); return *this;} /** *

The Amazon Polly voice ID that you want Amazon Lex to use for voice * interactions with the user. The locale configured for the voice must match the * locale of the bot. For more information, see Voices in * Amazon Polly in the Amazon Polly Developer Guide.

*/ inline PutBotRequest& WithVoiceId(Aws::String&& value) { SetVoiceId(std::move(value)); return *this;} /** *

The Amazon Polly voice ID that you want Amazon Lex to use for voice * interactions with the user. The locale configured for the voice must match the * locale of the bot. For more information, see Voices in * Amazon Polly in the Amazon Polly Developer Guide.

*/ inline PutBotRequest& WithVoiceId(const char* value) { SetVoiceId(value); return *this;} /** *

Identifies a specific revision of the $LATEST version.

*

When you create a new bot, leave the checksum field blank. If * you specify a checksum you get a BadRequestException exception.

*

When you want to update a bot, set the checksum field to the * checksum of the most recent revision of the $LATEST version. If you * don't specify the checksum field, or if the checksum does not * match the $LATEST version, you get a * PreconditionFailedException exception.

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

Identifies a specific revision of the $LATEST version.

*

When you create a new bot, leave the checksum field blank. If * you specify a checksum you get a BadRequestException exception.

*

When you want to update a bot, set the checksum field to the * checksum of the most recent revision of the $LATEST version. If you * don't specify the checksum field, or if the checksum does not * match the $LATEST version, you get a * PreconditionFailedException exception.

*/ inline bool ChecksumHasBeenSet() const { return m_checksumHasBeenSet; } /** *

Identifies a specific revision of the $LATEST version.

*

When you create a new bot, leave the checksum field blank. If * you specify a checksum you get a BadRequestException exception.

*

When you want to update a bot, set the checksum field to the * checksum of the most recent revision of the $LATEST version. If you * don't specify the checksum field, or if the checksum does not * match the $LATEST version, you get a * PreconditionFailedException exception.

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

Identifies a specific revision of the $LATEST version.

*

When you create a new bot, leave the checksum field blank. If * you specify a checksum you get a BadRequestException exception.

*

When you want to update a bot, set the checksum field to the * checksum of the most recent revision of the $LATEST version. If you * don't specify the checksum field, or if the checksum does not * match the $LATEST version, you get a * PreconditionFailedException exception.

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

Identifies a specific revision of the $LATEST version.

*

When you create a new bot, leave the checksum field blank. If * you specify a checksum you get a BadRequestException exception.

*

When you want to update a bot, set the checksum field to the * checksum of the most recent revision of the $LATEST version. If you * don't specify the checksum field, or if the checksum does not * match the $LATEST version, you get a * PreconditionFailedException exception.

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

Identifies a specific revision of the $LATEST version.

*

When you create a new bot, leave the checksum field blank. If * you specify a checksum you get a BadRequestException exception.

*

When you want to update a bot, set the checksum field to the * checksum of the most recent revision of the $LATEST version. If you * don't specify the checksum field, or if the checksum does not * match the $LATEST version, you get a * PreconditionFailedException exception.

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

Identifies a specific revision of the $LATEST version.

*

When you create a new bot, leave the checksum field blank. If * you specify a checksum you get a BadRequestException exception.

*

When you want to update a bot, set the checksum field to the * checksum of the most recent revision of the $LATEST version. If you * don't specify the checksum field, or if the checksum does not * match the $LATEST version, you get a * PreconditionFailedException exception.

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

Identifies a specific revision of the $LATEST version.

*

When you create a new bot, leave the checksum field blank. If * you specify a checksum you get a BadRequestException exception.

*

When you want to update a bot, set the checksum field to the * checksum of the most recent revision of the $LATEST version. If you * don't specify the checksum field, or if the checksum does not * match the $LATEST version, you get a * PreconditionFailedException exception.

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

If you set the processBehavior element to BUILD, * Amazon Lex builds the bot so that it can be run. If you set the element to * SAVE Amazon Lex saves the bot, but doesn't build it.

If you * don't specify this value, the default value is BUILD.

*/ inline const ProcessBehavior& GetProcessBehavior() const{ return m_processBehavior; } /** *

If you set the processBehavior element to BUILD, * Amazon Lex builds the bot so that it can be run. If you set the element to * SAVE Amazon Lex saves the bot, but doesn't build it.

If you * don't specify this value, the default value is BUILD.

*/ inline bool ProcessBehaviorHasBeenSet() const { return m_processBehaviorHasBeenSet; } /** *

If you set the processBehavior element to BUILD, * Amazon Lex builds the bot so that it can be run. If you set the element to * SAVE Amazon Lex saves the bot, but doesn't build it.

If you * don't specify this value, the default value is BUILD.

*/ inline void SetProcessBehavior(const ProcessBehavior& value) { m_processBehaviorHasBeenSet = true; m_processBehavior = value; } /** *

If you set the processBehavior element to BUILD, * Amazon Lex builds the bot so that it can be run. If you set the element to * SAVE Amazon Lex saves the bot, but doesn't build it.

If you * don't specify this value, the default value is BUILD.

*/ inline void SetProcessBehavior(ProcessBehavior&& value) { m_processBehaviorHasBeenSet = true; m_processBehavior = std::move(value); } /** *

If you set the processBehavior element to BUILD, * Amazon Lex builds the bot so that it can be run. If you set the element to * SAVE Amazon Lex saves the bot, but doesn't build it.

If you * don't specify this value, the default value is BUILD.

*/ inline PutBotRequest& WithProcessBehavior(const ProcessBehavior& value) { SetProcessBehavior(value); return *this;} /** *

If you set the processBehavior element to BUILD, * Amazon Lex builds the bot so that it can be run. If you set the element to * SAVE Amazon Lex saves the bot, but doesn't build it.

If you * don't specify this value, the default value is BUILD.

*/ inline PutBotRequest& WithProcessBehavior(ProcessBehavior&& value) { SetProcessBehavior(std::move(value)); return *this;} /** *

Specifies the target locale for the bot. Any intent used in the bot must be * compatible with the locale of the bot.

The default is * en-US.

*/ inline const Locale& GetLocale() const{ return m_locale; } /** *

Specifies the target locale for the bot. Any intent used in the bot must be * compatible with the locale of the bot.

The default is * en-US.

*/ inline bool LocaleHasBeenSet() const { return m_localeHasBeenSet; } /** *

Specifies the target locale for the bot. Any intent used in the bot must be * compatible with the locale of the bot.

The default is * en-US.

*/ inline void SetLocale(const Locale& value) { m_localeHasBeenSet = true; m_locale = value; } /** *

Specifies the target locale for the bot. Any intent used in the bot must be * compatible with the locale of the bot.

The default is * en-US.

*/ inline void SetLocale(Locale&& value) { m_localeHasBeenSet = true; m_locale = std::move(value); } /** *

Specifies the target locale for the bot. Any intent used in the bot must be * compatible with the locale of the bot.

The default is * en-US.

*/ inline PutBotRequest& WithLocale(const Locale& value) { SetLocale(value); return *this;} /** *

Specifies the target locale for the bot. Any intent used in the bot must be * compatible with the locale of the bot.

The default is * en-US.

*/ inline PutBotRequest& WithLocale(Locale&& value) { SetLocale(std::move(value)); return *this;} /** *

For each Amazon Lex bot created with the Amazon Lex Model Building Service, * you must specify whether your use of Amazon Lex is related to a website, * program, or other application that is directed or targeted, in whole or in part, * to children under age 13 and subject to the Children's Online Privacy Protection * Act (COPPA) by specifying true or false in the * childDirected field. By specifying true in the * childDirected field, you confirm that your use of Amazon Lex * is related to a website, program, or other application that is directed * or targeted, in whole or in part, to children under age 13 and subject to COPPA. * By specifying false in the childDirected field, you * confirm that your use of Amazon Lex is not related to a website, program, * or other application that is directed or targeted, in whole or in part, to * children under age 13 and subject to COPPA. You may not specify a default value * for the childDirected field that does not accurately reflect * whether your use of Amazon Lex is related to a website, program, or other * application that is directed or targeted, in whole or in part, to children under * age 13 and subject to COPPA.

If your use of Amazon Lex relates to a * website, program, or other application that is directed in whole or in part, to * children under age 13, you must obtain any required verifiable parental consent * under COPPA. For information regarding the use of Amazon Lex in connection with * websites, programs, or other applications that are directed or targeted, in * whole or in part, to children under age 13, see the Amazon Lex FAQ.

*/ inline bool GetChildDirected() const{ return m_childDirected; } /** *

For each Amazon Lex bot created with the Amazon Lex Model Building Service, * you must specify whether your use of Amazon Lex is related to a website, * program, or other application that is directed or targeted, in whole or in part, * to children under age 13 and subject to the Children's Online Privacy Protection * Act (COPPA) by specifying true or false in the * childDirected field. By specifying true in the * childDirected field, you confirm that your use of Amazon Lex * is related to a website, program, or other application that is directed * or targeted, in whole or in part, to children under age 13 and subject to COPPA. * By specifying false in the childDirected field, you * confirm that your use of Amazon Lex is not related to a website, program, * or other application that is directed or targeted, in whole or in part, to * children under age 13 and subject to COPPA. You may not specify a default value * for the childDirected field that does not accurately reflect * whether your use of Amazon Lex is related to a website, program, or other * application that is directed or targeted, in whole or in part, to children under * age 13 and subject to COPPA.

If your use of Amazon Lex relates to a * website, program, or other application that is directed in whole or in part, to * children under age 13, you must obtain any required verifiable parental consent * under COPPA. For information regarding the use of Amazon Lex in connection with * websites, programs, or other applications that are directed or targeted, in * whole or in part, to children under age 13, see the Amazon Lex FAQ.

*/ inline bool ChildDirectedHasBeenSet() const { return m_childDirectedHasBeenSet; } /** *

For each Amazon Lex bot created with the Amazon Lex Model Building Service, * you must specify whether your use of Amazon Lex is related to a website, * program, or other application that is directed or targeted, in whole or in part, * to children under age 13 and subject to the Children's Online Privacy Protection * Act (COPPA) by specifying true or false in the * childDirected field. By specifying true in the * childDirected field, you confirm that your use of Amazon Lex * is related to a website, program, or other application that is directed * or targeted, in whole or in part, to children under age 13 and subject to COPPA. * By specifying false in the childDirected field, you * confirm that your use of Amazon Lex is not related to a website, program, * or other application that is directed or targeted, in whole or in part, to * children under age 13 and subject to COPPA. You may not specify a default value * for the childDirected field that does not accurately reflect * whether your use of Amazon Lex is related to a website, program, or other * application that is directed or targeted, in whole or in part, to children under * age 13 and subject to COPPA.

If your use of Amazon Lex relates to a * website, program, or other application that is directed in whole or in part, to * children under age 13, you must obtain any required verifiable parental consent * under COPPA. For information regarding the use of Amazon Lex in connection with * websites, programs, or other applications that are directed or targeted, in * whole or in part, to children under age 13, see the Amazon Lex FAQ.

*/ inline void SetChildDirected(bool value) { m_childDirectedHasBeenSet = true; m_childDirected = value; } /** *

For each Amazon Lex bot created with the Amazon Lex Model Building Service, * you must specify whether your use of Amazon Lex is related to a website, * program, or other application that is directed or targeted, in whole or in part, * to children under age 13 and subject to the Children's Online Privacy Protection * Act (COPPA) by specifying true or false in the * childDirected field. By specifying true in the * childDirected field, you confirm that your use of Amazon Lex * is related to a website, program, or other application that is directed * or targeted, in whole or in part, to children under age 13 and subject to COPPA. * By specifying false in the childDirected field, you * confirm that your use of Amazon Lex is not related to a website, program, * or other application that is directed or targeted, in whole or in part, to * children under age 13 and subject to COPPA. You may not specify a default value * for the childDirected field that does not accurately reflect * whether your use of Amazon Lex is related to a website, program, or other * application that is directed or targeted, in whole or in part, to children under * age 13 and subject to COPPA.

If your use of Amazon Lex relates to a * website, program, or other application that is directed in whole or in part, to * children under age 13, you must obtain any required verifiable parental consent * under COPPA. For information regarding the use of Amazon Lex in connection with * websites, programs, or other applications that are directed or targeted, in * whole or in part, to children under age 13, see the Amazon Lex FAQ.

*/ inline PutBotRequest& WithChildDirected(bool value) { SetChildDirected(value); return *this;} /** *

When set to true user utterances are sent to Amazon Comprehend * for sentiment analysis. If you don't specify detectSentiment, the * default is false.

*/ inline bool GetDetectSentiment() const{ return m_detectSentiment; } /** *

When set to true user utterances are sent to Amazon Comprehend * for sentiment analysis. If you don't specify detectSentiment, the * default is false.

*/ inline bool DetectSentimentHasBeenSet() const { return m_detectSentimentHasBeenSet; } /** *

When set to true user utterances are sent to Amazon Comprehend * for sentiment analysis. If you don't specify detectSentiment, the * default is false.

*/ inline void SetDetectSentiment(bool value) { m_detectSentimentHasBeenSet = true; m_detectSentiment = value; } /** *

When set to true user utterances are sent to Amazon Comprehend * for sentiment analysis. If you don't specify detectSentiment, the * default is false.

*/ inline PutBotRequest& WithDetectSentiment(bool value) { SetDetectSentiment(value); return *this;} /** *

When set to true a new numbered version of the bot is created. * This is the same as calling the CreateBotVersion operation. If you * don't specify createVersion, the default is false.

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

When set to true a new numbered version of the bot is created. * This is the same as calling the CreateBotVersion operation. If you * don't specify createVersion, the default is false.

*/ inline bool CreateVersionHasBeenSet() const { return m_createVersionHasBeenSet; } /** *

When set to true a new numbered version of the bot is created. * This is the same as calling the CreateBotVersion operation. If you * don't specify createVersion, the default is false.

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

When set to true a new numbered version of the bot is created. * This is the same as calling the CreateBotVersion operation. If you * don't specify createVersion, the default is false.

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

A list of tags to add to the bot. You can only add tags when you create a * bot, you can't use the PutBot operation to update the tags on a * bot. To update tags, use the TagResource operation.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A list of tags to add to the bot. You can only add tags when you create a * bot, you can't use the PutBot operation to update the tags on a * bot. To update tags, use the TagResource operation.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of tags to add to the bot. You can only add tags when you create a * bot, you can't use the PutBot operation to update the tags on a * bot. To update tags, use the TagResource operation.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of tags to add to the bot. You can only add tags when you create a * bot, you can't use the PutBot operation to update the tags on a * bot. To update tags, use the TagResource operation.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of tags to add to the bot. You can only add tags when you create a * bot, you can't use the PutBot operation to update the tags on a * bot. To update tags, use the TagResource operation.

*/ inline PutBotRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

A list of tags to add to the bot. You can only add tags when you create a * bot, you can't use the PutBot operation to update the tags on a * bot. To update tags, use the TagResource operation.

*/ inline PutBotRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

A list of tags to add to the bot. You can only add tags when you create a * bot, you can't use the PutBot operation to update the tags on a * bot. To update tags, use the TagResource operation.

*/ inline PutBotRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

A list of tags to add to the bot. You can only add tags when you create a * bot, you can't use the PutBot operation to update the tags on a * bot. To update tags, use the TagResource operation.

*/ inline PutBotRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_intents; bool m_intentsHasBeenSet = false; bool m_enableModelImprovements; bool m_enableModelImprovementsHasBeenSet = false; double m_nluIntentConfidenceThreshold; bool m_nluIntentConfidenceThresholdHasBeenSet = false; Prompt m_clarificationPrompt; bool m_clarificationPromptHasBeenSet = false; Statement m_abortStatement; bool m_abortStatementHasBeenSet = false; int m_idleSessionTTLInSeconds; bool m_idleSessionTTLInSecondsHasBeenSet = false; Aws::String m_voiceId; bool m_voiceIdHasBeenSet = false; Aws::String m_checksum; bool m_checksumHasBeenSet = false; ProcessBehavior m_processBehavior; bool m_processBehaviorHasBeenSet = false; Locale m_locale; bool m_localeHasBeenSet = false; bool m_childDirected; bool m_childDirectedHasBeenSet = false; bool m_detectSentiment; bool m_detectSentimentHasBeenSet = false; bool m_createVersion; bool m_createVersionHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace LexModelBuildingService } // namespace Aws