/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace LexModelBuildingService { namespace Model { class CreateBotVersionRequest; class CreateIntentVersionRequest; class CreateSlotTypeVersionRequest; class DeleteBotRequest; class DeleteBotAliasRequest; class DeleteBotChannelAssociationRequest; class DeleteBotVersionRequest; class DeleteIntentRequest; class DeleteIntentVersionRequest; class DeleteSlotTypeRequest; class DeleteSlotTypeVersionRequest; class DeleteUtterancesRequest; class GetBotRequest; class GetBotAliasRequest; class GetBotAliasesRequest; class GetBotChannelAssociationRequest; class GetBotChannelAssociationsRequest; class GetBotVersionsRequest; class GetBotsRequest; class GetBuiltinIntentRequest; class GetBuiltinIntentsRequest; class GetBuiltinSlotTypesRequest; class GetExportRequest; class GetImportRequest; class GetIntentRequest; class GetIntentVersionsRequest; class GetIntentsRequest; class GetSlotTypeRequest; class GetSlotTypeVersionsRequest; class GetSlotTypesRequest; class GetUtterancesViewRequest; class ListTagsForResourceRequest; class PutBotRequest; class PutBotAliasRequest; class PutIntentRequest; class PutSlotTypeRequest; class StartImportRequest; class TagResourceRequest; class UntagResourceRequest; typedef Aws::Utils::Outcome CreateBotVersionOutcome; typedef Aws::Utils::Outcome CreateIntentVersionOutcome; typedef Aws::Utils::Outcome CreateSlotTypeVersionOutcome; typedef Aws::Utils::Outcome DeleteBotOutcome; typedef Aws::Utils::Outcome DeleteBotAliasOutcome; typedef Aws::Utils::Outcome DeleteBotChannelAssociationOutcome; typedef Aws::Utils::Outcome DeleteBotVersionOutcome; typedef Aws::Utils::Outcome DeleteIntentOutcome; typedef Aws::Utils::Outcome DeleteIntentVersionOutcome; typedef Aws::Utils::Outcome DeleteSlotTypeOutcome; typedef Aws::Utils::Outcome DeleteSlotTypeVersionOutcome; typedef Aws::Utils::Outcome DeleteUtterancesOutcome; typedef Aws::Utils::Outcome GetBotOutcome; typedef Aws::Utils::Outcome GetBotAliasOutcome; typedef Aws::Utils::Outcome GetBotAliasesOutcome; typedef Aws::Utils::Outcome GetBotChannelAssociationOutcome; typedef Aws::Utils::Outcome GetBotChannelAssociationsOutcome; typedef Aws::Utils::Outcome GetBotVersionsOutcome; typedef Aws::Utils::Outcome GetBotsOutcome; typedef Aws::Utils::Outcome GetBuiltinIntentOutcome; typedef Aws::Utils::Outcome GetBuiltinIntentsOutcome; typedef Aws::Utils::Outcome GetBuiltinSlotTypesOutcome; typedef Aws::Utils::Outcome GetExportOutcome; typedef Aws::Utils::Outcome GetImportOutcome; typedef Aws::Utils::Outcome GetIntentOutcome; typedef Aws::Utils::Outcome GetIntentVersionsOutcome; typedef Aws::Utils::Outcome GetIntentsOutcome; typedef Aws::Utils::Outcome GetSlotTypeOutcome; typedef Aws::Utils::Outcome GetSlotTypeVersionsOutcome; typedef Aws::Utils::Outcome GetSlotTypesOutcome; typedef Aws::Utils::Outcome GetUtterancesViewOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome PutBotOutcome; typedef Aws::Utils::Outcome PutBotAliasOutcome; typedef Aws::Utils::Outcome PutIntentOutcome; typedef Aws::Utils::Outcome PutSlotTypeOutcome; typedef Aws::Utils::Outcome StartImportOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef std::future CreateBotVersionOutcomeCallable; typedef std::future CreateIntentVersionOutcomeCallable; typedef std::future CreateSlotTypeVersionOutcomeCallable; typedef std::future DeleteBotOutcomeCallable; typedef std::future DeleteBotAliasOutcomeCallable; typedef std::future DeleteBotChannelAssociationOutcomeCallable; typedef std::future DeleteBotVersionOutcomeCallable; typedef std::future DeleteIntentOutcomeCallable; typedef std::future DeleteIntentVersionOutcomeCallable; typedef std::future DeleteSlotTypeOutcomeCallable; typedef std::future DeleteSlotTypeVersionOutcomeCallable; typedef std::future DeleteUtterancesOutcomeCallable; typedef std::future GetBotOutcomeCallable; typedef std::future GetBotAliasOutcomeCallable; typedef std::future GetBotAliasesOutcomeCallable; typedef std::future GetBotChannelAssociationOutcomeCallable; typedef std::future GetBotChannelAssociationsOutcomeCallable; typedef std::future GetBotVersionsOutcomeCallable; typedef std::future GetBotsOutcomeCallable; typedef std::future GetBuiltinIntentOutcomeCallable; typedef std::future GetBuiltinIntentsOutcomeCallable; typedef std::future GetBuiltinSlotTypesOutcomeCallable; typedef std::future GetExportOutcomeCallable; typedef std::future GetImportOutcomeCallable; typedef std::future GetIntentOutcomeCallable; typedef std::future GetIntentVersionsOutcomeCallable; typedef std::future GetIntentsOutcomeCallable; typedef std::future GetSlotTypeOutcomeCallable; typedef std::future GetSlotTypeVersionsOutcomeCallable; typedef std::future GetSlotTypesOutcomeCallable; typedef std::future GetUtterancesViewOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future PutBotOutcomeCallable; typedef std::future PutBotAliasOutcomeCallable; typedef std::future PutIntentOutcomeCallable; typedef std::future PutSlotTypeOutcomeCallable; typedef std::future StartImportOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; } // namespace Model class LexModelBuildingServiceClient; typedef std::function&) > CreateBotVersionResponseReceivedHandler; typedef std::function&) > CreateIntentVersionResponseReceivedHandler; typedef std::function&) > CreateSlotTypeVersionResponseReceivedHandler; typedef std::function&) > DeleteBotResponseReceivedHandler; typedef std::function&) > DeleteBotAliasResponseReceivedHandler; typedef std::function&) > DeleteBotChannelAssociationResponseReceivedHandler; typedef std::function&) > DeleteBotVersionResponseReceivedHandler; typedef std::function&) > DeleteIntentResponseReceivedHandler; typedef std::function&) > DeleteIntentVersionResponseReceivedHandler; typedef std::function&) > DeleteSlotTypeResponseReceivedHandler; typedef std::function&) > DeleteSlotTypeVersionResponseReceivedHandler; typedef std::function&) > DeleteUtterancesResponseReceivedHandler; typedef std::function&) > GetBotResponseReceivedHandler; typedef std::function&) > GetBotAliasResponseReceivedHandler; typedef std::function&) > GetBotAliasesResponseReceivedHandler; typedef std::function&) > GetBotChannelAssociationResponseReceivedHandler; typedef std::function&) > GetBotChannelAssociationsResponseReceivedHandler; typedef std::function&) > GetBotVersionsResponseReceivedHandler; typedef std::function&) > GetBotsResponseReceivedHandler; typedef std::function&) > GetBuiltinIntentResponseReceivedHandler; typedef std::function&) > GetBuiltinIntentsResponseReceivedHandler; typedef std::function&) > GetBuiltinSlotTypesResponseReceivedHandler; typedef std::function&) > GetExportResponseReceivedHandler; typedef std::function&) > GetImportResponseReceivedHandler; typedef std::function&) > GetIntentResponseReceivedHandler; typedef std::function&) > GetIntentVersionsResponseReceivedHandler; typedef std::function&) > GetIntentsResponseReceivedHandler; typedef std::function&) > GetSlotTypeResponseReceivedHandler; typedef std::function&) > GetSlotTypeVersionsResponseReceivedHandler; typedef std::function&) > GetSlotTypesResponseReceivedHandler; typedef std::function&) > GetUtterancesViewResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > PutBotResponseReceivedHandler; typedef std::function&) > PutBotAliasResponseReceivedHandler; typedef std::function&) > PutIntentResponseReceivedHandler; typedef std::function&) > PutSlotTypeResponseReceivedHandler; typedef std::function&) > StartImportResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; /** * Amazon Lex Build-Time Actions

Amazon Lex is an AWS * service for building conversational voice and text interfaces. Use these actions * to create, update, and delete conversational bots for new and existing client * applications.

*/ class AWS_LEXMODELBUILDINGSERVICE_API LexModelBuildingServiceClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ LexModelBuildingServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ LexModelBuildingServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ LexModelBuildingServiceClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~LexModelBuildingServiceClient(); /** *

Creates a new version of the bot based on the $LATEST version. * If the $LATEST version of this resource hasn't changed since you * created the last version, Amazon Lex doesn't create a new version. It returns * the last created version.

You can update only the * $LATEST version of the bot. You can't update the numbered versions * that you create with the CreateBotVersion operation.

*

When you create the first version of a bot, Amazon Lex sets the version to * 1. Subsequent versions increment by 1. For more information, see * versioning-intro.

This operation requires permission for the * lex:CreateBotVersion action.

See Also:

AWS * API Reference

*/ virtual Model::CreateBotVersionOutcome CreateBotVersion(const Model::CreateBotVersionRequest& request) const; /** *

Creates a new version of the bot based on the $LATEST version. * If the $LATEST version of this resource hasn't changed since you * created the last version, Amazon Lex doesn't create a new version. It returns * the last created version.

You can update only the * $LATEST version of the bot. You can't update the numbered versions * that you create with the CreateBotVersion operation.

*

When you create the first version of a bot, Amazon Lex sets the version to * 1. Subsequent versions increment by 1. For more information, see * versioning-intro.

This operation requires permission for the * lex:CreateBotVersion action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateBotVersionOutcomeCallable CreateBotVersionCallable(const Model::CreateBotVersionRequest& request) const; /** *

Creates a new version of the bot based on the $LATEST version. * If the $LATEST version of this resource hasn't changed since you * created the last version, Amazon Lex doesn't create a new version. It returns * the last created version.

You can update only the * $LATEST version of the bot. You can't update the numbered versions * that you create with the CreateBotVersion operation.

*

When you create the first version of a bot, Amazon Lex sets the version to * 1. Subsequent versions increment by 1. For more information, see * versioning-intro.

This operation requires permission for the * lex:CreateBotVersion action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateBotVersionAsync(const Model::CreateBotVersionRequest& request, const CreateBotVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new version of an intent based on the $LATEST version * of the intent. If the $LATEST version of this intent hasn't changed * since you last updated it, Amazon Lex doesn't create a new version. It returns * the last version you created.

You can update only the * $LATEST version of the intent. You can't update the numbered * versions that you create with the CreateIntentVersion * operation.

When you create a version of an intent, Amazon Lex * sets the version to 1. Subsequent versions increment by 1. For more information, * see versioning-intro.

This operation requires permissions to * perform the lex:CreateIntentVersion action.

See * Also:

AWS * API Reference

*/ virtual Model::CreateIntentVersionOutcome CreateIntentVersion(const Model::CreateIntentVersionRequest& request) const; /** *

Creates a new version of an intent based on the $LATEST version * of the intent. If the $LATEST version of this intent hasn't changed * since you last updated it, Amazon Lex doesn't create a new version. It returns * the last version you created.

You can update only the * $LATEST version of the intent. You can't update the numbered * versions that you create with the CreateIntentVersion * operation.

When you create a version of an intent, Amazon Lex * sets the version to 1. Subsequent versions increment by 1. For more information, * see versioning-intro.

This operation requires permissions to * perform the lex:CreateIntentVersion action.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateIntentVersionOutcomeCallable CreateIntentVersionCallable(const Model::CreateIntentVersionRequest& request) const; /** *

Creates a new version of an intent based on the $LATEST version * of the intent. If the $LATEST version of this intent hasn't changed * since you last updated it, Amazon Lex doesn't create a new version. It returns * the last version you created.

You can update only the * $LATEST version of the intent. You can't update the numbered * versions that you create with the CreateIntentVersion * operation.

When you create a version of an intent, Amazon Lex * sets the version to 1. Subsequent versions increment by 1. For more information, * see versioning-intro.

This operation requires permissions to * perform the lex:CreateIntentVersion action.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateIntentVersionAsync(const Model::CreateIntentVersionRequest& request, const CreateIntentVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new version of a slot type based on the $LATEST * version of the specified slot type. If the $LATEST version of this * resource has not changed since the last version that you created, Amazon Lex * doesn't create a new version. It returns the last version that you created.

*

You can update only the $LATEST version of a slot type. * You can't update the numbered versions that you create with the * CreateSlotTypeVersion operation.

When you create a * version of a slot type, Amazon Lex sets the version to 1. Subsequent versions * increment by 1. For more information, see versioning-intro.

This * operation requires permissions for the lex:CreateSlotTypeVersion * action.

See Also:

AWS * API Reference

*/ virtual Model::CreateSlotTypeVersionOutcome CreateSlotTypeVersion(const Model::CreateSlotTypeVersionRequest& request) const; /** *

Creates a new version of a slot type based on the $LATEST * version of the specified slot type. If the $LATEST version of this * resource has not changed since the last version that you created, Amazon Lex * doesn't create a new version. It returns the last version that you created.

*

You can update only the $LATEST version of a slot type. * You can't update the numbered versions that you create with the * CreateSlotTypeVersion operation.

When you create a * version of a slot type, Amazon Lex sets the version to 1. Subsequent versions * increment by 1. For more information, see versioning-intro.

This * operation requires permissions for the lex:CreateSlotTypeVersion * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateSlotTypeVersionOutcomeCallable CreateSlotTypeVersionCallable(const Model::CreateSlotTypeVersionRequest& request) const; /** *

Creates a new version of a slot type based on the $LATEST * version of the specified slot type. If the $LATEST version of this * resource has not changed since the last version that you created, Amazon Lex * doesn't create a new version. It returns the last version that you created.

*

You can update only the $LATEST version of a slot type. * You can't update the numbered versions that you create with the * CreateSlotTypeVersion operation.

When you create a * version of a slot type, Amazon Lex sets the version to 1. Subsequent versions * increment by 1. For more information, see versioning-intro.

This * operation requires permissions for the lex:CreateSlotTypeVersion * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSlotTypeVersionAsync(const Model::CreateSlotTypeVersionRequest& request, const CreateSlotTypeVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes all versions of the bot, including the $LATEST version. * To delete a specific version of the bot, use the DeleteBotVersion * operation. The DeleteBot operation doesn't immediately remove the * bot schema. Instead, it is marked for deletion and removed later.

Amazon * Lex stores utterances indefinitely for improving the ability of your bot to * respond to user inputs. These utterances are not removed when the bot is * deleted. To remove the utterances, use the DeleteUtterances * operation.

If a bot has an alias, you can't delete it. Instead, the * DeleteBot operation returns a ResourceInUseException * exception that includes a reference to the alias that refers to the bot. To * remove the reference to the bot, delete the alias. If you get the same exception * again, delete the referring alias until the DeleteBot operation is * successful.

This operation requires permissions for the * lex:DeleteBot action.

See Also:

AWS * API Reference

*/ virtual Model::DeleteBotOutcome DeleteBot(const Model::DeleteBotRequest& request) const; /** *

Deletes all versions of the bot, including the $LATEST version. * To delete a specific version of the bot, use the DeleteBotVersion * operation. The DeleteBot operation doesn't immediately remove the * bot schema. Instead, it is marked for deletion and removed later.

Amazon * Lex stores utterances indefinitely for improving the ability of your bot to * respond to user inputs. These utterances are not removed when the bot is * deleted. To remove the utterances, use the DeleteUtterances * operation.

If a bot has an alias, you can't delete it. Instead, the * DeleteBot operation returns a ResourceInUseException * exception that includes a reference to the alias that refers to the bot. To * remove the reference to the bot, delete the alias. If you get the same exception * again, delete the referring alias until the DeleteBot operation is * successful.

This operation requires permissions for the * lex:DeleteBot action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteBotOutcomeCallable DeleteBotCallable(const Model::DeleteBotRequest& request) const; /** *

Deletes all versions of the bot, including the $LATEST version. * To delete a specific version of the bot, use the DeleteBotVersion * operation. The DeleteBot operation doesn't immediately remove the * bot schema. Instead, it is marked for deletion and removed later.

Amazon * Lex stores utterances indefinitely for improving the ability of your bot to * respond to user inputs. These utterances are not removed when the bot is * deleted. To remove the utterances, use the DeleteUtterances * operation.

If a bot has an alias, you can't delete it. Instead, the * DeleteBot operation returns a ResourceInUseException * exception that includes a reference to the alias that refers to the bot. To * remove the reference to the bot, delete the alias. If you get the same exception * again, delete the referring alias until the DeleteBot operation is * successful.

This operation requires permissions for the * lex:DeleteBot action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteBotAsync(const Model::DeleteBotRequest& request, const DeleteBotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes an alias for the specified bot.

You can't delete an alias * that is used in the association between a bot and a messaging channel. If an * alias is used in a channel association, the DeleteBot operation * returns a ResourceInUseException exception that includes a * reference to the channel association that refers to the bot. You can remove the * reference to the alias by deleting the channel association. If you get the same * exception again, delete the referring association until the * DeleteBotAlias operation is successful.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteBotAliasOutcome DeleteBotAlias(const Model::DeleteBotAliasRequest& request) const; /** *

Deletes an alias for the specified bot.

You can't delete an alias * that is used in the association between a bot and a messaging channel. If an * alias is used in a channel association, the DeleteBot operation * returns a ResourceInUseException exception that includes a * reference to the channel association that refers to the bot. You can remove the * reference to the alias by deleting the channel association. If you get the same * exception again, delete the referring association until the * DeleteBotAlias operation is successful.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteBotAliasOutcomeCallable DeleteBotAliasCallable(const Model::DeleteBotAliasRequest& request) const; /** *

Deletes an alias for the specified bot.

You can't delete an alias * that is used in the association between a bot and a messaging channel. If an * alias is used in a channel association, the DeleteBot operation * returns a ResourceInUseException exception that includes a * reference to the channel association that refers to the bot. You can remove the * reference to the alias by deleting the channel association. If you get the same * exception again, delete the referring association until the * DeleteBotAlias operation is successful.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteBotAliasAsync(const Model::DeleteBotAliasRequest& request, const DeleteBotAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the association between an Amazon Lex bot and a messaging * platform.

This operation requires permission for the * lex:DeleteBotChannelAssociation action.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteBotChannelAssociationOutcome DeleteBotChannelAssociation(const Model::DeleteBotChannelAssociationRequest& request) const; /** *

Deletes the association between an Amazon Lex bot and a messaging * platform.

This operation requires permission for the * lex:DeleteBotChannelAssociation action.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteBotChannelAssociationOutcomeCallable DeleteBotChannelAssociationCallable(const Model::DeleteBotChannelAssociationRequest& request) const; /** *

Deletes the association between an Amazon Lex bot and a messaging * platform.

This operation requires permission for the * lex:DeleteBotChannelAssociation action.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteBotChannelAssociationAsync(const Model::DeleteBotChannelAssociationRequest& request, const DeleteBotChannelAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a specific version of a bot. To delete all versions of a bot, use the * DeleteBot operation.

This operation requires permissions for the * lex:DeleteBotVersion action.

See Also:

AWS * API Reference

*/ virtual Model::DeleteBotVersionOutcome DeleteBotVersion(const Model::DeleteBotVersionRequest& request) const; /** *

Deletes a specific version of a bot. To delete all versions of a bot, use the * DeleteBot operation.

This operation requires permissions for the * lex:DeleteBotVersion action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteBotVersionOutcomeCallable DeleteBotVersionCallable(const Model::DeleteBotVersionRequest& request) const; /** *

Deletes a specific version of a bot. To delete all versions of a bot, use the * DeleteBot operation.

This operation requires permissions for the * lex:DeleteBotVersion action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteBotVersionAsync(const Model::DeleteBotVersionRequest& request, const DeleteBotVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes all versions of the intent, including the $LATEST * version. To delete a specific version of the intent, use the * DeleteIntentVersion operation.

You can delete a version of an * intent only if it is not referenced. To delete an intent that is referred to in * one or more bots (see how-it-works), you must remove those references * first.

If you get the ResourceInUseException * exception, it provides an example reference that shows where the intent is * referenced. To remove the reference to the intent, either update the bot or * delete it. If you get the same exception when you attempt to delete the intent * again, repeat until the intent has no references and the call to * DeleteIntent is successful.

This operation * requires permission for the lex:DeleteIntent action.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteIntentOutcome DeleteIntent(const Model::DeleteIntentRequest& request) const; /** *

Deletes all versions of the intent, including the $LATEST * version. To delete a specific version of the intent, use the * DeleteIntentVersion operation.

You can delete a version of an * intent only if it is not referenced. To delete an intent that is referred to in * one or more bots (see how-it-works), you must remove those references * first.

If you get the ResourceInUseException * exception, it provides an example reference that shows where the intent is * referenced. To remove the reference to the intent, either update the bot or * delete it. If you get the same exception when you attempt to delete the intent * again, repeat until the intent has no references and the call to * DeleteIntent is successful.

This operation * requires permission for the lex:DeleteIntent action.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteIntentOutcomeCallable DeleteIntentCallable(const Model::DeleteIntentRequest& request) const; /** *

Deletes all versions of the intent, including the $LATEST * version. To delete a specific version of the intent, use the * DeleteIntentVersion operation.

You can delete a version of an * intent only if it is not referenced. To delete an intent that is referred to in * one or more bots (see how-it-works), you must remove those references * first.

If you get the ResourceInUseException * exception, it provides an example reference that shows where the intent is * referenced. To remove the reference to the intent, either update the bot or * delete it. If you get the same exception when you attempt to delete the intent * again, repeat until the intent has no references and the call to * DeleteIntent is successful.

This operation * requires permission for the lex:DeleteIntent action.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteIntentAsync(const Model::DeleteIntentRequest& request, const DeleteIntentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a specific version of an intent. To delete all versions of a intent, * use the DeleteIntent operation.

This operation requires * permissions for the lex:DeleteIntentVersion action.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteIntentVersionOutcome DeleteIntentVersion(const Model::DeleteIntentVersionRequest& request) const; /** *

Deletes a specific version of an intent. To delete all versions of a intent, * use the DeleteIntent operation.

This operation requires * permissions for the lex:DeleteIntentVersion action.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteIntentVersionOutcomeCallable DeleteIntentVersionCallable(const Model::DeleteIntentVersionRequest& request) const; /** *

Deletes a specific version of an intent. To delete all versions of a intent, * use the DeleteIntent operation.

This operation requires * permissions for the lex:DeleteIntentVersion action.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteIntentVersionAsync(const Model::DeleteIntentVersionRequest& request, const DeleteIntentVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes all versions of the slot type, including the $LATEST * version. To delete a specific version of the slot type, use the * DeleteSlotTypeVersion operation.

You can delete a version of a * slot type only if it is not referenced. To delete a slot type that is referred * to in one or more intents, you must remove those references first.

*

If you get the ResourceInUseException exception, the exception * provides an example reference that shows the intent where the slot type is * referenced. To remove the reference to the slot type, either update the intent * or delete it. If you get the same exception when you attempt to delete the slot * type again, repeat until the slot type has no references and the * DeleteSlotType call is successful.

This operation * requires permission for the lex:DeleteSlotType * action.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSlotTypeOutcome DeleteSlotType(const Model::DeleteSlotTypeRequest& request) const; /** *

Deletes all versions of the slot type, including the $LATEST * version. To delete a specific version of the slot type, use the * DeleteSlotTypeVersion operation.

You can delete a version of a * slot type only if it is not referenced. To delete a slot type that is referred * to in one or more intents, you must remove those references first.

*

If you get the ResourceInUseException exception, the exception * provides an example reference that shows the intent where the slot type is * referenced. To remove the reference to the slot type, either update the intent * or delete it. If you get the same exception when you attempt to delete the slot * type again, repeat until the slot type has no references and the * DeleteSlotType call is successful.

This operation * requires permission for the lex:DeleteSlotType * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSlotTypeOutcomeCallable DeleteSlotTypeCallable(const Model::DeleteSlotTypeRequest& request) const; /** *

Deletes all versions of the slot type, including the $LATEST * version. To delete a specific version of the slot type, use the * DeleteSlotTypeVersion operation.

You can delete a version of a * slot type only if it is not referenced. To delete a slot type that is referred * to in one or more intents, you must remove those references first.

*

If you get the ResourceInUseException exception, the exception * provides an example reference that shows the intent where the slot type is * referenced. To remove the reference to the slot type, either update the intent * or delete it. If you get the same exception when you attempt to delete the slot * type again, repeat until the slot type has no references and the * DeleteSlotType call is successful.

This operation * requires permission for the lex:DeleteSlotType * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSlotTypeAsync(const Model::DeleteSlotTypeRequest& request, const DeleteSlotTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a specific version of a slot type. To delete all versions of a slot * type, use the DeleteSlotType operation.

This operation requires * permissions for the lex:DeleteSlotTypeVersion action.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteSlotTypeVersionOutcome DeleteSlotTypeVersion(const Model::DeleteSlotTypeVersionRequest& request) const; /** *

Deletes a specific version of a slot type. To delete all versions of a slot * type, use the DeleteSlotType operation.

This operation requires * permissions for the lex:DeleteSlotTypeVersion action.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSlotTypeVersionOutcomeCallable DeleteSlotTypeVersionCallable(const Model::DeleteSlotTypeVersionRequest& request) const; /** *

Deletes a specific version of a slot type. To delete all versions of a slot * type, use the DeleteSlotType operation.

This operation requires * permissions for the lex:DeleteSlotTypeVersion action.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSlotTypeVersionAsync(const Model::DeleteSlotTypeVersionRequest& request, const DeleteSlotTypeVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes stored utterances.

Amazon Lex stores the utterances that users * send to your bot. Utterances are stored for 15 days for use with the * GetUtterancesView operation, and then stored indefinitely for use in * improving the ability of your bot to respond to user input.

Use the * DeleteUtterances operation to manually delete stored utterances for * a specific user. When you use the DeleteUtterances operation, * utterances stored for improving your bot's ability to respond to user input are * deleted immediately. Utterances stored for use with the * GetUtterancesView operation are deleted after 15 days.

This * operation requires permissions for the lex:DeleteUtterances * action.

See Also:

AWS * API Reference

*/ virtual Model::DeleteUtterancesOutcome DeleteUtterances(const Model::DeleteUtterancesRequest& request) const; /** *

Deletes stored utterances.

Amazon Lex stores the utterances that users * send to your bot. Utterances are stored for 15 days for use with the * GetUtterancesView operation, and then stored indefinitely for use in * improving the ability of your bot to respond to user input.

Use the * DeleteUtterances operation to manually delete stored utterances for * a specific user. When you use the DeleteUtterances operation, * utterances stored for improving your bot's ability to respond to user input are * deleted immediately. Utterances stored for use with the * GetUtterancesView operation are deleted after 15 days.

This * operation requires permissions for the lex:DeleteUtterances * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteUtterancesOutcomeCallable DeleteUtterancesCallable(const Model::DeleteUtterancesRequest& request) const; /** *

Deletes stored utterances.

Amazon Lex stores the utterances that users * send to your bot. Utterances are stored for 15 days for use with the * GetUtterancesView operation, and then stored indefinitely for use in * improving the ability of your bot to respond to user input.

Use the * DeleteUtterances operation to manually delete stored utterances for * a specific user. When you use the DeleteUtterances operation, * utterances stored for improving your bot's ability to respond to user input are * deleted immediately. Utterances stored for use with the * GetUtterancesView operation are deleted after 15 days.

This * operation requires permissions for the lex:DeleteUtterances * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteUtterancesAsync(const Model::DeleteUtterancesRequest& request, const DeleteUtterancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns metadata information for a specific bot. You must provide the bot * name and the bot version or alias.

This operation requires permissions * for the lex:GetBot action.

See Also:

AWS * API Reference

*/ virtual Model::GetBotOutcome GetBot(const Model::GetBotRequest& request) const; /** *

Returns metadata information for a specific bot. You must provide the bot * name and the bot version or alias.

This operation requires permissions * for the lex:GetBot action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBotOutcomeCallable GetBotCallable(const Model::GetBotRequest& request) const; /** *

Returns metadata information for a specific bot. You must provide the bot * name and the bot version or alias.

This operation requires permissions * for the lex:GetBot action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBotAsync(const Model::GetBotRequest& request, const GetBotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about an Amazon Lex bot alias. For more information about * aliases, see versioning-aliases.

This operation requires * permissions for the lex:GetBotAlias action.

See * Also:

AWS * API Reference

*/ virtual Model::GetBotAliasOutcome GetBotAlias(const Model::GetBotAliasRequest& request) const; /** *

Returns information about an Amazon Lex bot alias. For more information about * aliases, see versioning-aliases.

This operation requires * permissions for the lex:GetBotAlias action.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBotAliasOutcomeCallable GetBotAliasCallable(const Model::GetBotAliasRequest& request) const; /** *

Returns information about an Amazon Lex bot alias. For more information about * aliases, see versioning-aliases.

This operation requires * permissions for the lex:GetBotAlias action.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBotAliasAsync(const Model::GetBotAliasRequest& request, const GetBotAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of aliases for a specified Amazon Lex bot.

This * operation requires permissions for the lex:GetBotAliases * action.

See Also:

AWS * API Reference

*/ virtual Model::GetBotAliasesOutcome GetBotAliases(const Model::GetBotAliasesRequest& request) const; /** *

Returns a list of aliases for a specified Amazon Lex bot.

This * operation requires permissions for the lex:GetBotAliases * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBotAliasesOutcomeCallable GetBotAliasesCallable(const Model::GetBotAliasesRequest& request) const; /** *

Returns a list of aliases for a specified Amazon Lex bot.

This * operation requires permissions for the lex:GetBotAliases * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBotAliasesAsync(const Model::GetBotAliasesRequest& request, const GetBotAliasesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about the association between an Amazon Lex bot and a * messaging platform.

This operation requires permissions for the * lex:GetBotChannelAssociation action.

See Also:

AWS * API Reference

*/ virtual Model::GetBotChannelAssociationOutcome GetBotChannelAssociation(const Model::GetBotChannelAssociationRequest& request) const; /** *

Returns information about the association between an Amazon Lex bot and a * messaging platform.

This operation requires permissions for the * lex:GetBotChannelAssociation action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBotChannelAssociationOutcomeCallable GetBotChannelAssociationCallable(const Model::GetBotChannelAssociationRequest& request) const; /** *

Returns information about the association between an Amazon Lex bot and a * messaging platform.

This operation requires permissions for the * lex:GetBotChannelAssociation action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBotChannelAssociationAsync(const Model::GetBotChannelAssociationRequest& request, const GetBotChannelAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of all of the channels associated with the specified bot. *

The GetBotChannelAssociations operation requires * permissions for the lex:GetBotChannelAssociations * action.

See Also:

AWS * API Reference

*/ virtual Model::GetBotChannelAssociationsOutcome GetBotChannelAssociations(const Model::GetBotChannelAssociationsRequest& request) const; /** *

Returns a list of all of the channels associated with the specified bot. *

The GetBotChannelAssociations operation requires * permissions for the lex:GetBotChannelAssociations * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBotChannelAssociationsOutcomeCallable GetBotChannelAssociationsCallable(const Model::GetBotChannelAssociationsRequest& request) const; /** *

Returns a list of all of the channels associated with the specified bot. *

The GetBotChannelAssociations operation requires * permissions for the lex:GetBotChannelAssociations * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBotChannelAssociationsAsync(const Model::GetBotChannelAssociationsRequest& request, const GetBotChannelAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about all of the versions of a bot.

The * GetBotVersions operation returns a BotMetadata object * for each version of a bot. For example, if a bot has three numbered versions, * the GetBotVersions operation returns four BotMetadata * objects in the response, one for each numbered version and one for the * $LATEST version.

The GetBotVersions operation * always returns at least one version, the $LATEST version.

*

This operation requires permissions for the lex:GetBotVersions * action.

See Also:

AWS * API Reference

*/ virtual Model::GetBotVersionsOutcome GetBotVersions(const Model::GetBotVersionsRequest& request) const; /** *

Gets information about all of the versions of a bot.

The * GetBotVersions operation returns a BotMetadata object * for each version of a bot. For example, if a bot has three numbered versions, * the GetBotVersions operation returns four BotMetadata * objects in the response, one for each numbered version and one for the * $LATEST version.

The GetBotVersions operation * always returns at least one version, the $LATEST version.

*

This operation requires permissions for the lex:GetBotVersions * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBotVersionsOutcomeCallable GetBotVersionsCallable(const Model::GetBotVersionsRequest& request) const; /** *

Gets information about all of the versions of a bot.

The * GetBotVersions operation returns a BotMetadata object * for each version of a bot. For example, if a bot has three numbered versions, * the GetBotVersions operation returns four BotMetadata * objects in the response, one for each numbered version and one for the * $LATEST version.

The GetBotVersions operation * always returns at least one version, the $LATEST version.

*

This operation requires permissions for the lex:GetBotVersions * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBotVersionsAsync(const Model::GetBotVersionsRequest& request, const GetBotVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns bot information as follows:

  • If you provide the * nameContains field, the response includes information for the * $LATEST version of all bots whose name contains the specified * string.

  • If you don't specify the nameContains * field, the operation returns information about the $LATEST version * of all of your bots.

This operation requires permission for * the lex:GetBots action.

See Also:

AWS * API Reference

*/ virtual Model::GetBotsOutcome GetBots(const Model::GetBotsRequest& request) const; /** *

Returns bot information as follows:

  • If you provide the * nameContains field, the response includes information for the * $LATEST version of all bots whose name contains the specified * string.

  • If you don't specify the nameContains * field, the operation returns information about the $LATEST version * of all of your bots.

This operation requires permission for * the lex:GetBots action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBotsOutcomeCallable GetBotsCallable(const Model::GetBotsRequest& request) const; /** *

Returns bot information as follows:

  • If you provide the * nameContains field, the response includes information for the * $LATEST version of all bots whose name contains the specified * string.

  • If you don't specify the nameContains * field, the operation returns information about the $LATEST version * of all of your bots.

This operation requires permission for * the lex:GetBots action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBotsAsync(const Model::GetBotsRequest& request, const GetBotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about a built-in intent.

This operation requires * permission for the lex:GetBuiltinIntent action.

See * Also:

AWS * API Reference

*/ virtual Model::GetBuiltinIntentOutcome GetBuiltinIntent(const Model::GetBuiltinIntentRequest& request) const; /** *

Returns information about a built-in intent.

This operation requires * permission for the lex:GetBuiltinIntent action.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBuiltinIntentOutcomeCallable GetBuiltinIntentCallable(const Model::GetBuiltinIntentRequest& request) const; /** *

Returns information about a built-in intent.

This operation requires * permission for the lex:GetBuiltinIntent action.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBuiltinIntentAsync(const Model::GetBuiltinIntentRequest& request, const GetBuiltinIntentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets a list of built-in intents that meet the specified criteria.

This * operation requires permission for the lex:GetBuiltinIntents * action.

See Also:

AWS * API Reference

*/ virtual Model::GetBuiltinIntentsOutcome GetBuiltinIntents(const Model::GetBuiltinIntentsRequest& request) const; /** *

Gets a list of built-in intents that meet the specified criteria.

This * operation requires permission for the lex:GetBuiltinIntents * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBuiltinIntentsOutcomeCallable GetBuiltinIntentsCallable(const Model::GetBuiltinIntentsRequest& request) const; /** *

Gets a list of built-in intents that meet the specified criteria.

This * operation requires permission for the lex:GetBuiltinIntents * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBuiltinIntentsAsync(const Model::GetBuiltinIntentsRequest& request, const GetBuiltinIntentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets a list of built-in slot types that meet the specified criteria.

*

For a list of built-in slot types, see Slot * Type Reference in the Alexa Skills Kit.

This operation * requires permission for the lex:GetBuiltInSlotTypes * action.

See Also:

AWS * API Reference

*/ virtual Model::GetBuiltinSlotTypesOutcome GetBuiltinSlotTypes(const Model::GetBuiltinSlotTypesRequest& request) const; /** *

Gets a list of built-in slot types that meet the specified criteria.

*

For a list of built-in slot types, see Slot * Type Reference in the Alexa Skills Kit.

This operation * requires permission for the lex:GetBuiltInSlotTypes * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBuiltinSlotTypesOutcomeCallable GetBuiltinSlotTypesCallable(const Model::GetBuiltinSlotTypesRequest& request) const; /** *

Gets a list of built-in slot types that meet the specified criteria.

*

For a list of built-in slot types, see Slot * Type Reference in the Alexa Skills Kit.

This operation * requires permission for the lex:GetBuiltInSlotTypes * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBuiltinSlotTypesAsync(const Model::GetBuiltinSlotTypesRequest& request, const GetBuiltinSlotTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Exports the contents of a Amazon Lex resource in a specified format. *

See Also:

AWS * API Reference

*/ virtual Model::GetExportOutcome GetExport(const Model::GetExportRequest& request) const; /** *

Exports the contents of a Amazon Lex resource in a specified format. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetExportOutcomeCallable GetExportCallable(const Model::GetExportRequest& request) const; /** *

Exports the contents of a Amazon Lex resource in a specified format. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetExportAsync(const Model::GetExportRequest& request, const GetExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about an import job started with the * StartImport operation.

See Also:

AWS * API Reference

*/ virtual Model::GetImportOutcome GetImport(const Model::GetImportRequest& request) const; /** *

Gets information about an import job started with the * StartImport operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetImportOutcomeCallable GetImportCallable(const Model::GetImportRequest& request) const; /** *

Gets information about an import job started with the * StartImport operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetImportAsync(const Model::GetImportRequest& request, const GetImportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about an intent. In addition to the intent name, you * must specify the intent version.

This operation requires permissions to * perform the lex:GetIntent action.

See Also:

AWS * API Reference

*/ virtual Model::GetIntentOutcome GetIntent(const Model::GetIntentRequest& request) const; /** *

Returns information about an intent. In addition to the intent name, you * must specify the intent version.

This operation requires permissions to * perform the lex:GetIntent action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetIntentOutcomeCallable GetIntentCallable(const Model::GetIntentRequest& request) const; /** *

Returns information about an intent. In addition to the intent name, you * must specify the intent version.

This operation requires permissions to * perform the lex:GetIntent action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetIntentAsync(const Model::GetIntentRequest& request, const GetIntentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about all of the versions of an intent.

The * GetIntentVersions operation returns an IntentMetadata * object for each version of an intent. For example, if an intent has three * numbered versions, the GetIntentVersions operation returns four * IntentMetadata objects in the response, one for each numbered * version and one for the $LATEST version.

The * GetIntentVersions operation always returns at least one version, * the $LATEST version.

This operation requires permissions for * the lex:GetIntentVersions action.

See Also:

AWS * API Reference

*/ virtual Model::GetIntentVersionsOutcome GetIntentVersions(const Model::GetIntentVersionsRequest& request) const; /** *

Gets information about all of the versions of an intent.

The * GetIntentVersions operation returns an IntentMetadata * object for each version of an intent. For example, if an intent has three * numbered versions, the GetIntentVersions operation returns four * IntentMetadata objects in the response, one for each numbered * version and one for the $LATEST version.

The * GetIntentVersions operation always returns at least one version, * the $LATEST version.

This operation requires permissions for * the lex:GetIntentVersions action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetIntentVersionsOutcomeCallable GetIntentVersionsCallable(const Model::GetIntentVersionsRequest& request) const; /** *

Gets information about all of the versions of an intent.

The * GetIntentVersions operation returns an IntentMetadata * object for each version of an intent. For example, if an intent has three * numbered versions, the GetIntentVersions operation returns four * IntentMetadata objects in the response, one for each numbered * version and one for the $LATEST version.

The * GetIntentVersions operation always returns at least one version, * the $LATEST version.

This operation requires permissions for * the lex:GetIntentVersions action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetIntentVersionsAsync(const Model::GetIntentVersionsRequest& request, const GetIntentVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns intent information as follows:

  • If you specify the * nameContains field, returns the $LATEST version of all * intents that contain the specified string.

  • If you don't * specify the nameContains field, returns information about the * $LATEST version of all intents.

The operation * requires permission for the lex:GetIntents action.

See * Also:

AWS * API Reference

*/ virtual Model::GetIntentsOutcome GetIntents(const Model::GetIntentsRequest& request) const; /** *

Returns intent information as follows:

  • If you specify the * nameContains field, returns the $LATEST version of all * intents that contain the specified string.

  • If you don't * specify the nameContains field, returns information about the * $LATEST version of all intents.

The operation * requires permission for the lex:GetIntents action.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetIntentsOutcomeCallable GetIntentsCallable(const Model::GetIntentsRequest& request) const; /** *

Returns intent information as follows:

  • If you specify the * nameContains field, returns the $LATEST version of all * intents that contain the specified string.

  • If you don't * specify the nameContains field, returns information about the * $LATEST version of all intents.

The operation * requires permission for the lex:GetIntents action.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetIntentsAsync(const Model::GetIntentsRequest& request, const GetIntentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns information about a specific version of a slot type. In addition to * specifying the slot type name, you must specify the slot type version.

*

This operation requires permissions for the lex:GetSlotType * action.

See Also:

AWS * API Reference

*/ virtual Model::GetSlotTypeOutcome GetSlotType(const Model::GetSlotTypeRequest& request) const; /** *

Returns information about a specific version of a slot type. In addition to * specifying the slot type name, you must specify the slot type version.

*

This operation requires permissions for the lex:GetSlotType * action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSlotTypeOutcomeCallable GetSlotTypeCallable(const Model::GetSlotTypeRequest& request) const; /** *

Returns information about a specific version of a slot type. In addition to * specifying the slot type name, you must specify the slot type version.

*

This operation requires permissions for the lex:GetSlotType * action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSlotTypeAsync(const Model::GetSlotTypeRequest& request, const GetSlotTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets information about all versions of a slot type.

The * GetSlotTypeVersions operation returns a * SlotTypeMetadata object for each version of a slot type. For * example, if a slot type has three numbered versions, the * GetSlotTypeVersions operation returns four * SlotTypeMetadata objects in the response, one for each numbered * version and one for the $LATEST version.

The * GetSlotTypeVersions operation always returns at least one version, * the $LATEST version.

This operation requires permissions for * the lex:GetSlotTypeVersions action.

See Also:

AWS * API Reference

*/ virtual Model::GetSlotTypeVersionsOutcome GetSlotTypeVersions(const Model::GetSlotTypeVersionsRequest& request) const; /** *

Gets information about all versions of a slot type.

The * GetSlotTypeVersions operation returns a * SlotTypeMetadata object for each version of a slot type. For * example, if a slot type has three numbered versions, the * GetSlotTypeVersions operation returns four * SlotTypeMetadata objects in the response, one for each numbered * version and one for the $LATEST version.

The * GetSlotTypeVersions operation always returns at least one version, * the $LATEST version.

This operation requires permissions for * the lex:GetSlotTypeVersions action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSlotTypeVersionsOutcomeCallable GetSlotTypeVersionsCallable(const Model::GetSlotTypeVersionsRequest& request) const; /** *

Gets information about all versions of a slot type.

The * GetSlotTypeVersions operation returns a * SlotTypeMetadata object for each version of a slot type. For * example, if a slot type has three numbered versions, the * GetSlotTypeVersions operation returns four * SlotTypeMetadata objects in the response, one for each numbered * version and one for the $LATEST version.

The * GetSlotTypeVersions operation always returns at least one version, * the $LATEST version.

This operation requires permissions for * the lex:GetSlotTypeVersions action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSlotTypeVersionsAsync(const Model::GetSlotTypeVersionsRequest& request, const GetSlotTypeVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns slot type information as follows:

  • If you specify * the nameContains field, returns the $LATEST version of * all slot types that contain the specified string.

  • If you * don't specify the nameContains field, returns information about the * $LATEST version of all slot types.

The * operation requires permission for the lex:GetSlotTypes action. *

See Also:

AWS * API Reference

*/ virtual Model::GetSlotTypesOutcome GetSlotTypes(const Model::GetSlotTypesRequest& request) const; /** *

Returns slot type information as follows:

  • If you specify * the nameContains field, returns the $LATEST version of * all slot types that contain the specified string.

  • If you * don't specify the nameContains field, returns information about the * $LATEST version of all slot types.

The * operation requires permission for the lex:GetSlotTypes action. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSlotTypesOutcomeCallable GetSlotTypesCallable(const Model::GetSlotTypesRequest& request) const; /** *

Returns slot type information as follows:

  • If you specify * the nameContains field, returns the $LATEST version of * all slot types that contain the specified string.

  • If you * don't specify the nameContains field, returns information about the * $LATEST version of all slot types.

The * operation requires permission for the lex:GetSlotTypes action. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSlotTypesAsync(const Model::GetSlotTypesRequest& request, const GetSlotTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Use the GetUtterancesView operation to get information about the * utterances that your users have made to your bot. You can use this list to tune * the utterances that your bot responds to.

For example, say that you have * created a bot to order flowers. After your users have used your bot for a while, * use the GetUtterancesView operation to see the requests that they * have made and whether they have been successful. You might find that the * utterance "I want flowers" is not being recognized. You could add this utterance * to the OrderFlowers intent so that your bot recognizes that * utterance.

After you publish a new version of a bot, you can get * information about the old version and the new so that you can compare the * performance across the two versions.

Utterance statistics are generated * once a day. Data is available for the last 15 days. You can request information * for up to 5 versions of your bot in each request. Amazon Lex returns the most * frequent utterances received by the bot in the last 15 days. The response * contains information about a maximum of 100 utterances for each version.

*

If you set childDirected field to true when you created your * bot, or if you opted out of participating in improving Amazon Lex, utterances * are not available.

This operation requires permissions for the * lex:GetUtterancesView action.

See Also:

AWS * API Reference

*/ virtual Model::GetUtterancesViewOutcome GetUtterancesView(const Model::GetUtterancesViewRequest& request) const; /** *

Use the GetUtterancesView operation to get information about the * utterances that your users have made to your bot. You can use this list to tune * the utterances that your bot responds to.

For example, say that you have * created a bot to order flowers. After your users have used your bot for a while, * use the GetUtterancesView operation to see the requests that they * have made and whether they have been successful. You might find that the * utterance "I want flowers" is not being recognized. You could add this utterance * to the OrderFlowers intent so that your bot recognizes that * utterance.

After you publish a new version of a bot, you can get * information about the old version and the new so that you can compare the * performance across the two versions.

Utterance statistics are generated * once a day. Data is available for the last 15 days. You can request information * for up to 5 versions of your bot in each request. Amazon Lex returns the most * frequent utterances received by the bot in the last 15 days. The response * contains information about a maximum of 100 utterances for each version.

*

If you set childDirected field to true when you created your * bot, or if you opted out of participating in improving Amazon Lex, utterances * are not available.

This operation requires permissions for the * lex:GetUtterancesView action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetUtterancesViewOutcomeCallable GetUtterancesViewCallable(const Model::GetUtterancesViewRequest& request) const; /** *

Use the GetUtterancesView operation to get information about the * utterances that your users have made to your bot. You can use this list to tune * the utterances that your bot responds to.

For example, say that you have * created a bot to order flowers. After your users have used your bot for a while, * use the GetUtterancesView operation to see the requests that they * have made and whether they have been successful. You might find that the * utterance "I want flowers" is not being recognized. You could add this utterance * to the OrderFlowers intent so that your bot recognizes that * utterance.

After you publish a new version of a bot, you can get * information about the old version and the new so that you can compare the * performance across the two versions.

Utterance statistics are generated * once a day. Data is available for the last 15 days. You can request information * for up to 5 versions of your bot in each request. Amazon Lex returns the most * frequent utterances received by the bot in the last 15 days. The response * contains information about a maximum of 100 utterances for each version.

*

If you set childDirected field to true when you created your * bot, or if you opted out of participating in improving Amazon Lex, utterances * are not available.

This operation requires permissions for the * lex:GetUtterancesView action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetUtterancesViewAsync(const Model::GetUtterancesViewRequest& request, const GetUtterancesViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets a list of tags associated with the specified resource. Only bots, bot * aliases, and bot channels can have tags associated with them.

See * Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Gets a list of tags associated with the specified resource. Only bots, bot * aliases, and bot channels can have tags associated with them.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Gets a list of tags associated with the specified resource. Only bots, bot * aliases, and bot channels can have tags associated with them.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an Amazon Lex conversational bot or replaces an existing bot. When * you create or update a bot you are only required to specify a name, a locale, * and whether the bot is directed toward children under age 13. You can use this * to add intents later, or to remove intents from an existing bot. When you create * a bot with the minimum information, the bot is created or updated but Amazon Lex * returns the response FAILED. You can build the bot after * you add one or more intents. For more information about Amazon Lex bots, see * how-it-works.

If you specify the name of an existing bot, the * fields in the request replace the existing values in the $LATEST * version of the bot. Amazon Lex removes any fields that you don't provide values * for in the request, except for the idleTTLInSeconds and * privacySettings fields, which are set to their default values. If * you don't specify values for required fields, Amazon Lex throws an * exception.

This operation requires permissions for the * lex:PutBot action. For more information, see * security-iam.

See Also:

AWS * API Reference

*/ virtual Model::PutBotOutcome PutBot(const Model::PutBotRequest& request) const; /** *

Creates an Amazon Lex conversational bot or replaces an existing bot. When * you create or update a bot you are only required to specify a name, a locale, * and whether the bot is directed toward children under age 13. You can use this * to add intents later, or to remove intents from an existing bot. When you create * a bot with the minimum information, the bot is created or updated but Amazon Lex * returns the response FAILED. You can build the bot after * you add one or more intents. For more information about Amazon Lex bots, see * how-it-works.

If you specify the name of an existing bot, the * fields in the request replace the existing values in the $LATEST * version of the bot. Amazon Lex removes any fields that you don't provide values * for in the request, except for the idleTTLInSeconds and * privacySettings fields, which are set to their default values. If * you don't specify values for required fields, Amazon Lex throws an * exception.

This operation requires permissions for the * lex:PutBot action. For more information, see * security-iam.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutBotOutcomeCallable PutBotCallable(const Model::PutBotRequest& request) const; /** *

Creates an Amazon Lex conversational bot or replaces an existing bot. When * you create or update a bot you are only required to specify a name, a locale, * and whether the bot is directed toward children under age 13. You can use this * to add intents later, or to remove intents from an existing bot. When you create * a bot with the minimum information, the bot is created or updated but Amazon Lex * returns the response FAILED. You can build the bot after * you add one or more intents. For more information about Amazon Lex bots, see * how-it-works.

If you specify the name of an existing bot, the * fields in the request replace the existing values in the $LATEST * version of the bot. Amazon Lex removes any fields that you don't provide values * for in the request, except for the idleTTLInSeconds and * privacySettings fields, which are set to their default values. If * you don't specify values for required fields, Amazon Lex throws an * exception.

This operation requires permissions for the * lex:PutBot action. For more information, see * security-iam.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutBotAsync(const Model::PutBotRequest& request, const PutBotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an alias for the specified version of the bot or replaces an alias * for the specified bot. To change the version of the bot that the alias points * to, replace the alias. For more information about aliases, see * versioning-aliases.

This operation requires permissions for the * lex:PutBotAlias action.

See Also:

AWS * API Reference

*/ virtual Model::PutBotAliasOutcome PutBotAlias(const Model::PutBotAliasRequest& request) const; /** *

Creates an alias for the specified version of the bot or replaces an alias * for the specified bot. To change the version of the bot that the alias points * to, replace the alias. For more information about aliases, see * versioning-aliases.

This operation requires permissions for the * lex:PutBotAlias action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutBotAliasOutcomeCallable PutBotAliasCallable(const Model::PutBotAliasRequest& request) const; /** *

Creates an alias for the specified version of the bot or replaces an alias * for the specified bot. To change the version of the bot that the alias points * to, replace the alias. For more information about aliases, see * versioning-aliases.

This operation requires permissions for the * lex:PutBotAlias action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutBotAliasAsync(const Model::PutBotAliasRequest& request, const PutBotAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an intent or replaces an existing intent.

To define the * interaction between the user and your bot, you use one or more intents. For a * pizza ordering bot, for example, you would create an OrderPizza * intent.

To create an intent or replace an existing intent, you must * provide the following:

  • Intent name. For example, * OrderPizza.

  • Sample utterances. For example, "Can * I order a pizza, please." and "I want to order a pizza."

  • *

    Information to be gathered. You specify slot types for the information that * your bot will request from the user. You can specify standard slot types, such * as a date or a time, or custom slot types such as the size and crust of a * pizza.

  • How the intent will be fulfilled. You can provide a * Lambda function or configure the intent to return the intent information to the * client application. If you use a Lambda function, when all of the intent * information is available, Amazon Lex invokes your Lambda function. If you * configure your intent to return the intent information to the client * application.

You can specify other optional information in * the request, such as:

  • A confirmation prompt to ask the user to * confirm an intent. For example, "Shall I order your pizza?"

  • A * conclusion statement to send to the user after the intent has been fulfilled. * For example, "I placed your pizza order."

  • A follow-up prompt * that asks the user for additional activity. For example, asking "Do you want to * order a drink with your pizza?"

If you specify an existing * intent name to update the intent, Amazon Lex replaces the values in the * $LATEST version of the intent with the values in the request. * Amazon Lex removes fields that you don't provide in the request. If you don't * specify the required fields, Amazon Lex throws an exception. When you update the * $LATEST version of an intent, the status field of any * bot that uses the $LATEST version of the intent is set to * NOT_BUILT.

For more information, see * how-it-works.

This operation requires permissions for the * lex:PutIntent action.

See Also:

AWS * API Reference

*/ virtual Model::PutIntentOutcome PutIntent(const Model::PutIntentRequest& request) const; /** *

Creates an intent or replaces an existing intent.

To define the * interaction between the user and your bot, you use one or more intents. For a * pizza ordering bot, for example, you would create an OrderPizza * intent.

To create an intent or replace an existing intent, you must * provide the following:

  • Intent name. For example, * OrderPizza.

  • Sample utterances. For example, "Can * I order a pizza, please." and "I want to order a pizza."

  • *

    Information to be gathered. You specify slot types for the information that * your bot will request from the user. You can specify standard slot types, such * as a date or a time, or custom slot types such as the size and crust of a * pizza.

  • How the intent will be fulfilled. You can provide a * Lambda function or configure the intent to return the intent information to the * client application. If you use a Lambda function, when all of the intent * information is available, Amazon Lex invokes your Lambda function. If you * configure your intent to return the intent information to the client * application.

You can specify other optional information in * the request, such as:

  • A confirmation prompt to ask the user to * confirm an intent. For example, "Shall I order your pizza?"

  • A * conclusion statement to send to the user after the intent has been fulfilled. * For example, "I placed your pizza order."

  • A follow-up prompt * that asks the user for additional activity. For example, asking "Do you want to * order a drink with your pizza?"

If you specify an existing * intent name to update the intent, Amazon Lex replaces the values in the * $LATEST version of the intent with the values in the request. * Amazon Lex removes fields that you don't provide in the request. If you don't * specify the required fields, Amazon Lex throws an exception. When you update the * $LATEST version of an intent, the status field of any * bot that uses the $LATEST version of the intent is set to * NOT_BUILT.

For more information, see * how-it-works.

This operation requires permissions for the * lex:PutIntent action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutIntentOutcomeCallable PutIntentCallable(const Model::PutIntentRequest& request) const; /** *

Creates an intent or replaces an existing intent.

To define the * interaction between the user and your bot, you use one or more intents. For a * pizza ordering bot, for example, you would create an OrderPizza * intent.

To create an intent or replace an existing intent, you must * provide the following:

  • Intent name. For example, * OrderPizza.

  • Sample utterances. For example, "Can * I order a pizza, please." and "I want to order a pizza."

  • *

    Information to be gathered. You specify slot types for the information that * your bot will request from the user. You can specify standard slot types, such * as a date or a time, or custom slot types such as the size and crust of a * pizza.

  • How the intent will be fulfilled. You can provide a * Lambda function or configure the intent to return the intent information to the * client application. If you use a Lambda function, when all of the intent * information is available, Amazon Lex invokes your Lambda function. If you * configure your intent to return the intent information to the client * application.

You can specify other optional information in * the request, such as:

  • A confirmation prompt to ask the user to * confirm an intent. For example, "Shall I order your pizza?"

  • A * conclusion statement to send to the user after the intent has been fulfilled. * For example, "I placed your pizza order."

  • A follow-up prompt * that asks the user for additional activity. For example, asking "Do you want to * order a drink with your pizza?"

If you specify an existing * intent name to update the intent, Amazon Lex replaces the values in the * $LATEST version of the intent with the values in the request. * Amazon Lex removes fields that you don't provide in the request. If you don't * specify the required fields, Amazon Lex throws an exception. When you update the * $LATEST version of an intent, the status field of any * bot that uses the $LATEST version of the intent is set to * NOT_BUILT.

For more information, see * how-it-works.

This operation requires permissions for the * lex:PutIntent action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutIntentAsync(const Model::PutIntentRequest& request, const PutIntentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a custom slot type or replaces an existing custom slot type.

*

To create a custom slot type, specify a name for the slot type and a set of * enumeration values, which are the values that a slot of this type can assume. * For more information, see how-it-works.

If you specify the name of * an existing slot type, the fields in the request replace the existing values in * the $LATEST version of the slot type. Amazon Lex removes the fields * that you don't provide in the request. If you don't specify required fields, * Amazon Lex throws an exception. When you update the $LATEST version * of a slot type, if a bot uses the $LATEST version of an intent that * contains the slot type, the bot's status field is set to * NOT_BUILT.

This operation requires permissions for the * lex:PutSlotType action.

See Also:

AWS * API Reference

*/ virtual Model::PutSlotTypeOutcome PutSlotType(const Model::PutSlotTypeRequest& request) const; /** *

Creates a custom slot type or replaces an existing custom slot type.

*

To create a custom slot type, specify a name for the slot type and a set of * enumeration values, which are the values that a slot of this type can assume. * For more information, see how-it-works.

If you specify the name of * an existing slot type, the fields in the request replace the existing values in * the $LATEST version of the slot type. Amazon Lex removes the fields * that you don't provide in the request. If you don't specify required fields, * Amazon Lex throws an exception. When you update the $LATEST version * of a slot type, if a bot uses the $LATEST version of an intent that * contains the slot type, the bot's status field is set to * NOT_BUILT.

This operation requires permissions for the * lex:PutSlotType action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutSlotTypeOutcomeCallable PutSlotTypeCallable(const Model::PutSlotTypeRequest& request) const; /** *

Creates a custom slot type or replaces an existing custom slot type.

*

To create a custom slot type, specify a name for the slot type and a set of * enumeration values, which are the values that a slot of this type can assume. * For more information, see how-it-works.

If you specify the name of * an existing slot type, the fields in the request replace the existing values in * the $LATEST version of the slot type. Amazon Lex removes the fields * that you don't provide in the request. If you don't specify required fields, * Amazon Lex throws an exception. When you update the $LATEST version * of a slot type, if a bot uses the $LATEST version of an intent that * contains the slot type, the bot's status field is set to * NOT_BUILT.

This operation requires permissions for the * lex:PutSlotType action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutSlotTypeAsync(const Model::PutSlotTypeRequest& request, const PutSlotTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Starts a job to import a resource to Amazon Lex.

See Also:

* AWS * API Reference

*/ virtual Model::StartImportOutcome StartImport(const Model::StartImportRequest& request) const; /** *

Starts a job to import a resource to Amazon Lex.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StartImportOutcomeCallable StartImportCallable(const Model::StartImportRequest& request) const; /** *

Starts a job to import a resource to Amazon Lex.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StartImportAsync(const Model::StartImportRequest& request, const StartImportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds the specified tags to the specified resource. If a tag key already * exists, the existing value is replaced with the new value.

See * Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

Adds the specified tags to the specified resource. If a tag key already * exists, the existing value is replaced with the new value.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** *

Adds the specified tags to the specified resource. If a tag key already * exists, the existing value is replaced with the new value.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes tags from a bot, bot alias or bot channel.

See Also:

* AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

Removes tags from a bot, bot alias or bot channel.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** *

Removes tags from a bot, bot alias or bot channel.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void CreateBotVersionAsyncHelper(const Model::CreateBotVersionRequest& request, const CreateBotVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateIntentVersionAsyncHelper(const Model::CreateIntentVersionRequest& request, const CreateIntentVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSlotTypeVersionAsyncHelper(const Model::CreateSlotTypeVersionRequest& request, const CreateSlotTypeVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteBotAsyncHelper(const Model::DeleteBotRequest& request, const DeleteBotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteBotAliasAsyncHelper(const Model::DeleteBotAliasRequest& request, const DeleteBotAliasResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteBotChannelAssociationAsyncHelper(const Model::DeleteBotChannelAssociationRequest& request, const DeleteBotChannelAssociationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteBotVersionAsyncHelper(const Model::DeleteBotVersionRequest& request, const DeleteBotVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteIntentAsyncHelper(const Model::DeleteIntentRequest& request, const DeleteIntentResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteIntentVersionAsyncHelper(const Model::DeleteIntentVersionRequest& request, const DeleteIntentVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSlotTypeAsyncHelper(const Model::DeleteSlotTypeRequest& request, const DeleteSlotTypeResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSlotTypeVersionAsyncHelper(const Model::DeleteSlotTypeVersionRequest& request, const DeleteSlotTypeVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteUtterancesAsyncHelper(const Model::DeleteUtterancesRequest& request, const DeleteUtterancesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBotAsyncHelper(const Model::GetBotRequest& request, const GetBotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBotAliasAsyncHelper(const Model::GetBotAliasRequest& request, const GetBotAliasResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBotAliasesAsyncHelper(const Model::GetBotAliasesRequest& request, const GetBotAliasesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBotChannelAssociationAsyncHelper(const Model::GetBotChannelAssociationRequest& request, const GetBotChannelAssociationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBotChannelAssociationsAsyncHelper(const Model::GetBotChannelAssociationsRequest& request, const GetBotChannelAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBotVersionsAsyncHelper(const Model::GetBotVersionsRequest& request, const GetBotVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBotsAsyncHelper(const Model::GetBotsRequest& request, const GetBotsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBuiltinIntentAsyncHelper(const Model::GetBuiltinIntentRequest& request, const GetBuiltinIntentResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBuiltinIntentsAsyncHelper(const Model::GetBuiltinIntentsRequest& request, const GetBuiltinIntentsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBuiltinSlotTypesAsyncHelper(const Model::GetBuiltinSlotTypesRequest& request, const GetBuiltinSlotTypesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetExportAsyncHelper(const Model::GetExportRequest& request, const GetExportResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetImportAsyncHelper(const Model::GetImportRequest& request, const GetImportResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetIntentAsyncHelper(const Model::GetIntentRequest& request, const GetIntentResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetIntentVersionsAsyncHelper(const Model::GetIntentVersionsRequest& request, const GetIntentVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetIntentsAsyncHelper(const Model::GetIntentsRequest& request, const GetIntentsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSlotTypeAsyncHelper(const Model::GetSlotTypeRequest& request, const GetSlotTypeResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSlotTypeVersionsAsyncHelper(const Model::GetSlotTypeVersionsRequest& request, const GetSlotTypeVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSlotTypesAsyncHelper(const Model::GetSlotTypesRequest& request, const GetSlotTypesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetUtterancesViewAsyncHelper(const Model::GetUtterancesViewRequest& request, const GetUtterancesViewResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutBotAsyncHelper(const Model::PutBotRequest& request, const PutBotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutBotAliasAsyncHelper(const Model::PutBotAliasRequest& request, const PutBotAliasResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutIntentAsyncHelper(const Model::PutIntentRequest& request, const PutIntentResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutSlotTypeAsyncHelper(const Model::PutSlotTypeRequest& request, const PutSlotTypeResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StartImportAsyncHelper(const Model::StartImportRequest& request, const StartImportResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace LexModelBuildingService } // namespace Aws