commonMain.aws.sdk.kotlin.services.lexmodelbuildingservice.LexModelBuildingClient.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.lexmodelbuildingservice
import aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider
import aws.sdk.kotlin.runtime.auth.credentials.internal.manage
import aws.sdk.kotlin.runtime.client.AwsSdkClientConfig
import aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
import aws.sdk.kotlin.services.lexmodelbuildingservice.auth.DefaultLexModelBuildingAuthSchemeProvider
import aws.sdk.kotlin.services.lexmodelbuildingservice.auth.LexModelBuildingAuthSchemeProvider
import aws.sdk.kotlin.services.lexmodelbuildingservice.endpoints.DefaultLexModelBuildingEndpointProvider
import aws.sdk.kotlin.services.lexmodelbuildingservice.endpoints.LexModelBuildingEndpointParameters
import aws.sdk.kotlin.services.lexmodelbuildingservice.endpoints.LexModelBuildingEndpointProvider
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.CreateBotVersionRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.CreateBotVersionResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.CreateIntentVersionRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.CreateIntentVersionResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.CreateSlotTypeVersionRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.CreateSlotTypeVersionResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteBotAliasRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteBotAliasResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteBotChannelAssociationRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteBotChannelAssociationResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteBotRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteBotResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteBotVersionRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteBotVersionResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteIntentRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteIntentResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteIntentVersionRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteIntentVersionResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteSlotTypeRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteSlotTypeResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteSlotTypeVersionRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteSlotTypeVersionResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteUtterancesRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.DeleteUtterancesResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotAliasRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotAliasResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotAliasesRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotAliasesResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotChannelAssociationRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotChannelAssociationResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotChannelAssociationsRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotChannelAssociationsResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotVersionsRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotVersionsResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotsRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBotsResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBuiltinIntentRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBuiltinIntentResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBuiltinIntentsRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBuiltinIntentsResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBuiltinSlotTypesRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetBuiltinSlotTypesResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetExportRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetExportResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetImportRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetImportResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetIntentRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetIntentResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetIntentVersionsRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetIntentVersionsResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetIntentsRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetIntentsResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetMigrationRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetMigrationResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetMigrationsRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetMigrationsResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetSlotTypeRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetSlotTypeResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetSlotTypeVersionsRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetSlotTypeVersionsResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetSlotTypesRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetSlotTypesResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetUtterancesViewRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.GetUtterancesViewResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.ListTagsForResourceRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.ListTagsForResourceResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.PutBotAliasRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.PutBotAliasResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.PutBotRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.PutBotResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.PutIntentRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.PutIntentResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.PutSlotTypeRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.PutSlotTypeResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.StartImportRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.StartImportResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.StartMigrationRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.StartMigrationResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.TagResourceRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.TagResourceResponse
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.UntagResourceRequest
import aws.sdk.kotlin.services.lexmodelbuildingservice.model.UntagResourceResponse
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProvider
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProviderConfig
import aws.smithy.kotlin.runtime.awsprotocol.ClockSkewInterceptor
import aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder
import aws.smithy.kotlin.runtime.client.AbstractSdkClientFactory
import aws.smithy.kotlin.runtime.client.LogMode
import aws.smithy.kotlin.runtime.client.RetryClientConfig
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfigImpl
import aws.smithy.kotlin.runtime.client.SdkClient
import aws.smithy.kotlin.runtime.client.SdkClientConfig
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
import aws.smithy.kotlin.runtime.http.auth.HttpAuthConfig
import aws.smithy.kotlin.runtime.http.config.HttpClientConfig
import aws.smithy.kotlin.runtime.http.config.HttpEngineConfig
import aws.smithy.kotlin.runtime.http.engine.HttpClientEngine
import aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl
import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor
import aws.smithy.kotlin.runtime.net.url.Url
import aws.smithy.kotlin.runtime.retries.RetryStrategy
import aws.smithy.kotlin.runtime.retries.policy.RetryPolicy
import aws.smithy.kotlin.runtime.telemetry.Global
import aws.smithy.kotlin.runtime.telemetry.TelemetryConfig
import aws.smithy.kotlin.runtime.telemetry.TelemetryProvider
import aws.smithy.kotlin.runtime.util.LazyAsyncValue
import kotlin.collections.List
import kotlin.jvm.JvmStatic
public const val ServiceId: String = "Lex Model Building Service"
public const val SdkVersion: String = "1.3.77"
public const val ServiceApiVersion: String = "2017-04-19"
/**
* # 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.
*/
public interface LexModelBuildingClient : SdkClient {
/**
* LexModelBuildingClient's configuration
*/
public override val config: Config
public companion object : AbstractAwsSdkClientFactory()
{
@JvmStatic
override fun builder(): Builder = Builder()
override fun finalizeConfig(builder: Builder) {
super.finalizeConfig(builder)
builder.config.interceptors.add(0, ClockSkewInterceptor())
}
override suspend fun finalizeEnvironmentalConfig(builder: Builder, sharedConfig: LazyAsyncValue, activeProfile: LazyAsyncValue) {
super.finalizeEnvironmentalConfig(builder, sharedConfig, activeProfile)
builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl(
sharedConfig,
"LexModelBuilding",
"LEX_MODEL_BUILDING_SERVICE",
"lex_model_building_service",
)
}
}
public class Builder internal constructor(): AbstractSdkClientBuilder() {
override val config: Config.Builder = Config.Builder()
override fun newClient(config: Config): LexModelBuildingClient = DefaultLexModelBuildingClient(config)
}
public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig {
override val clientName: String = builder.clientName
override val region: String? = builder.region
override val authSchemes: kotlin.collections.List = builder.authSchemes
override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
public val endpointProvider: LexModelBuildingEndpointProvider = builder.endpointProvider ?: DefaultLexModelBuildingEndpointProvider()
public val endpointUrl: Url? = builder.endpointUrl
override val interceptors: kotlin.collections.List = builder.interceptors
override val logMode: LogMode = builder.logMode ?: LogMode.Default
override val retryPolicy: RetryPolicy = builder.retryPolicy ?: AwsRetryPolicy.Default
override val telemetryProvider: TelemetryProvider = builder.telemetryProvider ?: TelemetryProvider.Global
override val useDualStack: Boolean = builder.useDualStack ?: false
override val useFips: Boolean = builder.useFips ?: false
override val applicationId: String? = builder.applicationId
public val authSchemeProvider: LexModelBuildingAuthSchemeProvider = builder.authSchemeProvider ?: DefaultLexModelBuildingAuthSchemeProvider()
public companion object {
public inline operator fun invoke(block: Builder.() -> kotlin.Unit): Config = Builder().apply(block).build()
}
public fun toBuilder(): Builder = Builder().apply {
clientName = [email protected]
region = [email protected]
authSchemes = [email protected]
credentialsProvider = [email protected]
endpointProvider = [email protected]
endpointUrl = [email protected]
httpClient = [email protected]
interceptors = [email protected]()
logMode = [email protected]
retryPolicy = [email protected]
retryStrategy = [email protected]
telemetryProvider = [email protected]
useDualStack = [email protected]
useFips = [email protected]
applicationId = [email protected]
authSchemeProvider = [email protected]
}
public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder, TelemetryConfig.Builder {
/**
* A reader-friendly name for the client.
*/
override var clientName: String = "Lex Model Building Service"
/**
* The AWS region (e.g. `us-west-2`) to make requests to. See about AWS
* [global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) for more
* information
*/
override var region: String? = null
/**
* Register new or override default [AuthScheme]s configured for this client. By default, the set
* of auth schemes configured comes from the service model. An auth scheme configured explicitly takes
* precedence over the defaults and can be used to customize identity resolution and signing for specific
* authentication schemes.
*/
override var authSchemes: kotlin.collections.List = emptyList()
/**
* The AWS credentials provider to use for authenticating requests. If not provided a
* [aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider] instance will be used.
* NOTE: The caller is responsible for managing the lifetime of the provider when set. The SDK
* client will not close it when the client is closed.
*/
override var credentialsProvider: CredentialsProvider? = null
/**
* The endpoint provider used to determine where to make service requests. **This is an advanced config
* option.**
*
* Endpoint resolution occurs as part of the workflow for every request made via the service client.
*
* The inputs to endpoint resolution are defined on a per-service basis (see [EndpointParameters]).
*/
public var endpointProvider: LexModelBuildingEndpointProvider? = null
/**
* A custom endpoint to route requests to. The endpoint set here is passed to the configured
* [endpointProvider], which may inspect and modify it as needed.
*
* Setting a custom endpointUrl should generally be preferred to overriding the [endpointProvider] and is
* the recommended way to route requests to development or preview instances of a service.
*
* **This is an advanced config option.**
*/
public var endpointUrl: Url? = null
/**
* Add an [aws.smithy.kotlin.runtime.client.Interceptor] that will have access to read and modify
* the request and response objects as they are processed by the SDK.
* Interceptors added using this method are executed in the order they are configured and are always
* later than any added automatically by the SDK.
*/
override var interceptors: kotlin.collections.MutableList = kotlin.collections.mutableListOf()
/**
* Configure events that will be logged. By default clients will not output
* raw requests or responses. Use this setting to opt-in to additional debug logging.
*
* This can be used to configure logging of requests, responses, retries, etc of SDK clients.
*
* **NOTE**: Logging of raw requests or responses may leak sensitive information! It may also have
* performance considerations when dumping the request/response body. This is primarily a tool for
* debug purposes.
*/
override var logMode: LogMode? = null
/**
* The policy to use for evaluating operation results and determining whether/how to retry.
*/
override var retryPolicy: RetryPolicy? = null
/**
* The telemetry provider used to instrument the SDK operations with. By default, the global telemetry
* provider will be used.
*/
override var telemetryProvider: TelemetryProvider? = null
/**
* Flag to toggle whether to use dual-stack endpoints when making requests.
* See [https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html] for more information.
* ` Disabled by default.
*/
override var useDualStack: Boolean? = null
/**
* Flag to toggle whether to use [FIPS](https://aws.amazon.com/compliance/fips/) endpoints when making requests.
* ` Disabled by default.
*/
override var useFips: Boolean? = null
/**
* An optional application specific identifier.
* When set it will be appended to the User-Agent header of every request in the form of: `app/{applicationId}`.
* When not explicitly set, the value will be loaded from the following locations:
*
* - JVM System Property: `aws.userAgentAppId`
* - Environment variable: `AWS_SDK_UA_APP_ID`
* - Shared configuration profile attribute: `sdk_ua_app_id`
*
* See [shared configuration settings](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)
* reference for more information on environment variables and shared config settings.
*/
override var applicationId: String? = null
/**
* Configure the provider used to resolve the authentication scheme to use for a particular operation.
*/
public var authSchemeProvider: LexModelBuildingAuthSchemeProvider? = null
override fun build(): Config = Config(this)
}
}
/**
* 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.
*/
public suspend fun createBotVersion(input: CreateBotVersionRequest): CreateBotVersionResponse
/**
* 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.
*/
public suspend fun createIntentVersion(input: CreateIntentVersionRequest): CreateIntentVersionResponse
/**
* 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.
*/
public suspend fun createSlotTypeVersion(input: CreateSlotTypeVersionRequest): CreateSlotTypeVersionResponse
/**
* 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.
*/
public suspend fun deleteBot(input: DeleteBotRequest): DeleteBotResponse
/**
* 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.
*/
public suspend fun deleteBotAlias(input: DeleteBotAliasRequest): DeleteBotAliasResponse
/**
* Deletes the association between an Amazon Lex bot and a messaging platform.
*
* This operation requires permission for the `lex:DeleteBotChannelAssociation` action.
*/
public suspend fun deleteBotChannelAssociation(input: DeleteBotChannelAssociationRequest): DeleteBotChannelAssociationResponse
/**
* 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.
*/
public suspend fun deleteBotVersion(input: DeleteBotVersionRequest): DeleteBotVersionResponse
/**
* 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.
*/
public suspend fun deleteIntent(input: DeleteIntentRequest): DeleteIntentResponse
/**
* 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.
*/
public suspend fun deleteIntentVersion(input: DeleteIntentVersionRequest): DeleteIntentVersionResponse
/**
* 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.
*/
public suspend fun deleteSlotType(input: DeleteSlotTypeRequest): DeleteSlotTypeResponse
/**
* 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.
*/
public suspend fun deleteSlotTypeVersion(input: DeleteSlotTypeVersionRequest): DeleteSlotTypeVersionResponse
/**
* 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.
*/
public suspend fun deleteUtterances(input: DeleteUtterancesRequest): DeleteUtterancesResponse
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetBot.sample
*/
public suspend fun getBot(input: GetBotRequest): GetBotResponse
/**
* 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.
*/
public suspend fun getBotAlias(input: GetBotAliasRequest): GetBotAliasResponse
/**
* Returns a list of aliases for a specified Amazon Lex bot.
*
* This operation requires permissions for the `lex:GetBotAliases` action.
*/
public suspend fun getBotAliases(input: GetBotAliasesRequest): GetBotAliasesResponse
/**
* Returns information about the association between an Amazon Lex bot and a messaging platform.
*
* This operation requires permissions for the `lex:GetBotChannelAssociation` action.
*/
public suspend fun getBotChannelAssociation(input: GetBotChannelAssociationRequest): GetBotChannelAssociationResponse
/**
* Returns a list of all of the channels associated with the specified bot.
*
* The `GetBotChannelAssociations` operation requires permissions for the `lex:GetBotChannelAssociations` action.
*/
public suspend fun getBotChannelAssociations(input: GetBotChannelAssociationsRequest): GetBotChannelAssociationsResponse
/**
* 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.
*/
public suspend fun getBotVersions(input: GetBotVersionsRequest): GetBotVersionsResponse
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetBots.sample
*/
public suspend fun getBots(input: GetBotsRequest = GetBotsRequest { }): GetBotsResponse
/**
* Returns information about a built-in intent.
*
* This operation requires permission for the `lex:GetBuiltinIntent` action.
*/
public suspend fun getBuiltinIntent(input: GetBuiltinIntentRequest): GetBuiltinIntentResponse
/**
* Gets a list of built-in intents that meet the specified criteria.
*
* This operation requires permission for the `lex:GetBuiltinIntents` action.
*/
public suspend fun getBuiltinIntents(input: GetBuiltinIntentsRequest = GetBuiltinIntentsRequest { }): GetBuiltinIntentsResponse
/**
* 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](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/slot-type-reference) in the *Alexa Skills Kit*.
*
* This operation requires permission for the `lex:GetBuiltInSlotTypes` action.
*/
public suspend fun getBuiltinSlotTypes(input: GetBuiltinSlotTypesRequest = GetBuiltinSlotTypesRequest { }): GetBuiltinSlotTypesResponse
/**
* Exports the contents of a Amazon Lex resource in a specified format.
*/
public suspend fun getExport(input: GetExportRequest): GetExportResponse
/**
* Gets information about an import job started with the `StartImport` operation.
*/
public suspend fun getImport(input: GetImportRequest): GetImportResponse
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetIntent.sample
*/
public suspend fun getIntent(input: GetIntentRequest): GetIntentResponse
/**
* 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.
*/
public suspend fun getIntentVersions(input: GetIntentVersionsRequest): GetIntentVersionsResponse
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetIntents.sample
*/
public suspend fun getIntents(input: GetIntentsRequest = GetIntentsRequest { }): GetIntentsResponse
/**
* 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.
*/
public suspend fun getMigration(input: GetMigrationRequest): GetMigrationResponse
/**
* Gets a list of migrations between Amazon Lex V1 and Amazon Lex V2.
*/
public suspend fun getMigrations(input: GetMigrationsRequest = GetMigrationsRequest { }): GetMigrationsResponse
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetSlotType.sample
*/
public suspend fun getSlotType(input: GetSlotTypeRequest): GetSlotTypeResponse
/**
* 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.
*/
public suspend fun getSlotTypeVersions(input: GetSlotTypeVersionsRequest): GetSlotTypeVersionsResponse
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetSlotTypes.sample
*/
public suspend fun getSlotTypes(input: GetSlotTypesRequest = GetSlotTypesRequest { }): GetSlotTypesResponse
/**
* 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.
*/
public suspend fun getUtterancesView(input: GetUtterancesViewRequest): GetUtterancesViewResponse
/**
* Gets a list of tags associated with the specified resource. Only bots, bot aliases, and bot channels can have tags associated with them.
*/
public suspend fun listTagsForResource(input: ListTagsForResourceRequest): ListTagsForResourceResponse
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.PutBot.sample
*/
public suspend fun putBot(input: PutBotRequest): PutBotResponse
/**
* 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.
*/
public suspend fun putBotAlias(input: PutBotAliasRequest): PutBotAliasResponse
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.PutIntent.sample
*/
public suspend fun putIntent(input: PutIntentRequest): PutIntentResponse
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.PutSlotType.sample
*/
public suspend fun putSlotType(input: PutSlotTypeRequest): PutSlotTypeResponse
/**
* Starts a job to import a resource to Amazon Lex.
*/
public suspend fun startImport(input: StartImportRequest): StartImportResponse
/**
* 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](https://docs.aws.amazon.com/lex/latest/dg/migrate.html) in the *Amazon Lex developer guide*.
*/
public suspend fun startMigration(input: StartMigrationRequest): StartMigrationResponse
/**
* Adds the specified tags to the specified resource. If a tag key already exists, the existing value is replaced with the new value.
*/
public suspend fun tagResource(input: TagResourceRequest): TagResourceResponse
/**
* Removes tags from a bot, bot alias or bot channel.
*/
public suspend fun untagResource(input: UntagResourceRequest): UntagResourceResponse
}
/**
* Create a copy of the client with one or more configuration values overridden.
* This method allows the caller to perform scoped config overrides for one or more client operations.
*
* Any resources created on your behalf will be shared between clients, and will only be closed when ALL clients using them are closed.
* If you provide a resource (e.g. [HttpClientEngine]) to the SDK, you are responsible for managing the lifetime of that resource.
*/
public fun LexModelBuildingClient.withConfig(block: LexModelBuildingClient.Config.Builder.() -> Unit): LexModelBuildingClient {
val newConfig = config.toBuilder().apply(block).build()
return DefaultLexModelBuildingClient(newConfig)
}
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.createBotVersion(crossinline block: CreateBotVersionRequest.Builder.() -> Unit): CreateBotVersionResponse = createBotVersion(CreateBotVersionRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.createIntentVersion(crossinline block: CreateIntentVersionRequest.Builder.() -> Unit): CreateIntentVersionResponse = createIntentVersion(CreateIntentVersionRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.createSlotTypeVersion(crossinline block: CreateSlotTypeVersionRequest.Builder.() -> Unit): CreateSlotTypeVersionResponse = createSlotTypeVersion(CreateSlotTypeVersionRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.deleteBot(crossinline block: DeleteBotRequest.Builder.() -> Unit): DeleteBotResponse = deleteBot(DeleteBotRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.deleteBotAlias(crossinline block: DeleteBotAliasRequest.Builder.() -> Unit): DeleteBotAliasResponse = deleteBotAlias(DeleteBotAliasRequest.Builder().apply(block).build())
/**
* Deletes the association between an Amazon Lex bot and a messaging platform.
*
* This operation requires permission for the `lex:DeleteBotChannelAssociation` action.
*/
public suspend inline fun LexModelBuildingClient.deleteBotChannelAssociation(crossinline block: DeleteBotChannelAssociationRequest.Builder.() -> Unit): DeleteBotChannelAssociationResponse = deleteBotChannelAssociation(DeleteBotChannelAssociationRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.deleteBotVersion(crossinline block: DeleteBotVersionRequest.Builder.() -> Unit): DeleteBotVersionResponse = deleteBotVersion(DeleteBotVersionRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.deleteIntent(crossinline block: DeleteIntentRequest.Builder.() -> Unit): DeleteIntentResponse = deleteIntent(DeleteIntentRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.deleteIntentVersion(crossinline block: DeleteIntentVersionRequest.Builder.() -> Unit): DeleteIntentVersionResponse = deleteIntentVersion(DeleteIntentVersionRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.deleteSlotType(crossinline block: DeleteSlotTypeRequest.Builder.() -> Unit): DeleteSlotTypeResponse = deleteSlotType(DeleteSlotTypeRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.deleteSlotTypeVersion(crossinline block: DeleteSlotTypeVersionRequest.Builder.() -> Unit): DeleteSlotTypeVersionResponse = deleteSlotTypeVersion(DeleteSlotTypeVersionRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.deleteUtterances(crossinline block: DeleteUtterancesRequest.Builder.() -> Unit): DeleteUtterancesResponse = deleteUtterances(DeleteUtterancesRequest.Builder().apply(block).build())
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetBot.sample
*/
public suspend inline fun LexModelBuildingClient.getBot(crossinline block: GetBotRequest.Builder.() -> Unit): GetBotResponse = getBot(GetBotRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.getBotAlias(crossinline block: GetBotAliasRequest.Builder.() -> Unit): GetBotAliasResponse = getBotAlias(GetBotAliasRequest.Builder().apply(block).build())
/**
* Returns a list of aliases for a specified Amazon Lex bot.
*
* This operation requires permissions for the `lex:GetBotAliases` action.
*/
public suspend inline fun LexModelBuildingClient.getBotAliases(crossinline block: GetBotAliasesRequest.Builder.() -> Unit): GetBotAliasesResponse = getBotAliases(GetBotAliasesRequest.Builder().apply(block).build())
/**
* Returns information about the association between an Amazon Lex bot and a messaging platform.
*
* This operation requires permissions for the `lex:GetBotChannelAssociation` action.
*/
public suspend inline fun LexModelBuildingClient.getBotChannelAssociation(crossinline block: GetBotChannelAssociationRequest.Builder.() -> Unit): GetBotChannelAssociationResponse = getBotChannelAssociation(GetBotChannelAssociationRequest.Builder().apply(block).build())
/**
* Returns a list of all of the channels associated with the specified bot.
*
* The `GetBotChannelAssociations` operation requires permissions for the `lex:GetBotChannelAssociations` action.
*/
public suspend inline fun LexModelBuildingClient.getBotChannelAssociations(crossinline block: GetBotChannelAssociationsRequest.Builder.() -> Unit): GetBotChannelAssociationsResponse = getBotChannelAssociations(GetBotChannelAssociationsRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.getBotVersions(crossinline block: GetBotVersionsRequest.Builder.() -> Unit): GetBotVersionsResponse = getBotVersions(GetBotVersionsRequest.Builder().apply(block).build())
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetBots.sample
*/
public suspend inline fun LexModelBuildingClient.getBots(crossinline block: GetBotsRequest.Builder.() -> Unit): GetBotsResponse = getBots(GetBotsRequest.Builder().apply(block).build())
/**
* Returns information about a built-in intent.
*
* This operation requires permission for the `lex:GetBuiltinIntent` action.
*/
public suspend inline fun LexModelBuildingClient.getBuiltinIntent(crossinline block: GetBuiltinIntentRequest.Builder.() -> Unit): GetBuiltinIntentResponse = getBuiltinIntent(GetBuiltinIntentRequest.Builder().apply(block).build())
/**
* Gets a list of built-in intents that meet the specified criteria.
*
* This operation requires permission for the `lex:GetBuiltinIntents` action.
*/
public suspend inline fun LexModelBuildingClient.getBuiltinIntents(crossinline block: GetBuiltinIntentsRequest.Builder.() -> Unit): GetBuiltinIntentsResponse = getBuiltinIntents(GetBuiltinIntentsRequest.Builder().apply(block).build())
/**
* 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](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/slot-type-reference) in the *Alexa Skills Kit*.
*
* This operation requires permission for the `lex:GetBuiltInSlotTypes` action.
*/
public suspend inline fun LexModelBuildingClient.getBuiltinSlotTypes(crossinline block: GetBuiltinSlotTypesRequest.Builder.() -> Unit): GetBuiltinSlotTypesResponse = getBuiltinSlotTypes(GetBuiltinSlotTypesRequest.Builder().apply(block).build())
/**
* Exports the contents of a Amazon Lex resource in a specified format.
*/
public suspend inline fun LexModelBuildingClient.getExport(crossinline block: GetExportRequest.Builder.() -> Unit): GetExportResponse = getExport(GetExportRequest.Builder().apply(block).build())
/**
* Gets information about an import job started with the `StartImport` operation.
*/
public suspend inline fun LexModelBuildingClient.getImport(crossinline block: GetImportRequest.Builder.() -> Unit): GetImportResponse = getImport(GetImportRequest.Builder().apply(block).build())
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetIntent.sample
*/
public suspend inline fun LexModelBuildingClient.getIntent(crossinline block: GetIntentRequest.Builder.() -> Unit): GetIntentResponse = getIntent(GetIntentRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.getIntentVersions(crossinline block: GetIntentVersionsRequest.Builder.() -> Unit): GetIntentVersionsResponse = getIntentVersions(GetIntentVersionsRequest.Builder().apply(block).build())
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetIntents.sample
*/
public suspend inline fun LexModelBuildingClient.getIntents(crossinline block: GetIntentsRequest.Builder.() -> Unit): GetIntentsResponse = getIntents(GetIntentsRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.getMigration(crossinline block: GetMigrationRequest.Builder.() -> Unit): GetMigrationResponse = getMigration(GetMigrationRequest.Builder().apply(block).build())
/**
* Gets a list of migrations between Amazon Lex V1 and Amazon Lex V2.
*/
public suspend inline fun LexModelBuildingClient.getMigrations(crossinline block: GetMigrationsRequest.Builder.() -> Unit): GetMigrationsResponse = getMigrations(GetMigrationsRequest.Builder().apply(block).build())
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetSlotType.sample
*/
public suspend inline fun LexModelBuildingClient.getSlotType(crossinline block: GetSlotTypeRequest.Builder.() -> Unit): GetSlotTypeResponse = getSlotType(GetSlotTypeRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.getSlotTypeVersions(crossinline block: GetSlotTypeVersionsRequest.Builder.() -> Unit): GetSlotTypeVersionsResponse = getSlotTypeVersions(GetSlotTypeVersionsRequest.Builder().apply(block).build())
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.GetSlotTypes.sample
*/
public suspend inline fun LexModelBuildingClient.getSlotTypes(crossinline block: GetSlotTypesRequest.Builder.() -> Unit): GetSlotTypesResponse = getSlotTypes(GetSlotTypesRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.getUtterancesView(crossinline block: GetUtterancesViewRequest.Builder.() -> Unit): GetUtterancesViewResponse = getUtterancesView(GetUtterancesViewRequest.Builder().apply(block).build())
/**
* Gets a list of tags associated with the specified resource. Only bots, bot aliases, and bot channels can have tags associated with them.
*/
public suspend inline fun LexModelBuildingClient.listTagsForResource(crossinline block: ListTagsForResourceRequest.Builder.() -> Unit): ListTagsForResourceResponse = listTagsForResource(ListTagsForResourceRequest.Builder().apply(block).build())
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.PutBot.sample
*/
public suspend inline fun LexModelBuildingClient.putBot(crossinline block: PutBotRequest.Builder.() -> Unit): PutBotResponse = putBot(PutBotRequest.Builder().apply(block).build())
/**
* 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.
*/
public suspend inline fun LexModelBuildingClient.putBotAlias(crossinline block: PutBotAliasRequest.Builder.() -> Unit): PutBotAliasResponse = putBotAlias(PutBotAliasRequest.Builder().apply(block).build())
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.PutIntent.sample
*/
public suspend inline fun LexModelBuildingClient.putIntent(crossinline block: PutIntentRequest.Builder.() -> Unit): PutIntentResponse = putIntent(PutIntentRequest.Builder().apply(block).build())
/**
* 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.
*
* @sample aws.sdk.kotlin.services.lexmodelbuildingservice.samples.PutSlotType.sample
*/
public suspend inline fun LexModelBuildingClient.putSlotType(crossinline block: PutSlotTypeRequest.Builder.() -> Unit): PutSlotTypeResponse = putSlotType(PutSlotTypeRequest.Builder().apply(block).build())
/**
* Starts a job to import a resource to Amazon Lex.
*/
public suspend inline fun LexModelBuildingClient.startImport(crossinline block: StartImportRequest.Builder.() -> Unit): StartImportResponse = startImport(StartImportRequest.Builder().apply(block).build())
/**
* 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](https://docs.aws.amazon.com/lex/latest/dg/migrate.html) in the *Amazon Lex developer guide*.
*/
public suspend inline fun LexModelBuildingClient.startMigration(crossinline block: StartMigrationRequest.Builder.() -> Unit): StartMigrationResponse = startMigration(StartMigrationRequest.Builder().apply(block).build())
/**
* Adds the specified tags to the specified resource. If a tag key already exists, the existing value is replaced with the new value.
*/
public suspend inline fun LexModelBuildingClient.tagResource(crossinline block: TagResourceRequest.Builder.() -> Unit): TagResourceResponse = tagResource(TagResourceRequest.Builder().apply(block).build())
/**
* Removes tags from a bot, bot alias or bot channel.
*/
public suspend inline fun LexModelBuildingClient.untagResource(crossinline block: UntagResourceRequest.Builder.() -> Unit): UntagResourceResponse = untagResource(UntagResourceRequest.Builder().apply(block).build())
© 2015 - 2025 Weber Informatics LLC | Privacy Policy