/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ChimeSDKIdentity { namespace Model { /** *

The configuration for an Amazon Lex V2 bot.

See Also:

AWS * API Reference

*/ class LexConfiguration { public: AWS_CHIMESDKIDENTITY_API LexConfiguration(); AWS_CHIMESDKIDENTITY_API LexConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_CHIMESDKIDENTITY_API LexConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CHIMESDKIDENTITY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Deprecated. Use InvokedBy instead.

*

Determines whether the Amazon Lex V2 bot responds to all * standard messages. Control messages are not supported.

*/ inline const RespondsTo& GetRespondsTo() const{ return m_respondsTo; } /** *

Deprecated. Use InvokedBy instead.

*

Determines whether the Amazon Lex V2 bot responds to all * standard messages. Control messages are not supported.

*/ inline bool RespondsToHasBeenSet() const { return m_respondsToHasBeenSet; } /** *

Deprecated. Use InvokedBy instead.

*

Determines whether the Amazon Lex V2 bot responds to all * standard messages. Control messages are not supported.

*/ inline void SetRespondsTo(const RespondsTo& value) { m_respondsToHasBeenSet = true; m_respondsTo = value; } /** *

Deprecated. Use InvokedBy instead.

*

Determines whether the Amazon Lex V2 bot responds to all * standard messages. Control messages are not supported.

*/ inline void SetRespondsTo(RespondsTo&& value) { m_respondsToHasBeenSet = true; m_respondsTo = std::move(value); } /** *

Deprecated. Use InvokedBy instead.

*

Determines whether the Amazon Lex V2 bot responds to all * standard messages. Control messages are not supported.

*/ inline LexConfiguration& WithRespondsTo(const RespondsTo& value) { SetRespondsTo(value); return *this;} /** *

Deprecated. Use InvokedBy instead.

*

Determines whether the Amazon Lex V2 bot responds to all * standard messages. Control messages are not supported.

*/ inline LexConfiguration& WithRespondsTo(RespondsTo&& value) { SetRespondsTo(std::move(value)); return *this;} /** *

Specifies the type of message that triggers a bot.

*/ inline const InvokedBy& GetInvokedBy() const{ return m_invokedBy; } /** *

Specifies the type of message that triggers a bot.

*/ inline bool InvokedByHasBeenSet() const { return m_invokedByHasBeenSet; } /** *

Specifies the type of message that triggers a bot.

*/ inline void SetInvokedBy(const InvokedBy& value) { m_invokedByHasBeenSet = true; m_invokedBy = value; } /** *

Specifies the type of message that triggers a bot.

*/ inline void SetInvokedBy(InvokedBy&& value) { m_invokedByHasBeenSet = true; m_invokedBy = std::move(value); } /** *

Specifies the type of message that triggers a bot.

*/ inline LexConfiguration& WithInvokedBy(const InvokedBy& value) { SetInvokedBy(value); return *this;} /** *

Specifies the type of message that triggers a bot.

*/ inline LexConfiguration& WithInvokedBy(InvokedBy&& value) { SetInvokedBy(std::move(value)); return *this;} /** *

The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: * arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS

*/ inline const Aws::String& GetLexBotAliasArn() const{ return m_lexBotAliasArn; } /** *

The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: * arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS

*/ inline bool LexBotAliasArnHasBeenSet() const { return m_lexBotAliasArnHasBeenSet; } /** *

The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: * arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS

*/ inline void SetLexBotAliasArn(const Aws::String& value) { m_lexBotAliasArnHasBeenSet = true; m_lexBotAliasArn = value; } /** *

The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: * arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS

*/ inline void SetLexBotAliasArn(Aws::String&& value) { m_lexBotAliasArnHasBeenSet = true; m_lexBotAliasArn = std::move(value); } /** *

The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: * arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS

*/ inline void SetLexBotAliasArn(const char* value) { m_lexBotAliasArnHasBeenSet = true; m_lexBotAliasArn.assign(value); } /** *

The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: * arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS

*/ inline LexConfiguration& WithLexBotAliasArn(const Aws::String& value) { SetLexBotAliasArn(value); return *this;} /** *

The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: * arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS

*/ inline LexConfiguration& WithLexBotAliasArn(Aws::String&& value) { SetLexBotAliasArn(std::move(value)); return *this;} /** *

The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: * arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS

*/ inline LexConfiguration& WithLexBotAliasArn(const char* value) { SetLexBotAliasArn(value); return *this;} /** *

Identifies the Amazon Lex V2 bot's language and locale. The string must match * one of the supported locales in Amazon Lex V2. All of the intents, slot types, * and slots used in the bot must have the same locale. For more information, see * Supported * languages in the Amazon Lex V2 Developer Guide.

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

Identifies the Amazon Lex V2 bot's language and locale. The string must match * one of the supported locales in Amazon Lex V2. All of the intents, slot types, * and slots used in the bot must have the same locale. For more information, see * Supported * languages in the Amazon Lex V2 Developer Guide.

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

Identifies the Amazon Lex V2 bot's language and locale. The string must match * one of the supported locales in Amazon Lex V2. All of the intents, slot types, * and slots used in the bot must have the same locale. For more information, see * Supported * languages in the Amazon Lex V2 Developer Guide.

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

Identifies the Amazon Lex V2 bot's language and locale. The string must match * one of the supported locales in Amazon Lex V2. All of the intents, slot types, * and slots used in the bot must have the same locale. For more information, see * Supported * languages in the Amazon Lex V2 Developer Guide.

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

Identifies the Amazon Lex V2 bot's language and locale. The string must match * one of the supported locales in Amazon Lex V2. All of the intents, slot types, * and slots used in the bot must have the same locale. For more information, see * Supported * languages in the Amazon Lex V2 Developer Guide.

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

Identifies the Amazon Lex V2 bot's language and locale. The string must match * one of the supported locales in Amazon Lex V2. All of the intents, slot types, * and slots used in the bot must have the same locale. For more information, see * Supported * languages in the Amazon Lex V2 Developer Guide.

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

Identifies the Amazon Lex V2 bot's language and locale. The string must match * one of the supported locales in Amazon Lex V2. All of the intents, slot types, * and slots used in the bot must have the same locale. For more information, see * Supported * languages in the Amazon Lex V2 Developer Guide.

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

Identifies the Amazon Lex V2 bot's language and locale. The string must match * one of the supported locales in Amazon Lex V2. All of the intents, slot types, * and slots used in the bot must have the same locale. For more information, see * Supported * languages in the Amazon Lex V2 Developer Guide.

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

The name of the welcome intent configured in the Amazon Lex V2 bot.

*/ inline const Aws::String& GetWelcomeIntent() const{ return m_welcomeIntent; } /** *

The name of the welcome intent configured in the Amazon Lex V2 bot.

*/ inline bool WelcomeIntentHasBeenSet() const { return m_welcomeIntentHasBeenSet; } /** *

The name of the welcome intent configured in the Amazon Lex V2 bot.

*/ inline void SetWelcomeIntent(const Aws::String& value) { m_welcomeIntentHasBeenSet = true; m_welcomeIntent = value; } /** *

The name of the welcome intent configured in the Amazon Lex V2 bot.

*/ inline void SetWelcomeIntent(Aws::String&& value) { m_welcomeIntentHasBeenSet = true; m_welcomeIntent = std::move(value); } /** *

The name of the welcome intent configured in the Amazon Lex V2 bot.

*/ inline void SetWelcomeIntent(const char* value) { m_welcomeIntentHasBeenSet = true; m_welcomeIntent.assign(value); } /** *

The name of the welcome intent configured in the Amazon Lex V2 bot.

*/ inline LexConfiguration& WithWelcomeIntent(const Aws::String& value) { SetWelcomeIntent(value); return *this;} /** *

The name of the welcome intent configured in the Amazon Lex V2 bot.

*/ inline LexConfiguration& WithWelcomeIntent(Aws::String&& value) { SetWelcomeIntent(std::move(value)); return *this;} /** *

The name of the welcome intent configured in the Amazon Lex V2 bot.

*/ inline LexConfiguration& WithWelcomeIntent(const char* value) { SetWelcomeIntent(value); return *this;} private: RespondsTo m_respondsTo; bool m_respondsToHasBeenSet = false; InvokedBy m_invokedBy; bool m_invokedByHasBeenSet = false; Aws::String m_lexBotAliasArn; bool m_lexBotAliasArnHasBeenSet = false; Aws::String m_localeId; bool m_localeIdHasBeenSet = false; Aws::String m_welcomeIntent; bool m_welcomeIntentHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKIdentity } // namespace Aws