/** * 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 namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace LexModelBuildingService { namespace Model { class GetBotResult { public: AWS_LEXMODELBUILDINGSERVICE_API GetBotResult(); AWS_LEXMODELBUILDINGSERVICE_API GetBotResult(const Aws::AmazonWebServiceResult& result); AWS_LEXMODELBUILDINGSERVICE_API GetBotResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The name of the bot.

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

The name of the bot.

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

The name of the bot.

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

The name of the bot.

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

The name of the bot.

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

The name of the bot.

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

The name of the bot.

*/ inline GetBotResult& 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 void SetDescription(const Aws::String& value) { m_description = value; } /** *

A description of the bot.

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

A description of the bot.

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

A description of the bot.

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

A description of the bot.

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

A description of the bot.

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

An array of intent objects. For more information, see * PutBot.

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

An array of intent objects. For more information, see * PutBot.

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

An array of intent objects. For more information, see * PutBot.

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

An array of intent objects. For more information, see * PutBot.

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

An array of intent objects. For more information, see * PutBot.

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

An array of intent objects. For more information, see * PutBot.

*/ inline GetBotResult& AddIntents(const Intent& value) { m_intents.push_back(value); return *this; } /** *

An array of intent objects. For more information, see * PutBot.

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

Indicates whether the bot uses accuracy improvements. true * indicates that the bot is using the improvements, otherwise, * false.

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

Indicates whether the bot uses accuracy improvements. true * indicates that the bot is using the improvements, otherwise, * false.

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

Indicates whether the bot uses accuracy improvements. true * indicates that the bot is using the improvements, otherwise, * false.

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

The score that determines where Amazon Lex inserts the * AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or * both when returning alternative intents in a PostContent * or PostText * response. AMAZON.FallbackIntent is inserted if the confidence score * for all intents is below this value. AMAZON.KendraSearchIntent is * only inserted if it is configured for the bot.

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

The score that determines where Amazon Lex inserts the * AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or * both when returning alternative intents in a PostContent * or PostText * response. AMAZON.FallbackIntent is inserted if the confidence score * for all intents is below this value. AMAZON.KendraSearchIntent is * only inserted if it is configured for the bot.

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

The score that determines where Amazon Lex inserts the * AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or * both when returning alternative intents in a PostContent * or PostText * response. AMAZON.FallbackIntent is inserted if the confidence score * for all intents is below this value. AMAZON.KendraSearchIntent is * only inserted if it is configured for the bot.

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

The message Amazon Lex uses when it doesn't understand the user's request. * For more information, see PutBot.

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

The message Amazon Lex uses when it doesn't understand the user's request. * For more information, see PutBot.

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

The message Amazon Lex uses when it doesn't understand the user's request. * For more information, see PutBot.

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

The message Amazon Lex uses when it doesn't understand the user's request. * For more information, see PutBot.

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

The message Amazon Lex uses when it doesn't understand the user's request. * For more information, see PutBot.

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

The message that Amazon Lex returns when the user elects to end the * conversation without completing it. For more information, see PutBot.

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

The message that Amazon Lex returns when the user elects to end the * conversation without completing it. For more information, see PutBot.

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

The message that Amazon Lex returns when the user elects to end the * conversation without completing it. For more information, see PutBot.

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

The message that Amazon Lex returns when the user elects to end the * conversation without completing it. For more information, see PutBot.

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

The message that Amazon Lex returns when the user elects to end the * conversation without completing it. For more information, see PutBot.

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

The status of the bot.

When the status is BUILDING * Amazon Lex is building the bot for testing and use.

If the status of the * bot is READY_BASIC_TESTING, you can test the bot using the exact * utterances specified in the bot's intents. When the bot is ready for full * testing or to run, the status is READY.

If there was a * problem with building the bot, the status is FAILED and the * failureReason field explains why the bot did not build.

If * the bot was saved but not built, the status is NOT_BUILT.

*/ inline const Status& GetStatus() const{ return m_status; } /** *

The status of the bot.

When the status is BUILDING * Amazon Lex is building the bot for testing and use.

If the status of the * bot is READY_BASIC_TESTING, you can test the bot using the exact * utterances specified in the bot's intents. When the bot is ready for full * testing or to run, the status is READY.

If there was a * problem with building the bot, the status is FAILED and the * failureReason field explains why the bot did not build.

If * the bot was saved but not built, the status is NOT_BUILT.

*/ inline void SetStatus(const Status& value) { m_status = value; } /** *

The status of the bot.

When the status is BUILDING * Amazon Lex is building the bot for testing and use.

If the status of the * bot is READY_BASIC_TESTING, you can test the bot using the exact * utterances specified in the bot's intents. When the bot is ready for full * testing or to run, the status is READY.

If there was a * problem with building the bot, the status is FAILED and the * failureReason field explains why the bot did not build.

If * the bot was saved but not built, the status is NOT_BUILT.

*/ inline void SetStatus(Status&& value) { m_status = std::move(value); } /** *

The status of the bot.

When the status is BUILDING * Amazon Lex is building the bot for testing and use.

If the status of the * bot is READY_BASIC_TESTING, you can test the bot using the exact * utterances specified in the bot's intents. When the bot is ready for full * testing or to run, the status is READY.

If there was a * problem with building the bot, the status is FAILED and the * failureReason field explains why the bot did not build.

If * the bot was saved but not built, the status is NOT_BUILT.

*/ inline GetBotResult& WithStatus(const Status& value) { SetStatus(value); return *this;} /** *

The status of the bot.

When the status is BUILDING * Amazon Lex is building the bot for testing and use.

If the status of the * bot is READY_BASIC_TESTING, you can test the bot using the exact * utterances specified in the bot's intents. When the bot is ready for full * testing or to run, the status is READY.

If there was a * problem with building the bot, the status is FAILED and the * failureReason field explains why the bot did not build.

If * the bot was saved but not built, the status is NOT_BUILT.

*/ inline GetBotResult& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} /** *

If status is FAILED, Amazon Lex explains why it * failed to build the bot.

*/ inline const Aws::String& GetFailureReason() const{ return m_failureReason; } /** *

If status is FAILED, Amazon Lex explains why it * failed to build the bot.

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

If status is FAILED, Amazon Lex explains why it * failed to build the bot.

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

If status is FAILED, Amazon Lex explains why it * failed to build the bot.

*/ inline void SetFailureReason(const char* value) { m_failureReason.assign(value); } /** *

If status is FAILED, Amazon Lex explains why it * failed to build the bot.

*/ inline GetBotResult& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} /** *

If status is FAILED, Amazon Lex explains why it * failed to build the bot.

*/ inline GetBotResult& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} /** *

If status is FAILED, Amazon Lex explains why it * failed to build the bot.

*/ inline GetBotResult& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} /** *

The date that the bot was updated. When you create a resource, the creation * date and last updated date are the same.

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

The date that the bot was updated. When you create a resource, the creation * date and last updated date are the same.

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

The date that the bot was updated. When you create a resource, the creation * date and last updated date are the same.

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

The date that the bot was updated. When you create a resource, the creation * date and last updated date are the same.

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

The date that the bot was updated. When you create a resource, the creation * date and last updated date are the same.

*/ inline GetBotResult& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;} /** *

The date that the bot was created.

*/ inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } /** *

The date that the bot was created.

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

The date that the bot was created.

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

The date that the bot was created.

*/ inline GetBotResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} /** *

The date that the bot was created.

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

The maximum time in seconds that Amazon Lex retains the data gathered in a * conversation. For more information, see PutBot.

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

The maximum time in seconds that Amazon Lex retains the data gathered in a * conversation. For more information, see PutBot.

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

The maximum time in seconds that Amazon Lex retains the data gathered in a * conversation. For more information, see PutBot.

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

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the * user. For more information, see PutBot.

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

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the * user. For more information, see PutBot.

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

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the * user. For more information, see PutBot.

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

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the * user. For more information, see PutBot.

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

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the * user. For more information, see PutBot.

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

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the * user. For more information, see PutBot.

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

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the * user. For more information, see PutBot.

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

Checksum of the bot used to identify a specific revision of the bot's * $LATEST version.

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

Checksum of the bot used to identify a specific revision of the bot's * $LATEST version.

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

Checksum of the bot used to identify a specific revision of the bot's * $LATEST version.

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

Checksum of the bot used to identify a specific revision of the bot's * $LATEST version.

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

Checksum of the bot used to identify a specific revision of the bot's * $LATEST version.

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

Checksum of the bot used to identify a specific revision of the bot's * $LATEST version.

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

Checksum of the bot used to identify a specific revision of the bot's * $LATEST version.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The target locale for the bot.

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

The target locale for the bot.

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

The target locale for the bot.

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

The target locale for the bot.

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

The target locale for the bot.

*/ inline GetBotResult& 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 void SetChildDirected(bool value) { 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 GetBotResult& WithChildDirected(bool value) { SetChildDirected(value); return *this;} /** *

Indicates whether user utterances should be sent to Amazon Comprehend for * sentiment analysis.

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

Indicates whether user utterances should be sent to Amazon Comprehend for * sentiment analysis.

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

Indicates whether user utterances should be sent to Amazon Comprehend for * sentiment analysis.

*/ inline GetBotResult& WithDetectSentiment(bool value) { SetDetectSentiment(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetBotResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetBotResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetBotResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_name; Aws::String m_description; Aws::Vector m_intents; bool m_enableModelImprovements; double m_nluIntentConfidenceThreshold; Prompt m_clarificationPrompt; Statement m_abortStatement; Status m_status; Aws::String m_failureReason; Aws::Utils::DateTime m_lastUpdatedDate; Aws::Utils::DateTime m_createdDate; int m_idleSessionTTLInSeconds; Aws::String m_voiceId; Aws::String m_checksum; Aws::String m_version; Locale m_locale; bool m_childDirected; bool m_detectSentiment; Aws::String m_requestId; }; } // namespace Model } // namespace LexModelBuildingService } // namespace Aws