All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.lexmodelbuilding.DefaultLexModelBuildingClient Maven / Gradle / Ivy

/*
 * Copyright 2014-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.lexmodelbuilding;

import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.core.ApiName;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.client.handler.SyncClientHandler;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.util.VersionInfo;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.json.AwsJsonProtocol;
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.JsonOperationMetadata;
import software.amazon.awssdk.services.lexmodelbuilding.model.BadRequestException;
import software.amazon.awssdk.services.lexmodelbuilding.model.ConflictException;
import software.amazon.awssdk.services.lexmodelbuilding.model.CreateBotVersionRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.CreateBotVersionResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.CreateIntentVersionRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.CreateIntentVersionResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.CreateSlotTypeVersionRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.CreateSlotTypeVersionResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteBotAliasRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteBotAliasResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteBotChannelAssociationRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteBotChannelAssociationResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteBotRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteBotResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteBotVersionRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteBotVersionResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteIntentRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteIntentResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteIntentVersionRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteIntentVersionResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteSlotTypeRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteSlotTypeResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteSlotTypeVersionRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteSlotTypeVersionResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteUtterancesRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.DeleteUtterancesResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotAliasRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotAliasResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotAliasesRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotAliasesResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotChannelAssociationRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotChannelAssociationResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotChannelAssociationsRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotChannelAssociationsResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotVersionsRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotVersionsResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotsRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBotsResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinIntentRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinIntentResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinIntentsRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinIntentsResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinSlotTypesRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinSlotTypesResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetExportRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetExportResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetImportRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetImportResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentVersionsRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentVersionsResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentsRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentsResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypeRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypeResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypeVersionsRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypeVersionsResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypesRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypesResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetUtterancesViewRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.GetUtterancesViewResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.InternalFailureException;
import software.amazon.awssdk.services.lexmodelbuilding.model.LexModelBuildingException;
import software.amazon.awssdk.services.lexmodelbuilding.model.LexModelBuildingRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.LimitExceededException;
import software.amazon.awssdk.services.lexmodelbuilding.model.NotFoundException;
import software.amazon.awssdk.services.lexmodelbuilding.model.PreconditionFailedException;
import software.amazon.awssdk.services.lexmodelbuilding.model.PutBotAliasRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.PutBotAliasResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.PutBotRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.PutBotResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.PutIntentRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.PutIntentResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.PutSlotTypeRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.PutSlotTypeResponse;
import software.amazon.awssdk.services.lexmodelbuilding.model.ResourceInUseException;
import software.amazon.awssdk.services.lexmodelbuilding.model.StartImportRequest;
import software.amazon.awssdk.services.lexmodelbuilding.model.StartImportResponse;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotAliasesIterable;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotChannelAssociationsIterable;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotVersionsIterable;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotsIterable;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBuiltinIntentsIterable;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBuiltinSlotTypesIterable;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetIntentVersionsIterable;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetIntentsIterable;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetSlotTypeVersionsIterable;
import software.amazon.awssdk.services.lexmodelbuilding.paginators.GetSlotTypesIterable;
import software.amazon.awssdk.services.lexmodelbuilding.transform.CreateBotVersionRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.CreateIntentVersionRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.CreateSlotTypeVersionRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.DeleteBotAliasRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.DeleteBotChannelAssociationRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.DeleteBotRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.DeleteBotVersionRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.DeleteIntentRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.DeleteIntentVersionRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.DeleteSlotTypeRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.DeleteSlotTypeVersionRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.DeleteUtterancesRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBotAliasRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBotAliasesRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBotChannelAssociationRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBotChannelAssociationsRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBotRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBotVersionsRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBotsRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBuiltinIntentRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBuiltinIntentsRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetBuiltinSlotTypesRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetExportRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetImportRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetIntentRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetIntentVersionsRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetIntentsRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetSlotTypeRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetSlotTypeVersionsRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetSlotTypesRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.GetUtterancesViewRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.PutBotAliasRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.PutBotRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.PutIntentRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.PutSlotTypeRequestMarshaller;
import software.amazon.awssdk.services.lexmodelbuilding.transform.StartImportRequestMarshaller;

/**
 * Internal implementation of {@link LexModelBuildingClient}.
 *
 * @see LexModelBuildingClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultLexModelBuildingClient implements LexModelBuildingClient {
    private final SyncClientHandler clientHandler;

    private final AwsJsonProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultLexModelBuildingClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsSyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration;
        this.protocolFactory = init(AwsJsonProtocolFactory.builder()).build();
    }

    @Override
    public final String serviceName() {
        return SERVICE_NAME;
    }

    /**
     * 

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

* * @param createBotVersionRequest * @return Result of the CreateBotVersion operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws PreconditionFailedException * The checksum of the resource that you are trying to change does not match the checksum in the request. * Check the resource's checksum and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.CreateBotVersion * @see AWS * API Documentation */ @Override public CreateBotVersionResponse createBotVersion(CreateBotVersionRequest createBotVersionRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, PreconditionFailedException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateBotVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateBotVersion").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createBotVersionRequest) .withMarshaller(new CreateBotVersionRequestMarshaller(protocolFactory))); } /** *

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

* * @param createIntentVersionRequest * @return Result of the CreateIntentVersion operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws PreconditionFailedException * The checksum of the resource that you are trying to change does not match the checksum in the request. * Check the resource's checksum and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.CreateIntentVersion * @see AWS * API Documentation */ @Override public CreateIntentVersionResponse createIntentVersion(CreateIntentVersionRequest createIntentVersionRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, PreconditionFailedException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateIntentVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateIntentVersion").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createIntentVersionRequest) .withMarshaller(new CreateIntentVersionRequestMarshaller(protocolFactory))); } /** *

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

* * @param createSlotTypeVersionRequest * @return Result of the CreateSlotTypeVersion operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws PreconditionFailedException * The checksum of the resource that you are trying to change does not match the checksum in the request. * Check the resource's checksum and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.CreateSlotTypeVersion * @see AWS API Documentation */ @Override public CreateSlotTypeVersionResponse createSlotTypeVersion(CreateSlotTypeVersionRequest createSlotTypeVersionRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, PreconditionFailedException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateSlotTypeVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateSlotTypeVersion").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createSlotTypeVersionRequest) .withMarshaller(new CreateSlotTypeVersionRequestMarshaller(protocolFactory))); } /** *

* Deletes all versions of the bot, including the $LATEST version. To delete a specific version of * the bot, use the DeleteBotVersion 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. *

* * @param deleteBotRequest * @return Result of the DeleteBot operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws ResourceInUseException * The resource that you are attempting to delete is referred to by another resource. Use this information * to remove references to the resource that you are trying to delete.

*

* The body of the exception contains a JSON object that describes the resource. *

*

* { "resourceType": BOT | BOTALIAS | BOTCHANNEL | INTENT, *

*

* "resourceReference": { *

*

* "name": string, "version": string } } * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.DeleteBot * @see AWS API * Documentation */ @Override public DeleteBotResponse deleteBot(DeleteBotRequest deleteBotRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, ResourceInUseException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteBotResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteBot").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteBotRequest) .withMarshaller(new DeleteBotRequestMarshaller(protocolFactory))); } /** *

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

* * @param deleteBotAliasRequest * @return Result of the DeleteBotAlias operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws ResourceInUseException * The resource that you are attempting to delete is referred to by another resource. Use this information * to remove references to the resource that you are trying to delete.

*

* The body of the exception contains a JSON object that describes the resource. *

*

* { "resourceType": BOT | BOTALIAS | BOTCHANNEL | INTENT, *

*

* "resourceReference": { *

*

* "name": string, "version": string } } * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.DeleteBotAlias * @see AWS API * Documentation */ @Override public DeleteBotAliasResponse deleteBotAlias(DeleteBotAliasRequest deleteBotAliasRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, ResourceInUseException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteBotAliasResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteBotAlias").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteBotAliasRequest) .withMarshaller(new DeleteBotAliasRequestMarshaller(protocolFactory))); } /** *

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

*

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

* * @param deleteBotChannelAssociationRequest * @return Result of the DeleteBotChannelAssociation operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.DeleteBotChannelAssociation * @see AWS API Documentation */ @Override public DeleteBotChannelAssociationResponse deleteBotChannelAssociation( DeleteBotChannelAssociationRequest deleteBotChannelAssociationRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteBotChannelAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteBotChannelAssociation").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteBotChannelAssociationRequest) .withMarshaller(new DeleteBotChannelAssociationRequestMarshaller(protocolFactory))); } /** *

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

* * @param deleteBotVersionRequest * @return Result of the DeleteBotVersion operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws ResourceInUseException * The resource that you are attempting to delete is referred to by another resource. Use this information * to remove references to the resource that you are trying to delete.

*

* The body of the exception contains a JSON object that describes the resource. *

*

* { "resourceType": BOT | BOTALIAS | BOTCHANNEL | INTENT, *

*

* "resourceReference": { *

*

* "name": string, "version": string } } * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.DeleteBotVersion * @see AWS * API Documentation */ @Override public DeleteBotVersionResponse deleteBotVersion(DeleteBotVersionRequest deleteBotVersionRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, ResourceInUseException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteBotVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteBotVersion").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteBotVersionRequest) .withMarshaller(new DeleteBotVersionRequestMarshaller(protocolFactory))); } /** *

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

* * @param deleteIntentRequest * @return Result of the DeleteIntent operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws ResourceInUseException * The resource that you are attempting to delete is referred to by another resource. Use this information * to remove references to the resource that you are trying to delete.

*

* The body of the exception contains a JSON object that describes the resource. *

*

* { "resourceType": BOT | BOTALIAS | BOTCHANNEL | INTENT, *

*

* "resourceReference": { *

*

* "name": string, "version": string } } * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.DeleteIntent * @see AWS API * Documentation */ @Override public DeleteIntentResponse deleteIntent(DeleteIntentRequest deleteIntentRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, ResourceInUseException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteIntentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteIntent").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteIntentRequest) .withMarshaller(new DeleteIntentRequestMarshaller(protocolFactory))); } /** *

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

* * @param deleteIntentVersionRequest * @return Result of the DeleteIntentVersion operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws ResourceInUseException * The resource that you are attempting to delete is referred to by another resource. Use this information * to remove references to the resource that you are trying to delete.

*

* The body of the exception contains a JSON object that describes the resource. *

*

* { "resourceType": BOT | BOTALIAS | BOTCHANNEL | INTENT, *

*

* "resourceReference": { *

*

* "name": string, "version": string } } * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.DeleteIntentVersion * @see AWS * API Documentation */ @Override public DeleteIntentVersionResponse deleteIntentVersion(DeleteIntentVersionRequest deleteIntentVersionRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, ResourceInUseException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteIntentVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteIntentVersion").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteIntentVersionRequest) .withMarshaller(new DeleteIntentVersionRequestMarshaller(protocolFactory))); } /** *

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

* * @param deleteSlotTypeRequest * @return Result of the DeleteSlotType operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws ResourceInUseException * The resource that you are attempting to delete is referred to by another resource. Use this information * to remove references to the resource that you are trying to delete.

*

* The body of the exception contains a JSON object that describes the resource. *

*

* { "resourceType": BOT | BOTALIAS | BOTCHANNEL | INTENT, *

*

* "resourceReference": { *

*

* "name": string, "version": string } } * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.DeleteSlotType * @see AWS API * Documentation */ @Override public DeleteSlotTypeResponse deleteSlotType(DeleteSlotTypeRequest deleteSlotTypeRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, ResourceInUseException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteSlotTypeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteSlotType").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteSlotTypeRequest) .withMarshaller(new DeleteSlotTypeRequestMarshaller(protocolFactory))); } /** *

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

* * @param deleteSlotTypeVersionRequest * @return Result of the DeleteSlotTypeVersion operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws ResourceInUseException * The resource that you are attempting to delete is referred to by another resource. Use this information * to remove references to the resource that you are trying to delete.

*

* The body of the exception contains a JSON object that describes the resource. *

*

* { "resourceType": BOT | BOTALIAS | BOTCHANNEL | INTENT, *

*

* "resourceReference": { *

*

* "name": string, "version": string } } * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.DeleteSlotTypeVersion * @see AWS API Documentation */ @Override public DeleteSlotTypeVersionResponse deleteSlotTypeVersion(DeleteSlotTypeVersionRequest deleteSlotTypeVersionRequest) throws NotFoundException, ConflictException, LimitExceededException, InternalFailureException, BadRequestException, ResourceInUseException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteSlotTypeVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteSlotTypeVersion").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteSlotTypeVersionRequest) .withMarshaller(new DeleteSlotTypeVersionRequestMarshaller(protocolFactory))); } /** *

* 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 DeleteStoredUtterances operation to manually delete stored utterances for a specific user. *

*

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

* * @param deleteUtterancesRequest * @return Result of the DeleteUtterances operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.DeleteUtterances * @see AWS * API Documentation */ @Override public DeleteUtterancesResponse deleteUtterances(DeleteUtterancesRequest deleteUtterancesRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteUtterancesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteUtterances").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteUtterancesRequest) .withMarshaller(new DeleteUtterancesRequestMarshaller(protocolFactory))); } /** *

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

* * @param getBotRequest * @return Result of the GetBot operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBot * @see AWS API * Documentation */ @Override public GetBotResponse getBot(GetBotRequest getBotRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetBotResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams().withOperationName("GetBot") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler).withInput(getBotRequest) .withMarshaller(new GetBotRequestMarshaller(protocolFactory))); } /** *

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

* * @param getBotAliasRequest * @return Result of the GetBotAlias operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBotAlias * @see AWS API * Documentation */ @Override public GetBotAliasResponse getBotAlias(GetBotAliasRequest getBotAliasRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetBotAliasResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetBotAlias").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getBotAliasRequest) .withMarshaller(new GetBotAliasRequestMarshaller(protocolFactory))); } /** *

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

*

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

* * @param getBotAliasesRequest * @return Result of the GetBotAliases operation returned by the service. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBotAliases * @see AWS API * Documentation */ @Override public GetBotAliasesResponse getBotAliases(GetBotAliasesRequest getBotAliasesRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetBotAliasesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetBotAliases").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getBotAliasesRequest) .withMarshaller(new GetBotAliasesRequestMarshaller(protocolFactory))); } /** *

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

*

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

*
*

* This is a variant of * {@link #getBotAliases(software.amazon.awssdk.services.lexmodelbuilding.model.GetBotAliasesRequest)} operation. * The return type is a custom iterable that can be used to iterate through all the pages. SDK will internally * handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotAliasesIterable responses = client.getBotAliasesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotAliasesIterable responses = client
     *             .getBotAliasesPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetBotAliasesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotAliasesIterable responses = client.getBotAliasesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getBotAliases(software.amazon.awssdk.services.lexmodelbuilding.model.GetBotAliasesRequest)} * operation. *

* * @param getBotAliasesRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBotAliases * @see AWS API * Documentation */ @Override public GetBotAliasesIterable getBotAliasesPaginator(GetBotAliasesRequest getBotAliasesRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetBotAliasesIterable(this, applyPaginatorUserAgent(getBotAliasesRequest)); } /** *

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

*

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

* * @param getBotChannelAssociationRequest * @return Result of the GetBotChannelAssociation operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBotChannelAssociation * @see AWS API Documentation */ @Override public GetBotChannelAssociationResponse getBotChannelAssociation( GetBotChannelAssociationRequest getBotChannelAssociationRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetBotChannelAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetBotChannelAssociation").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getBotChannelAssociationRequest) .withMarshaller(new GetBotChannelAssociationRequestMarshaller(protocolFactory))); } /** *

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

*

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

* * @param getBotChannelAssociationsRequest * @return Result of the GetBotChannelAssociations operation returned by the service. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBotChannelAssociations * @see AWS API Documentation */ @Override public GetBotChannelAssociationsResponse getBotChannelAssociations( GetBotChannelAssociationsRequest getBotChannelAssociationsRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetBotChannelAssociationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetBotChannelAssociations").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getBotChannelAssociationsRequest) .withMarshaller(new GetBotChannelAssociationsRequestMarshaller(protocolFactory))); } /** *

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

*

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

*
*

* This is a variant of * {@link #getBotChannelAssociations(software.amazon.awssdk.services.lexmodelbuilding.model.GetBotChannelAssociationsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotChannelAssociationsIterable responses = client.getBotChannelAssociationsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotChannelAssociationsIterable responses = client
     *             .getBotChannelAssociationsPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetBotChannelAssociationsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotChannelAssociationsIterable responses = client.getBotChannelAssociationsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getBotChannelAssociations(software.amazon.awssdk.services.lexmodelbuilding.model.GetBotChannelAssociationsRequest)} * operation. *

* * @param getBotChannelAssociationsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBotChannelAssociations * @see AWS API Documentation */ @Override public GetBotChannelAssociationsIterable getBotChannelAssociationsPaginator( GetBotChannelAssociationsRequest getBotChannelAssociationsRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetBotChannelAssociationsIterable(this, applyPaginatorUserAgent(getBotChannelAssociationsRequest)); } /** *

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

* * @param getBotVersionsRequest * @return Result of the GetBotVersions operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBotVersions * @see AWS API * Documentation */ @Override public GetBotVersionsResponse getBotVersions(GetBotVersionsRequest getBotVersionsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetBotVersionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetBotVersions").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getBotVersionsRequest) .withMarshaller(new GetBotVersionsRequestMarshaller(protocolFactory))); } /** *

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

*
*

* This is a variant of * {@link #getBotVersions(software.amazon.awssdk.services.lexmodelbuilding.model.GetBotVersionsRequest)} operation. * The return type is a custom iterable that can be used to iterate through all the pages. SDK will internally * handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotVersionsIterable responses = client.getBotVersionsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotVersionsIterable responses = client
     *             .getBotVersionsPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetBotVersionsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotVersionsIterable responses = client.getBotVersionsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getBotVersions(software.amazon.awssdk.services.lexmodelbuilding.model.GetBotVersionsRequest)} * operation. *

* * @param getBotVersionsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBotVersions * @see AWS API * Documentation */ @Override public GetBotVersionsIterable getBotVersionsPaginator(GetBotVersionsRequest getBotVersionsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetBotVersionsIterable(this, applyPaginatorUserAgent(getBotVersionsRequest)); } /** *

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

* * @param getBotsRequest * @return Result of the GetBots operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBots * @see AWS API * Documentation */ @Override public GetBotsResponse getBots(GetBotsRequest getBotsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetBotsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams().withOperationName("GetBots") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler).withInput(getBotsRequest) .withMarshaller(new GetBotsRequestMarshaller(protocolFactory))); } /** *

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

*
*

* This is a variant of {@link #getBots(software.amazon.awssdk.services.lexmodelbuilding.model.GetBotsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotsIterable responses = client.getBotsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotsIterable responses = client.getBotsPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetBotsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBotsIterable responses = client.getBotsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getBots(software.amazon.awssdk.services.lexmodelbuilding.model.GetBotsRequest)} operation. *

* * @param getBotsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBots * @see AWS API * Documentation */ @Override public GetBotsIterable getBotsPaginator(GetBotsRequest getBotsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetBotsIterable(this, applyPaginatorUserAgent(getBotsRequest)); } /** *

* Returns information about a built-in intent. *

*

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

* * @param getBuiltinIntentRequest * @return Result of the GetBuiltinIntent operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBuiltinIntent * @see AWS * API Documentation */ @Override public GetBuiltinIntentResponse getBuiltinIntent(GetBuiltinIntentRequest getBuiltinIntentRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetBuiltinIntentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetBuiltinIntent").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getBuiltinIntentRequest) .withMarshaller(new GetBuiltinIntentRequestMarshaller(protocolFactory))); } /** *

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

*

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

* * @param getBuiltinIntentsRequest * @return Result of the GetBuiltinIntents operation returned by the service. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBuiltinIntents * @see AWS * API Documentation */ @Override public GetBuiltinIntentsResponse getBuiltinIntents(GetBuiltinIntentsRequest getBuiltinIntentsRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetBuiltinIntentsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetBuiltinIntents").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getBuiltinIntentsRequest) .withMarshaller(new GetBuiltinIntentsRequestMarshaller(protocolFactory))); } /** *

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

*

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

*
*

* This is a variant of * {@link #getBuiltinIntents(software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinIntentsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBuiltinIntentsIterable responses = client.getBuiltinIntentsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBuiltinIntentsIterable responses = client
     *             .getBuiltinIntentsPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinIntentsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBuiltinIntentsIterable responses = client.getBuiltinIntentsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getBuiltinIntents(software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinIntentsRequest)} * operation. *

* * @param getBuiltinIntentsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBuiltinIntents * @see AWS * API Documentation */ @Override public GetBuiltinIntentsIterable getBuiltinIntentsPaginator(GetBuiltinIntentsRequest getBuiltinIntentsRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetBuiltinIntentsIterable(this, applyPaginatorUserAgent(getBuiltinIntentsRequest)); } /** *

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

* * @param getBuiltinSlotTypesRequest * @return Result of the GetBuiltinSlotTypes operation returned by the service. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBuiltinSlotTypes * @see AWS * API Documentation */ @Override public GetBuiltinSlotTypesResponse getBuiltinSlotTypes(GetBuiltinSlotTypesRequest getBuiltinSlotTypesRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetBuiltinSlotTypesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetBuiltinSlotTypes").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getBuiltinSlotTypesRequest) .withMarshaller(new GetBuiltinSlotTypesRequestMarshaller(protocolFactory))); } /** *

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

*
*

* This is a variant of * {@link #getBuiltinSlotTypes(software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinSlotTypesRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBuiltinSlotTypesIterable responses = client.getBuiltinSlotTypesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBuiltinSlotTypesIterable responses = client
     *             .getBuiltinSlotTypesPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinSlotTypesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetBuiltinSlotTypesIterable responses = client.getBuiltinSlotTypesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getBuiltinSlotTypes(software.amazon.awssdk.services.lexmodelbuilding.model.GetBuiltinSlotTypesRequest)} * operation. *

* * @param getBuiltinSlotTypesRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetBuiltinSlotTypes * @see AWS * API Documentation */ @Override public GetBuiltinSlotTypesIterable getBuiltinSlotTypesPaginator(GetBuiltinSlotTypesRequest getBuiltinSlotTypesRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetBuiltinSlotTypesIterable(this, applyPaginatorUserAgent(getBuiltinSlotTypesRequest)); } /** *

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

* * @param getExportRequest * @return Result of the GetExport operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetExport * @see AWS API * Documentation */ @Override public GetExportResponse getExport(GetExportRequest getExportRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetExportResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetExport").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getExportRequest) .withMarshaller(new GetExportRequestMarshaller(protocolFactory))); } /** *

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

* * @param getImportRequest * @return Result of the GetImport operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetImport * @see AWS API * Documentation */ @Override public GetImportResponse getImport(GetImportRequest getImportRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetImportResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetImport").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getImportRequest) .withMarshaller(new GetImportRequestMarshaller(protocolFactory))); } /** *

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

* * @param getIntentRequest * @return Result of the GetIntent operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetIntent * @see AWS API * Documentation */ @Override public GetIntentResponse getIntent(GetIntentRequest getIntentRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetIntentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetIntent").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getIntentRequest) .withMarshaller(new GetIntentRequestMarshaller(protocolFactory))); } /** *

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

* * @param getIntentVersionsRequest * @return Result of the GetIntentVersions operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetIntentVersions * @see AWS * API Documentation */ @Override public GetIntentVersionsResponse getIntentVersions(GetIntentVersionsRequest getIntentVersionsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetIntentVersionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetIntentVersions").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getIntentVersionsRequest) .withMarshaller(new GetIntentVersionsRequestMarshaller(protocolFactory))); } /** *

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

*
*

* This is a variant of * {@link #getIntentVersions(software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentVersionsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetIntentVersionsIterable responses = client.getIntentVersionsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetIntentVersionsIterable responses = client
     *             .getIntentVersionsPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentVersionsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetIntentVersionsIterable responses = client.getIntentVersionsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getIntentVersions(software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentVersionsRequest)} * operation. *

* * @param getIntentVersionsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetIntentVersions * @see AWS * API Documentation */ @Override public GetIntentVersionsIterable getIntentVersionsPaginator(GetIntentVersionsRequest getIntentVersionsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetIntentVersionsIterable(this, applyPaginatorUserAgent(getIntentVersionsRequest)); } /** *

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

* * @param getIntentsRequest * @return Result of the GetIntents operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetIntents * @see AWS API * Documentation */ @Override public GetIntentsResponse getIntents(GetIntentsRequest getIntentsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetIntentsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetIntents").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getIntentsRequest) .withMarshaller(new GetIntentsRequestMarshaller(protocolFactory))); } /** *

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

*
*

* This is a variant of * {@link #getIntents(software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentsRequest)} operation. The * return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle * making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetIntentsIterable responses = client.getIntentsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetIntentsIterable responses = client
     *             .getIntentsPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetIntentsIterable responses = client.getIntentsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getIntents(software.amazon.awssdk.services.lexmodelbuilding.model.GetIntentsRequest)} operation. *

* * @param getIntentsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetIntents * @see AWS API * Documentation */ @Override public GetIntentsIterable getIntentsPaginator(GetIntentsRequest getIntentsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetIntentsIterable(this, applyPaginatorUserAgent(getIntentsRequest)); } /** *

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

* * @param getSlotTypeRequest * @return Result of the GetSlotType operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetSlotType * @see AWS API * Documentation */ @Override public GetSlotTypeResponse getSlotType(GetSlotTypeRequest getSlotTypeRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetSlotTypeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetSlotType").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getSlotTypeRequest) .withMarshaller(new GetSlotTypeRequestMarshaller(protocolFactory))); } /** *

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

* * @param getSlotTypeVersionsRequest * @return Result of the GetSlotTypeVersions operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetSlotTypeVersions * @see AWS * API Documentation */ @Override public GetSlotTypeVersionsResponse getSlotTypeVersions(GetSlotTypeVersionsRequest getSlotTypeVersionsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetSlotTypeVersionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetSlotTypeVersions").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getSlotTypeVersionsRequest) .withMarshaller(new GetSlotTypeVersionsRequestMarshaller(protocolFactory))); } /** *

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

*
*

* This is a variant of * {@link #getSlotTypeVersions(software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypeVersionsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetSlotTypeVersionsIterable responses = client.getSlotTypeVersionsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetSlotTypeVersionsIterable responses = client
     *             .getSlotTypeVersionsPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypeVersionsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetSlotTypeVersionsIterable responses = client.getSlotTypeVersionsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getSlotTypeVersions(software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypeVersionsRequest)} * operation. *

* * @param getSlotTypeVersionsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetSlotTypeVersions * @see AWS * API Documentation */ @Override public GetSlotTypeVersionsIterable getSlotTypeVersionsPaginator(GetSlotTypeVersionsRequest getSlotTypeVersionsRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetSlotTypeVersionsIterable(this, applyPaginatorUserAgent(getSlotTypeVersionsRequest)); } /** *

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

* * @param getSlotTypesRequest * @return Result of the GetSlotTypes operation returned by the service. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetSlotTypes * @see AWS API * Documentation */ @Override public GetSlotTypesResponse getSlotTypes(GetSlotTypesRequest getSlotTypesRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetSlotTypesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetSlotTypes").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getSlotTypesRequest) .withMarshaller(new GetSlotTypesRequestMarshaller(protocolFactory))); } /** *

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

*
*

* This is a variant of * {@link #getSlotTypes(software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypesRequest)} operation. The * return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle * making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetSlotTypesIterable responses = client.getSlotTypesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.lexmodelbuilding.paginators.GetSlotTypesIterable responses = client
     *             .getSlotTypesPaginator(request);
     *     for (software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.lexmodelbuilding.paginators.GetSlotTypesIterable responses = client.getSlotTypesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #getSlotTypes(software.amazon.awssdk.services.lexmodelbuilding.model.GetSlotTypesRequest)} operation. *

* * @param getSlotTypesRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws NotFoundException * The resource specified in the request was not found. Check the resource and try again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetSlotTypes * @see AWS API * Documentation */ @Override public GetSlotTypesIterable getSlotTypesPaginator(GetSlotTypesRequest getSlotTypesRequest) throws NotFoundException, LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { return new GetSlotTypesIterable(this, applyPaginatorUserAgent(getSlotTypesRequest)); } /** *

* 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 in each request. The response contains information about a maximum of 100 * utterances for each version. *

*
*

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

* * @param getUtterancesViewRequest * @return Result of the GetUtterancesView operation returned by the service. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.GetUtterancesView * @see AWS * API Documentation */ @Override public GetUtterancesViewResponse getUtterancesView(GetUtterancesViewRequest getUtterancesViewRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetUtterancesViewResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetUtterancesView").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getUtterancesViewRequest) .withMarshaller(new GetUtterancesViewRequestMarshaller(protocolFactory))); } /** *

* 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 * auth-and-access-control. *

* * @param putBotRequest * @return Result of the PutBot operation returned by the service. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws PreconditionFailedException * The checksum of the resource that you are trying to change does not match the checksum in the request. * Check the resource's checksum and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.PutBot * @see AWS API * Documentation */ @Override public PutBotResponse putBot(PutBotRequest putBotRequest) throws ConflictException, LimitExceededException, InternalFailureException, BadRequestException, PreconditionFailedException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutBotResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams().withOperationName("PutBot") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler).withInput(putBotRequest) .withMarshaller(new PutBotRequestMarshaller(protocolFactory))); } /** *

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

* * @param putBotAliasRequest * @return Result of the PutBotAlias operation returned by the service. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws PreconditionFailedException * The checksum of the resource that you are trying to change does not match the checksum in the request. * Check the resource's checksum and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.PutBotAlias * @see AWS API * Documentation */ @Override public PutBotAliasResponse putBotAlias(PutBotAliasRequest putBotAliasRequest) throws ConflictException, LimitExceededException, InternalFailureException, BadRequestException, PreconditionFailedException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutBotAliasResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutBotAlias").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putBotAliasRequest) .withMarshaller(new PutBotAliasRequestMarshaller(protocolFactory))); } /** *

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

* * @param putIntentRequest * @return Result of the PutIntent operation returned by the service. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws PreconditionFailedException * The checksum of the resource that you are trying to change does not match the checksum in the request. * Check the resource's checksum and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.PutIntent * @see AWS API * Documentation */ @Override public PutIntentResponse putIntent(PutIntentRequest putIntentRequest) throws ConflictException, LimitExceededException, InternalFailureException, BadRequestException, PreconditionFailedException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutIntentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutIntent").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putIntentRequest) .withMarshaller(new PutIntentRequestMarshaller(protocolFactory))); } /** *

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

* * @param putSlotTypeRequest * @return Result of the PutSlotType operation returned by the service. * @throws ConflictException * There was a conflict processing the request. Try your request again. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws PreconditionFailedException * The checksum of the resource that you are trying to change does not match the checksum in the request. * Check the resource's checksum and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.PutSlotType * @see AWS API * Documentation */ @Override public PutSlotTypeResponse putSlotType(PutSlotTypeRequest putSlotTypeRequest) throws ConflictException, LimitExceededException, InternalFailureException, BadRequestException, PreconditionFailedException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutSlotTypeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutSlotType").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putSlotTypeRequest) .withMarshaller(new PutSlotTypeRequestMarshaller(protocolFactory))); } /** *

* Starts a job to import a resource to Amazon Lex. *

* * @param startImportRequest * @return Result of the StartImport operation returned by the service. * @throws LimitExceededException * The request exceeded a limit. Try your request again. * @throws InternalFailureException * An internal Amazon Lex error occurred. Try your request again. * @throws BadRequestException * The request is not well formed. For example, a value is invalid or a required field is missing. Check the * field values, and try again. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws LexModelBuildingException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample LexModelBuildingClient.StartImport * @see AWS API * Documentation */ @Override public StartImportResponse startImport(StartImportRequest startImportRequest) throws LimitExceededException, InternalFailureException, BadRequestException, AwsServiceException, SdkClientException, LexModelBuildingException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StartImportResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StartImport").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(startImportRequest) .withMarshaller(new StartImportRequestMarshaller(protocolFactory))); } private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory, JsonOperationMetadata operationMetadata) { return protocolFactory.createErrorResponseHandler(operationMetadata); } private > T init(T builder) { return builder .clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(LexModelBuildingException::builder) .protocol(AwsJsonProtocol.REST_JSON) .protocolVersion("1.1") .registerModeledException( ExceptionMetadata.builder().errorCode("InternalFailureException") .exceptionBuilderSupplier(InternalFailureException::builder).httpStatusCode(500).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceInUseException") .exceptionBuilderSupplier(ResourceInUseException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("NotFoundException") .exceptionBuilderSupplier(NotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("LimitExceededException") .exceptionBuilderSupplier(LimitExceededException::builder).httpStatusCode(429).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ConflictException") .exceptionBuilderSupplier(ConflictException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PreconditionFailedException") .exceptionBuilderSupplier(PreconditionFailedException::builder).httpStatusCode(412).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("BadRequestException") .exceptionBuilderSupplier(BadRequestException::builder).httpStatusCode(400).build()); } @Override public void close() { clientHandler.close(); } private T applyPaginatorUserAgent(T request) { Consumer userAgentApplier = b -> b.addApiName(ApiName.builder() .version(VersionInfo.SDK_VERSION).name("PAGINATED").build()); AwsRequestOverrideConfiguration overrideConfiguration = request.overrideConfiguration() .map(c -> c.toBuilder().applyMutation(userAgentApplier).build()) .orElse((AwsRequestOverrideConfiguration.builder().applyMutation(userAgentApplier).build())); return (T) request.toBuilder().overrideConfiguration(overrideConfiguration).build(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy