/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace LexModelBuildingService { /** * 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 Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef LexModelBuildingServiceClientConfiguration ClientConfigurationType; typedef LexModelBuildingServiceEndpointProvider EndpointProviderType; /** * 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::LexModelBuildingService::LexModelBuildingServiceClientConfiguration& clientConfiguration = Aws::LexModelBuildingService::LexModelBuildingServiceClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * 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, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::LexModelBuildingService::LexModelBuildingServiceClientConfiguration& clientConfiguration = Aws::LexModelBuildingService::LexModelBuildingServiceClientConfiguration()); /** * 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, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::LexModelBuildingService::LexModelBuildingServiceClientConfiguration& clientConfiguration = Aws::LexModelBuildingService::LexModelBuildingServiceClientConfiguration()); /* Legacy constructors due deprecation */ /** * 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); /** * 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); /** * 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); /* End of legacy constructors due deprecation */ 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; /** * A Callable wrapper for CreateBotVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateBotVersionOutcomeCallable CreateBotVersionCallable(const CreateBotVersionRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::CreateBotVersion, request); } /** * An Async wrapper for CreateBotVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateBotVersionAsync(const CreateBotVersionRequestT& request, const CreateBotVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::CreateBotVersion, request, handler, context); } /** *

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; /** * A Callable wrapper for CreateIntentVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateIntentVersionOutcomeCallable CreateIntentVersionCallable(const CreateIntentVersionRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::CreateIntentVersion, request); } /** * An Async wrapper for CreateIntentVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateIntentVersionAsync(const CreateIntentVersionRequestT& request, const CreateIntentVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::CreateIntentVersion, request, handler, context); } /** *

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; /** * A Callable wrapper for CreateSlotTypeVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSlotTypeVersionOutcomeCallable CreateSlotTypeVersionCallable(const CreateSlotTypeVersionRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::CreateSlotTypeVersion, request); } /** * An Async wrapper for CreateSlotTypeVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSlotTypeVersionAsync(const CreateSlotTypeVersionRequestT& request, const CreateSlotTypeVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::CreateSlotTypeVersion, request, handler, context); } /** *

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; /** * A Callable wrapper for DeleteBot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteBotOutcomeCallable DeleteBotCallable(const DeleteBotRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::DeleteBot, request); } /** * An Async wrapper for DeleteBot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteBotAsync(const DeleteBotRequestT& request, const DeleteBotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::DeleteBot, request, handler, context); } /** *

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; /** * A Callable wrapper for DeleteBotAlias that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteBotAliasOutcomeCallable DeleteBotAliasCallable(const DeleteBotAliasRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::DeleteBotAlias, request); } /** * An Async wrapper for DeleteBotAlias that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteBotAliasAsync(const DeleteBotAliasRequestT& request, const DeleteBotAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::DeleteBotAlias, request, handler, context); } /** *

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; /** * A Callable wrapper for DeleteBotChannelAssociation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteBotChannelAssociationOutcomeCallable DeleteBotChannelAssociationCallable(const DeleteBotChannelAssociationRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::DeleteBotChannelAssociation, request); } /** * An Async wrapper for DeleteBotChannelAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteBotChannelAssociationAsync(const DeleteBotChannelAssociationRequestT& request, const DeleteBotChannelAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::DeleteBotChannelAssociation, request, handler, context); } /** *

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; /** * A Callable wrapper for DeleteBotVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteBotVersionOutcomeCallable DeleteBotVersionCallable(const DeleteBotVersionRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::DeleteBotVersion, request); } /** * An Async wrapper for DeleteBotVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteBotVersionAsync(const DeleteBotVersionRequestT& request, const DeleteBotVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::DeleteBotVersion, request, handler, context); } /** *

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; /** * A Callable wrapper for DeleteIntent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteIntentOutcomeCallable DeleteIntentCallable(const DeleteIntentRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::DeleteIntent, request); } /** * An Async wrapper for DeleteIntent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteIntentAsync(const DeleteIntentRequestT& request, const DeleteIntentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::DeleteIntent, request, handler, context); } /** *

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; /** * A Callable wrapper for DeleteIntentVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteIntentVersionOutcomeCallable DeleteIntentVersionCallable(const DeleteIntentVersionRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::DeleteIntentVersion, request); } /** * An Async wrapper for DeleteIntentVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteIntentVersionAsync(const DeleteIntentVersionRequestT& request, const DeleteIntentVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::DeleteIntentVersion, request, handler, context); } /** *

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; /** * A Callable wrapper for DeleteSlotType that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSlotTypeOutcomeCallable DeleteSlotTypeCallable(const DeleteSlotTypeRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::DeleteSlotType, request); } /** * An Async wrapper for DeleteSlotType that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSlotTypeAsync(const DeleteSlotTypeRequestT& request, const DeleteSlotTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::DeleteSlotType, request, handler, context); } /** *

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; /** * A Callable wrapper for DeleteSlotTypeVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSlotTypeVersionOutcomeCallable DeleteSlotTypeVersionCallable(const DeleteSlotTypeVersionRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::DeleteSlotTypeVersion, request); } /** * An Async wrapper for DeleteSlotTypeVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSlotTypeVersionAsync(const DeleteSlotTypeVersionRequestT& request, const DeleteSlotTypeVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::DeleteSlotTypeVersion, request, handler, context); } /** *

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; /** * A Callable wrapper for DeleteUtterances that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteUtterancesOutcomeCallable DeleteUtterancesCallable(const DeleteUtterancesRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::DeleteUtterances, request); } /** * An Async wrapper for DeleteUtterances that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteUtterancesAsync(const DeleteUtterancesRequestT& request, const DeleteUtterancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::DeleteUtterances, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBotOutcomeCallable GetBotCallable(const GetBotRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBot, request); } /** * An Async wrapper for GetBot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBotAsync(const GetBotRequestT& request, const GetBotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBot, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBotAlias that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBotAliasOutcomeCallable GetBotAliasCallable(const GetBotAliasRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBotAlias, request); } /** * An Async wrapper for GetBotAlias that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBotAliasAsync(const GetBotAliasRequestT& request, const GetBotAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBotAlias, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBotAliases that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBotAliasesOutcomeCallable GetBotAliasesCallable(const GetBotAliasesRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBotAliases, request); } /** * An Async wrapper for GetBotAliases that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBotAliasesAsync(const GetBotAliasesRequestT& request, const GetBotAliasesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBotAliases, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBotChannelAssociation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBotChannelAssociationOutcomeCallable GetBotChannelAssociationCallable(const GetBotChannelAssociationRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBotChannelAssociation, request); } /** * An Async wrapper for GetBotChannelAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBotChannelAssociationAsync(const GetBotChannelAssociationRequestT& request, const GetBotChannelAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBotChannelAssociation, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBotChannelAssociations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBotChannelAssociationsOutcomeCallable GetBotChannelAssociationsCallable(const GetBotChannelAssociationsRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBotChannelAssociations, request); } /** * An Async wrapper for GetBotChannelAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBotChannelAssociationsAsync(const GetBotChannelAssociationsRequestT& request, const GetBotChannelAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBotChannelAssociations, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBotVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBotVersionsOutcomeCallable GetBotVersionsCallable(const GetBotVersionsRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBotVersions, request); } /** * An Async wrapper for GetBotVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBotVersionsAsync(const GetBotVersionsRequestT& request, const GetBotVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBotVersions, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBots that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBotsOutcomeCallable GetBotsCallable(const GetBotsRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBots, request); } /** * An Async wrapper for GetBots that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBotsAsync(const GetBotsRequestT& request, const GetBotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBots, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBuiltinIntent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBuiltinIntentOutcomeCallable GetBuiltinIntentCallable(const GetBuiltinIntentRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBuiltinIntent, request); } /** * An Async wrapper for GetBuiltinIntent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBuiltinIntentAsync(const GetBuiltinIntentRequestT& request, const GetBuiltinIntentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBuiltinIntent, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBuiltinIntents that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBuiltinIntentsOutcomeCallable GetBuiltinIntentsCallable(const GetBuiltinIntentsRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBuiltinIntents, request); } /** * An Async wrapper for GetBuiltinIntents that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBuiltinIntentsAsync(const GetBuiltinIntentsRequestT& request, const GetBuiltinIntentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBuiltinIntents, request, handler, context); } /** *

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; /** * A Callable wrapper for GetBuiltinSlotTypes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBuiltinSlotTypesOutcomeCallable GetBuiltinSlotTypesCallable(const GetBuiltinSlotTypesRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetBuiltinSlotTypes, request); } /** * An Async wrapper for GetBuiltinSlotTypes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBuiltinSlotTypesAsync(const GetBuiltinSlotTypesRequestT& request, const GetBuiltinSlotTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetBuiltinSlotTypes, request, handler, context); } /** *

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; /** * A Callable wrapper for GetExport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetExportOutcomeCallable GetExportCallable(const GetExportRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetExport, request); } /** * An Async wrapper for GetExport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetExportAsync(const GetExportRequestT& request, const GetExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetExport, request, handler, context); } /** *

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; /** * A Callable wrapper for GetImport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImportOutcomeCallable GetImportCallable(const GetImportRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetImport, request); } /** * An Async wrapper for GetImport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImportAsync(const GetImportRequestT& request, const GetImportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetImport, request, handler, context); } /** *

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; /** * A Callable wrapper for GetIntent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetIntentOutcomeCallable GetIntentCallable(const GetIntentRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetIntent, request); } /** * An Async wrapper for GetIntent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetIntentAsync(const GetIntentRequestT& request, const GetIntentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetIntent, request, handler, context); } /** *

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; /** * A Callable wrapper for GetIntentVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetIntentVersionsOutcomeCallable GetIntentVersionsCallable(const GetIntentVersionsRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetIntentVersions, request); } /** * An Async wrapper for GetIntentVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetIntentVersionsAsync(const GetIntentVersionsRequestT& request, const GetIntentVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetIntentVersions, request, handler, context); } /** *

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; /** * A Callable wrapper for GetIntents that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetIntentsOutcomeCallable GetIntentsCallable(const GetIntentsRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetIntents, request); } /** * An Async wrapper for GetIntents that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetIntentsAsync(const GetIntentsRequestT& request, const GetIntentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetIntents, request, handler, context); } /** *

Provides details about an ongoing or complete migration from an Amazon Lex V1 * bot to an Amazon Lex V2 bot. Use this operation to view the migration alerts and * warnings related to the migration.

See Also:

AWS * API Reference

*/ virtual Model::GetMigrationOutcome GetMigration(const Model::GetMigrationRequest& request) const; /** * A Callable wrapper for GetMigration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetMigrationOutcomeCallable GetMigrationCallable(const GetMigrationRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetMigration, request); } /** * An Async wrapper for GetMigration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetMigrationAsync(const GetMigrationRequestT& request, const GetMigrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetMigration, request, handler, context); } /** *

Gets a list of migrations between Amazon Lex V1 and Amazon Lex * V2.

See Also:

AWS * API Reference

*/ virtual Model::GetMigrationsOutcome GetMigrations(const Model::GetMigrationsRequest& request) const; /** * A Callable wrapper for GetMigrations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetMigrationsOutcomeCallable GetMigrationsCallable(const GetMigrationsRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetMigrations, request); } /** * An Async wrapper for GetMigrations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetMigrationsAsync(const GetMigrationsRequestT& request, const GetMigrationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetMigrations, request, handler, context); } /** *

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; /** * A Callable wrapper for GetSlotType that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSlotTypeOutcomeCallable GetSlotTypeCallable(const GetSlotTypeRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetSlotType, request); } /** * An Async wrapper for GetSlotType that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSlotTypeAsync(const GetSlotTypeRequestT& request, const GetSlotTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetSlotType, request, handler, context); } /** *

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; /** * A Callable wrapper for GetSlotTypeVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSlotTypeVersionsOutcomeCallable GetSlotTypeVersionsCallable(const GetSlotTypeVersionsRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetSlotTypeVersions, request); } /** * An Async wrapper for GetSlotTypeVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSlotTypeVersionsAsync(const GetSlotTypeVersionsRequestT& request, const GetSlotTypeVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetSlotTypeVersions, request, handler, context); } /** *

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; /** * A Callable wrapper for GetSlotTypes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSlotTypesOutcomeCallable GetSlotTypesCallable(const GetSlotTypesRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetSlotTypes, request); } /** * An Async wrapper for GetSlotTypes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSlotTypesAsync(const GetSlotTypesRequestT& request, const GetSlotTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetSlotTypes, request, handler, context); } /** *

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, if you are using slot obfuscation with one or more slots, 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; /** * A Callable wrapper for GetUtterancesView that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetUtterancesViewOutcomeCallable GetUtterancesViewCallable(const GetUtterancesViewRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::GetUtterancesView, request); } /** * An Async wrapper for GetUtterancesView that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetUtterancesViewAsync(const GetUtterancesViewRequestT& request, const GetUtterancesViewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::GetUtterancesView, request, handler, context); } /** *

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; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::ListTagsForResource, request, handler, context); } /** *

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; /** * A Callable wrapper for PutBot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutBotOutcomeCallable PutBotCallable(const PutBotRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::PutBot, request); } /** * An Async wrapper for PutBot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutBotAsync(const PutBotRequestT& request, const PutBotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::PutBot, request, handler, context); } /** *

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; /** * A Callable wrapper for PutBotAlias that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutBotAliasOutcomeCallable PutBotAliasCallable(const PutBotAliasRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::PutBotAlias, request); } /** * An Async wrapper for PutBotAlias that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutBotAliasAsync(const PutBotAliasRequestT& request, const PutBotAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::PutBotAlias, request, handler, context); } /** *

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; /** * A Callable wrapper for PutIntent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutIntentOutcomeCallable PutIntentCallable(const PutIntentRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::PutIntent, request); } /** * An Async wrapper for PutIntent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutIntentAsync(const PutIntentRequestT& request, const PutIntentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::PutIntent, request, handler, context); } /** *

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; /** * A Callable wrapper for PutSlotType that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutSlotTypeOutcomeCallable PutSlotTypeCallable(const PutSlotTypeRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::PutSlotType, request); } /** * An Async wrapper for PutSlotType that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutSlotTypeAsync(const PutSlotTypeRequestT& request, const PutSlotTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::PutSlotType, request, handler, context); } /** *

Starts a job to import a resource to Amazon Lex.

See Also:

* AWS * API Reference

*/ virtual Model::StartImportOutcome StartImport(const Model::StartImportRequest& request) const; /** * A Callable wrapper for StartImport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartImportOutcomeCallable StartImportCallable(const StartImportRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::StartImport, request); } /** * An Async wrapper for StartImport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartImportAsync(const StartImportRequestT& request, const StartImportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::StartImport, request, handler, context); } /** *

Starts migrating a bot from Amazon Lex V1 to Amazon Lex V2. Migrate your bot * when you want to take advantage of the new features of Amazon Lex V2.

For * more information, see Migrating a * bot in the Amazon Lex developer guide.

See Also:

AWS * API Reference

*/ virtual Model::StartMigrationOutcome StartMigration(const Model::StartMigrationRequest& request) const; /** * A Callable wrapper for StartMigration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartMigrationOutcomeCallable StartMigrationCallable(const StartMigrationRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::StartMigration, request); } /** * An Async wrapper for StartMigration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartMigrationAsync(const StartMigrationRequestT& request, const StartMigrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::StartMigration, request, handler, context); } /** *

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; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::TagResource, request, handler, context); } /** *

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

See Also:

* AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&LexModelBuildingServiceClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&LexModelBuildingServiceClient::UntagResource, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const LexModelBuildingServiceClientConfiguration& clientConfiguration); LexModelBuildingServiceClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace LexModelBuildingService } // namespace Aws