/**
* 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