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

software.amazon.awssdk.services.lambda.DefaultLambdaAsyncClient 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.lambda;

import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.AwsAsyncClientHandler;
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.AsyncClientHandler;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
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.lambda.model.AddLayerVersionPermissionRequest;
import software.amazon.awssdk.services.lambda.model.AddLayerVersionPermissionResponse;
import software.amazon.awssdk.services.lambda.model.AddPermissionRequest;
import software.amazon.awssdk.services.lambda.model.AddPermissionResponse;
import software.amazon.awssdk.services.lambda.model.CodeStorageExceededException;
import software.amazon.awssdk.services.lambda.model.CreateAliasRequest;
import software.amazon.awssdk.services.lambda.model.CreateAliasResponse;
import software.amazon.awssdk.services.lambda.model.CreateEventSourceMappingRequest;
import software.amazon.awssdk.services.lambda.model.CreateEventSourceMappingResponse;
import software.amazon.awssdk.services.lambda.model.CreateFunctionRequest;
import software.amazon.awssdk.services.lambda.model.CreateFunctionResponse;
import software.amazon.awssdk.services.lambda.model.DeleteAliasRequest;
import software.amazon.awssdk.services.lambda.model.DeleteAliasResponse;
import software.amazon.awssdk.services.lambda.model.DeleteEventSourceMappingRequest;
import software.amazon.awssdk.services.lambda.model.DeleteEventSourceMappingResponse;
import software.amazon.awssdk.services.lambda.model.DeleteFunctionConcurrencyRequest;
import software.amazon.awssdk.services.lambda.model.DeleteFunctionConcurrencyResponse;
import software.amazon.awssdk.services.lambda.model.DeleteFunctionEventInvokeConfigRequest;
import software.amazon.awssdk.services.lambda.model.DeleteFunctionEventInvokeConfigResponse;
import software.amazon.awssdk.services.lambda.model.DeleteFunctionRequest;
import software.amazon.awssdk.services.lambda.model.DeleteFunctionResponse;
import software.amazon.awssdk.services.lambda.model.DeleteLayerVersionRequest;
import software.amazon.awssdk.services.lambda.model.DeleteLayerVersionResponse;
import software.amazon.awssdk.services.lambda.model.DeleteProvisionedConcurrencyConfigRequest;
import software.amazon.awssdk.services.lambda.model.DeleteProvisionedConcurrencyConfigResponse;
import software.amazon.awssdk.services.lambda.model.Ec2AccessDeniedException;
import software.amazon.awssdk.services.lambda.model.Ec2ThrottledException;
import software.amazon.awssdk.services.lambda.model.Ec2UnexpectedException;
import software.amazon.awssdk.services.lambda.model.EniLimitReachedException;
import software.amazon.awssdk.services.lambda.model.GetAccountSettingsRequest;
import software.amazon.awssdk.services.lambda.model.GetAccountSettingsResponse;
import software.amazon.awssdk.services.lambda.model.GetAliasRequest;
import software.amazon.awssdk.services.lambda.model.GetAliasResponse;
import software.amazon.awssdk.services.lambda.model.GetEventSourceMappingRequest;
import software.amazon.awssdk.services.lambda.model.GetEventSourceMappingResponse;
import software.amazon.awssdk.services.lambda.model.GetFunctionConcurrencyRequest;
import software.amazon.awssdk.services.lambda.model.GetFunctionConcurrencyResponse;
import software.amazon.awssdk.services.lambda.model.GetFunctionConfigurationRequest;
import software.amazon.awssdk.services.lambda.model.GetFunctionConfigurationResponse;
import software.amazon.awssdk.services.lambda.model.GetFunctionEventInvokeConfigRequest;
import software.amazon.awssdk.services.lambda.model.GetFunctionEventInvokeConfigResponse;
import software.amazon.awssdk.services.lambda.model.GetFunctionRequest;
import software.amazon.awssdk.services.lambda.model.GetFunctionResponse;
import software.amazon.awssdk.services.lambda.model.GetLayerVersionByArnRequest;
import software.amazon.awssdk.services.lambda.model.GetLayerVersionByArnResponse;
import software.amazon.awssdk.services.lambda.model.GetLayerVersionPolicyRequest;
import software.amazon.awssdk.services.lambda.model.GetLayerVersionPolicyResponse;
import software.amazon.awssdk.services.lambda.model.GetLayerVersionRequest;
import software.amazon.awssdk.services.lambda.model.GetLayerVersionResponse;
import software.amazon.awssdk.services.lambda.model.GetPolicyRequest;
import software.amazon.awssdk.services.lambda.model.GetPolicyResponse;
import software.amazon.awssdk.services.lambda.model.GetProvisionedConcurrencyConfigRequest;
import software.amazon.awssdk.services.lambda.model.GetProvisionedConcurrencyConfigResponse;
import software.amazon.awssdk.services.lambda.model.InvalidParameterValueException;
import software.amazon.awssdk.services.lambda.model.InvalidRequestContentException;
import software.amazon.awssdk.services.lambda.model.InvalidRuntimeException;
import software.amazon.awssdk.services.lambda.model.InvalidSecurityGroupIdException;
import software.amazon.awssdk.services.lambda.model.InvalidSubnetIdException;
import software.amazon.awssdk.services.lambda.model.InvalidZipFileException;
import software.amazon.awssdk.services.lambda.model.InvokeRequest;
import software.amazon.awssdk.services.lambda.model.InvokeResponse;
import software.amazon.awssdk.services.lambda.model.KmsAccessDeniedException;
import software.amazon.awssdk.services.lambda.model.KmsDisabledException;
import software.amazon.awssdk.services.lambda.model.KmsInvalidStateException;
import software.amazon.awssdk.services.lambda.model.KmsNotFoundException;
import software.amazon.awssdk.services.lambda.model.LambdaException;
import software.amazon.awssdk.services.lambda.model.LambdaRequest;
import software.amazon.awssdk.services.lambda.model.ListAliasesRequest;
import software.amazon.awssdk.services.lambda.model.ListAliasesResponse;
import software.amazon.awssdk.services.lambda.model.ListEventSourceMappingsRequest;
import software.amazon.awssdk.services.lambda.model.ListEventSourceMappingsResponse;
import software.amazon.awssdk.services.lambda.model.ListFunctionEventInvokeConfigsRequest;
import software.amazon.awssdk.services.lambda.model.ListFunctionEventInvokeConfigsResponse;
import software.amazon.awssdk.services.lambda.model.ListFunctionsRequest;
import software.amazon.awssdk.services.lambda.model.ListFunctionsResponse;
import software.amazon.awssdk.services.lambda.model.ListLayerVersionsRequest;
import software.amazon.awssdk.services.lambda.model.ListLayerVersionsResponse;
import software.amazon.awssdk.services.lambda.model.ListLayersRequest;
import software.amazon.awssdk.services.lambda.model.ListLayersResponse;
import software.amazon.awssdk.services.lambda.model.ListProvisionedConcurrencyConfigsRequest;
import software.amazon.awssdk.services.lambda.model.ListProvisionedConcurrencyConfigsResponse;
import software.amazon.awssdk.services.lambda.model.ListTagsRequest;
import software.amazon.awssdk.services.lambda.model.ListTagsResponse;
import software.amazon.awssdk.services.lambda.model.ListVersionsByFunctionRequest;
import software.amazon.awssdk.services.lambda.model.ListVersionsByFunctionResponse;
import software.amazon.awssdk.services.lambda.model.PolicyLengthExceededException;
import software.amazon.awssdk.services.lambda.model.PreconditionFailedException;
import software.amazon.awssdk.services.lambda.model.ProvisionedConcurrencyConfigNotFoundException;
import software.amazon.awssdk.services.lambda.model.PublishLayerVersionRequest;
import software.amazon.awssdk.services.lambda.model.PublishLayerVersionResponse;
import software.amazon.awssdk.services.lambda.model.PublishVersionRequest;
import software.amazon.awssdk.services.lambda.model.PublishVersionResponse;
import software.amazon.awssdk.services.lambda.model.PutFunctionConcurrencyRequest;
import software.amazon.awssdk.services.lambda.model.PutFunctionConcurrencyResponse;
import software.amazon.awssdk.services.lambda.model.PutFunctionEventInvokeConfigRequest;
import software.amazon.awssdk.services.lambda.model.PutFunctionEventInvokeConfigResponse;
import software.amazon.awssdk.services.lambda.model.PutProvisionedConcurrencyConfigRequest;
import software.amazon.awssdk.services.lambda.model.PutProvisionedConcurrencyConfigResponse;
import software.amazon.awssdk.services.lambda.model.RemoveLayerVersionPermissionRequest;
import software.amazon.awssdk.services.lambda.model.RemoveLayerVersionPermissionResponse;
import software.amazon.awssdk.services.lambda.model.RemovePermissionRequest;
import software.amazon.awssdk.services.lambda.model.RemovePermissionResponse;
import software.amazon.awssdk.services.lambda.model.RequestTooLargeException;
import software.amazon.awssdk.services.lambda.model.ResourceConflictException;
import software.amazon.awssdk.services.lambda.model.ResourceInUseException;
import software.amazon.awssdk.services.lambda.model.ResourceNotFoundException;
import software.amazon.awssdk.services.lambda.model.ResourceNotReadyException;
import software.amazon.awssdk.services.lambda.model.ServiceException;
import software.amazon.awssdk.services.lambda.model.SubnetIpAddressLimitReachedException;
import software.amazon.awssdk.services.lambda.model.TagResourceRequest;
import software.amazon.awssdk.services.lambda.model.TagResourceResponse;
import software.amazon.awssdk.services.lambda.model.TooManyRequestsException;
import software.amazon.awssdk.services.lambda.model.UnsupportedMediaTypeException;
import software.amazon.awssdk.services.lambda.model.UntagResourceRequest;
import software.amazon.awssdk.services.lambda.model.UntagResourceResponse;
import software.amazon.awssdk.services.lambda.model.UpdateAliasRequest;
import software.amazon.awssdk.services.lambda.model.UpdateAliasResponse;
import software.amazon.awssdk.services.lambda.model.UpdateEventSourceMappingRequest;
import software.amazon.awssdk.services.lambda.model.UpdateEventSourceMappingResponse;
import software.amazon.awssdk.services.lambda.model.UpdateFunctionCodeRequest;
import software.amazon.awssdk.services.lambda.model.UpdateFunctionCodeResponse;
import software.amazon.awssdk.services.lambda.model.UpdateFunctionConfigurationRequest;
import software.amazon.awssdk.services.lambda.model.UpdateFunctionConfigurationResponse;
import software.amazon.awssdk.services.lambda.model.UpdateFunctionEventInvokeConfigRequest;
import software.amazon.awssdk.services.lambda.model.UpdateFunctionEventInvokeConfigResponse;
import software.amazon.awssdk.services.lambda.paginators.ListAliasesPublisher;
import software.amazon.awssdk.services.lambda.paginators.ListEventSourceMappingsPublisher;
import software.amazon.awssdk.services.lambda.paginators.ListFunctionEventInvokeConfigsPublisher;
import software.amazon.awssdk.services.lambda.paginators.ListFunctionsPublisher;
import software.amazon.awssdk.services.lambda.paginators.ListLayerVersionsPublisher;
import software.amazon.awssdk.services.lambda.paginators.ListLayersPublisher;
import software.amazon.awssdk.services.lambda.paginators.ListProvisionedConcurrencyConfigsPublisher;
import software.amazon.awssdk.services.lambda.paginators.ListVersionsByFunctionPublisher;
import software.amazon.awssdk.services.lambda.transform.AddLayerVersionPermissionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.AddPermissionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.CreateAliasRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.CreateEventSourceMappingRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.CreateFunctionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.DeleteAliasRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.DeleteEventSourceMappingRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.DeleteFunctionConcurrencyRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.DeleteFunctionEventInvokeConfigRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.DeleteFunctionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.DeleteLayerVersionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.DeleteProvisionedConcurrencyConfigRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetAccountSettingsRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetAliasRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetEventSourceMappingRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetFunctionConcurrencyRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetFunctionConfigurationRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetFunctionEventInvokeConfigRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetFunctionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetLayerVersionByArnRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetLayerVersionPolicyRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetLayerVersionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetPolicyRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.GetProvisionedConcurrencyConfigRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.InvokeRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.ListAliasesRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.ListEventSourceMappingsRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.ListFunctionEventInvokeConfigsRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.ListFunctionsRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.ListLayerVersionsRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.ListLayersRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.ListProvisionedConcurrencyConfigsRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.ListTagsRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.ListVersionsByFunctionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.PublishLayerVersionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.PublishVersionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.PutFunctionConcurrencyRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.PutFunctionEventInvokeConfigRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.PutProvisionedConcurrencyConfigRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.RemoveLayerVersionPermissionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.RemovePermissionRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.TagResourceRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.UntagResourceRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.UpdateAliasRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.UpdateEventSourceMappingRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.UpdateFunctionCodeRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.UpdateFunctionConfigurationRequestMarshaller;
import software.amazon.awssdk.services.lambda.transform.UpdateFunctionEventInvokeConfigRequestMarshaller;
import software.amazon.awssdk.utils.CompletableFutureUtils;

/**
 * Internal implementation of {@link LambdaAsyncClient}.
 *
 * @see LambdaAsyncClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultLambdaAsyncClient implements LambdaAsyncClient {
    private static final Logger log = LoggerFactory.getLogger(DefaultLambdaAsyncClient.class);

    private final AsyncClientHandler clientHandler;

    private final AwsJsonProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

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

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

    /**
     * 

* Adds permissions to the resource-based policy of a version of an AWS Lambda layer. Use this * action to grant layer usage permission to other accounts. You can grant permission to a single account, all AWS * accounts, or all accounts in an organization. *

*

* To revoke permission, call RemoveLayerVersionPermission with the statement ID that you specified when you * added it. *

* * @param addLayerVersionPermissionRequest * @return A Java Future containing the result of the AddLayerVersionPermission operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • PolicyLengthExceededException The permissions policy for the resource is too large. Learn more
  • *
  • PreconditionFailedException The RevisionId provided does not match the latest RevisionId for the * Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve * the latest RevisionId for your resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.AddLayerVersionPermission * @see AWS API Documentation */ @Override public CompletableFuture addLayerVersionPermission( AddLayerVersionPermissionRequest addLayerVersionPermissionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AddLayerVersionPermissionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AddLayerVersionPermission") .withMarshaller(new AddLayerVersionPermissionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(addLayerVersionPermissionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Grants an AWS service or another account permission to use a function. You can apply the policy at the function * level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the * invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function. *

*

* To grant permission to another account, specify the account ID as the Principal. For AWS services, * the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or * sns.amazonaws.com. For AWS services, you can also specify the ARN or owning account of the * associated resource as the SourceArn or SourceAccount. If you grant permission to a * service principal without specifying the source, other accounts could potentially configure resources in their * account to invoke your Lambda function. *

*

* This action adds a statement to a resource-based permissions policy for the function. For more information about * function policies, see Lambda Function * Policies. *

* * @param addPermissionRequest * @return A Java Future containing the result of the AddPermission operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • PolicyLengthExceededException The permissions policy for the resource is too large. Learn more
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • PreconditionFailedException The RevisionId provided does not match the latest RevisionId for the * Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve * the latest RevisionId for your resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.AddPermission * @see AWS API * Documentation */ @Override public CompletableFuture addPermission(AddPermissionRequest addPermissionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, AddPermissionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AddPermission") .withMarshaller(new AddPermissionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(addPermissionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates an alias for a Lambda * function version. Use aliases to provide clients with a function identifier that you can update to invoke a * different version. *

*

* You can also map an alias to split invocation requests between two versions. Use the RoutingConfig * parameter to specify a second version and the percentage of invocation requests that it receives. *

* * @param createAliasRequest * @return A Java Future containing the result of the CreateAlias operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.CreateAlias * @see AWS API * Documentation */ @Override public CompletableFuture createAlias(CreateAliasRequest createAliasRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateAliasResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateAlias").withMarshaller(new CreateAliasRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createAliasRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source * and triggers the function. *

*

* For details about each event source type, see the following topics. *

* *

* The following error handling options are only available for stream sources (DynamoDB and Kinesis): *

*
    *
  • *

    * BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry. *

    *
  • *
  • *

    * DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic. *

    *
  • *
  • *

    * MaximumRecordAgeInSeconds - Discard records older than the specified age. *

    *
  • *
  • *

    * MaximumRetryAttempts - Discard records after the specified number of retries. *

    *
  • *
* * @param createEventSourceMappingRequest * @return A Java Future containing the result of the CreateEventSourceMapping operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.CreateEventSourceMapping * @see AWS API Documentation */ @Override public CompletableFuture createEventSourceMapping( CreateEventSourceMappingRequest createEventSourceMappingRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateEventSourceMappingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateEventSourceMapping") .withMarshaller(new CreateEventSourceMappingRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createEventSourceMappingRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a Lambda function. To create a function, you need a deployment package and an * execution role. The deployment package contains your function code. The execution role grants the function * permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request * tracing. *

*

* When you create a function, Lambda provisions an instance of the function and its supporting resources. If your * function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify * the function. The State, StateReason, and StateReasonCode fields in the * response from GetFunctionConfiguration indicate when the function is ready to invoke. For more * information, see Function * States. *

*

* A function has an unpublished version, and can have published versions and aliases. The unpublished version * changes when you update your function's code and configuration. A published version is a snapshot of your * function code and configuration that can't be changed. An alias is a named resource that maps to a version, and * can be changed to map to a different version. Use the Publish parameter to create version * 1 of your function from its initial configuration. *

*

* The other parameters let you configure version-specific and function-level settings. You can modify * version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both * the unpublished and published versions of the function, and include tags (TagResource) and per-function * concurrency limits (PutFunctionConcurrency). *

*

* If another account or an AWS service invokes your function, use AddPermission to grant permission by * creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an * alias. *

*

* To invoke your function directly, use Invoke. To invoke your function in response to events in other AWS * services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in * the other service. For more information, see Invoking Functions. *

* * @param createFunctionRequest * @return A Java Future containing the result of the CreateFunction operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • CodeStorageExceededException You have exceeded your maximum total code size per account. Learn more
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.CreateFunction * @see AWS API * Documentation */ @Override public CompletableFuture createFunction(CreateFunctionRequest createFunctionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateFunction") .withMarshaller(new CreateFunctionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createFunctionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a Lambda function alias. *

* * @param deleteAliasRequest * @return A Java Future containing the result of the DeleteAlias operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.DeleteAlias * @see AWS API * Documentation */ @Override public CompletableFuture deleteAlias(DeleteAliasRequest deleteAliasRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteAliasResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteAlias").withMarshaller(new DeleteAliasRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteAliasRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an event source * mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings. *

*

* When you delete an event source mapping, it enters a Deleting state and might not be completely * deleted for several seconds. *

* * @param deleteEventSourceMappingRequest * @return A Java Future containing the result of the DeleteEventSourceMapping operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ResourceInUseException The operation conflicts with the resource's availability. For example, you * attempted to update an EventSource Mapping in CREATING, or tried to delete a EventSource mapping * currently in the UPDATING state.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.DeleteEventSourceMapping * @see AWS API Documentation */ @Override public CompletableFuture deleteEventSourceMapping( DeleteEventSourceMappingRequest deleteEventSourceMappingRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteEventSourceMappingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteEventSourceMapping") .withMarshaller(new DeleteEventSourceMappingRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteEventSourceMappingRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. * Otherwise, all versions and aliases are deleted. *

*

* To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For AWS * services and resources that invoke your function directly, delete the trigger in the service where you originally * configured it. *

* * @param deleteFunctionRequest * @return A Java Future containing the result of the DeleteFunction operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.DeleteFunction * @see AWS API * Documentation */ @Override public CompletableFuture deleteFunction(DeleteFunctionRequest deleteFunctionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteFunction") .withMarshaller(new DeleteFunctionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteFunctionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes a concurrent execution limit from a function. *

* * @param deleteFunctionConcurrencyRequest * @return A Java Future containing the result of the DeleteFunctionConcurrency operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.DeleteFunctionConcurrency * @see AWS API Documentation */ @Override public CompletableFuture deleteFunctionConcurrency( DeleteFunctionConcurrencyRequest deleteFunctionConcurrencyRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteFunctionConcurrencyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteFunctionConcurrency") .withMarshaller(new DeleteFunctionConcurrencyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteFunctionConcurrencyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the configuration for asynchronous invocation for a function, version, or alias. *

*

* To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. *

* * @param deleteFunctionEventInvokeConfigRequest * @return A Java Future containing the result of the DeleteFunctionEventInvokeConfig operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.DeleteFunctionEventInvokeConfig * @see AWS API Documentation */ @Override public CompletableFuture deleteFunctionEventInvokeConfig( DeleteFunctionEventInvokeConfigRequest deleteFunctionEventInvokeConfigRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteFunctionEventInvokeConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteFunctionEventInvokeConfig") .withMarshaller(new DeleteFunctionEventInvokeConfigRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteFunctionEventInvokeConfigRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a version of an AWS * Lambda layer. Deleted versions can no longer be viewed or added to functions. To avoid breaking functions, a * copy of the version remains in Lambda until no functions refer to it. *

* * @param deleteLayerVersionRequest * @return A Java Future containing the result of the DeleteLayerVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.DeleteLayerVersion * @see AWS API * Documentation */ @Override public CompletableFuture deleteLayerVersion(DeleteLayerVersionRequest deleteLayerVersionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteLayerVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteLayerVersion") .withMarshaller(new DeleteLayerVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteLayerVersionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the provisioned concurrency configuration for a function. *

* * @param deleteProvisionedConcurrencyConfigRequest * @return A Java Future containing the result of the DeleteProvisionedConcurrencyConfig operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.DeleteProvisionedConcurrencyConfig * @see AWS API Documentation */ @Override public CompletableFuture deleteProvisionedConcurrencyConfig( DeleteProvisionedConcurrencyConfigRequest deleteProvisionedConcurrencyConfigRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, DeleteProvisionedConcurrencyConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteProvisionedConcurrencyConfig") .withMarshaller(new DeleteProvisionedConcurrencyConfigRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteProvisionedConcurrencyConfigRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves details about your account's limits and usage in an AWS Region. *

* * @param getAccountSettingsRequest * @return A Java Future containing the result of the GetAccountSettings operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetAccountSettings * @see AWS API * Documentation */ @Override public CompletableFuture getAccountSettings(GetAccountSettingsRequest getAccountSettingsRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetAccountSettingsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetAccountSettings") .withMarshaller(new GetAccountSettingsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getAccountSettingsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns details about a Lambda function alias. *

* * @param getAliasRequest * @return A Java Future containing the result of the GetAlias operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetAlias * @see AWS API * Documentation */ @Override public CompletableFuture getAlias(GetAliasRequest getAliasRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetAliasResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetAlias") .withMarshaller(new GetAliasRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getAliasRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns details about an event source mapping. You can get the identifier of a mapping from the output of * ListEventSourceMappings. *

* * @param getEventSourceMappingRequest * @return A Java Future containing the result of the GetEventSourceMapping operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetEventSourceMapping * @see AWS * API Documentation */ @Override public CompletableFuture getEventSourceMapping( GetEventSourceMappingRequest getEventSourceMappingRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetEventSourceMappingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetEventSourceMapping") .withMarshaller(new GetEventSourceMappingRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getEventSourceMappingRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about the function or function version, with a link to download the deployment package that's * valid for 10 minutes. If you specify a function version, only details that are specific to that version are * returned. *

* * @param getFunctionRequest * @return A Java Future containing the result of the GetFunction operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetFunction * @see AWS API * Documentation */ @Override public CompletableFuture getFunction(GetFunctionRequest getFunctionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetFunction").withMarshaller(new GetFunctionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getFunctionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns details about the concurrency configuration for a function. To set a concurrency limit for a function, * use PutFunctionConcurrency. *

* * @param getFunctionConcurrencyRequest * @return A Java Future containing the result of the GetFunctionConcurrency operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetFunctionConcurrency * @see AWS * API Documentation */ @Override public CompletableFuture getFunctionConcurrency( GetFunctionConcurrencyRequest getFunctionConcurrencyRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetFunctionConcurrencyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetFunctionConcurrency") .withMarshaller(new GetFunctionConcurrencyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getFunctionConcurrencyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the version-specific settings of a Lambda function or version. The output includes only options that can * vary between versions of a function. To modify these settings, use UpdateFunctionConfiguration. *

*

* To get all of a function's details, including function-level settings, use GetFunction. *

* * @param getFunctionConfigurationRequest * @return A Java Future containing the result of the GetFunctionConfiguration operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetFunctionConfiguration * @see AWS API Documentation */ @Override public CompletableFuture getFunctionConfiguration( GetFunctionConfigurationRequest getFunctionConfigurationRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetFunctionConfigurationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetFunctionConfiguration") .withMarshaller(new GetFunctionConfigurationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getFunctionConfigurationRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the configuration for asynchronous invocation for a function, version, or alias. *

*

* To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. *

* * @param getFunctionEventInvokeConfigRequest * @return A Java Future containing the result of the GetFunctionEventInvokeConfig operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetFunctionEventInvokeConfig * @see AWS API Documentation */ @Override public CompletableFuture getFunctionEventInvokeConfig( GetFunctionEventInvokeConfigRequest getFunctionEventInvokeConfigRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetFunctionEventInvokeConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetFunctionEventInvokeConfig") .withMarshaller(new GetFunctionEventInvokeConfigRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getFunctionEventInvokeConfigRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about a version of an AWS Lambda layer, with a link * to download the layer archive that's valid for 10 minutes. *

* * @param getLayerVersionRequest * @return A Java Future containing the result of the GetLayerVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetLayerVersion * @see AWS API * Documentation */ @Override public CompletableFuture getLayerVersion(GetLayerVersionRequest getLayerVersionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetLayerVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetLayerVersion") .withMarshaller(new GetLayerVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getLayerVersionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about a version of an AWS Lambda layer, with a link * to download the layer archive that's valid for 10 minutes. *

* * @param getLayerVersionByArnRequest * @return A Java Future containing the result of the GetLayerVersionByArn operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetLayerVersionByArn * @see AWS * API Documentation */ @Override public CompletableFuture getLayerVersionByArn( GetLayerVersionByArnRequest getLayerVersionByArnRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetLayerVersionByArnResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetLayerVersionByArn") .withMarshaller(new GetLayerVersionByArnRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getLayerVersionByArnRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the permission policy for a version of an AWS Lambda layer. For more * information, see AddLayerVersionPermission. *

* * @param getLayerVersionPolicyRequest * @return A Java Future containing the result of the GetLayerVersionPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetLayerVersionPolicy * @see AWS * API Documentation */ @Override public CompletableFuture getLayerVersionPolicy( GetLayerVersionPolicyRequest getLayerVersionPolicyRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetLayerVersionPolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetLayerVersionPolicy") .withMarshaller(new GetLayerVersionPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getLayerVersionPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns the resource-based IAM * policy for a function, version, or alias. *

* * @param getPolicyRequest * @return A Java Future containing the result of the GetPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetPolicy * @see AWS API * Documentation */ @Override public CompletableFuture getPolicy(GetPolicyRequest getPolicyRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetPolicyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetPolicy") .withMarshaller(new GetPolicyRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the provisioned concurrency configuration for a function's alias or version. *

* * @param getProvisionedConcurrencyConfigRequest * @return A Java Future containing the result of the GetProvisionedConcurrencyConfig operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ProvisionedConcurrencyConfigNotFoundException The specified configuration does not exist.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.GetProvisionedConcurrencyConfig * @see AWS API Documentation */ @Override public CompletableFuture getProvisionedConcurrencyConfig( GetProvisionedConcurrencyConfigRequest getProvisionedConcurrencyConfigRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetProvisionedConcurrencyConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetProvisionedConcurrencyConfig") .withMarshaller(new GetProvisionedConcurrencyConfigRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getProvisionedConcurrencyConfigRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or * asynchronously. To invoke a function asynchronously, set InvocationType to Event. *

*

* For synchronous invocation, * details about the function response, including errors, are included in the response body and headers. For either * invocation type, you can find more information in the execution log and trace. *

*

* When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, * event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, * Lambda executes the function up to two more times. For more information, see Retry Behavior. *

*

* For asynchronous invocation, * Lambda adds events to a queue before sending them to your function. If your function does not have enough * capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event * multiple times, even if no error occurs. To retain events that were not processed, configure your function with a * dead-letter queue. *

*

* The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that * prevent your function from executing, such as permissions errors, limit errors, or issues with your function's * code and configuration. For example, Lambda returns TooManyRequestsException if executing the * function would cause you to exceed a concurrency limit at either the account level ( * ConcurrentInvocationLimitExceeded) or function level ( * ReservedFunctionConcurrentInvocationLimitExceeded). *

*

* For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits * for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long * connections with timeout or keep-alive settings. *

*

* This operation requires permission for the lambda:InvokeFunction action. *

* * @param invokeRequest * @return A Java Future containing the result of the Invoke operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidRequestContentException The request body could not be parsed as JSON.
  • *
  • RequestTooLargeException The request payload exceeded the Invoke request body JSON input * limit. For more information, see Limits.
  • *
  • UnsupportedMediaTypeException The content type of the Invoke request body is not JSON.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • Ec2UnexpectedException AWS Lambda received an unexpected EC2 client exception while setting up for * the Lambda function.
  • *
  • SubnetIpAddressLimitReachedException AWS Lambda was not able to set up VPC access for the Lambda * function because one or more configured subnets has no available IP addresses.
  • *
  • EniLimitReachedException AWS Lambda was not able to create an elastic network interface in the VPC, * specified as part of Lambda function configuration, because the limit for network interfaces has been * reached.
  • *
  • Ec2ThrottledException AWS Lambda was throttled by Amazon EC2 during Lambda function initialization * using the execution role provided for the Lambda function.
  • *
  • Ec2AccessDeniedException Need additional permissions to configure VPC settings.
  • *
  • InvalidSubnetIdException The Subnet ID provided in the Lambda function VPC configuration is invalid.
  • *
  • InvalidSecurityGroupIdException The Security Group ID provided in the Lambda function VPC * configuration is invalid.
  • *
  • InvalidZipFileException AWS Lambda could not unzip the deployment package.
  • *
  • KmsDisabledException Lambda was unable to decrypt the environment variables because the KMS key used * is disabled. Check the Lambda function's KMS key settings.
  • *
  • KmsInvalidStateException Lambda was unable to decrypt the environment variables because the KMS key * used is in an invalid state for Decrypt. Check the function's KMS key settings.
  • *
  • KmsAccessDeniedException Lambda was unable to decrypt the environment variables because KMS access * was denied. Check the Lambda function's KMS permissions.
  • *
  • KmsNotFoundException Lambda was unable to decrypt the environment variables because the KMS key was * not found. Check the function's KMS key settings.
  • *
  • InvalidRuntimeException The runtime or runtime version specified is not supported.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • ResourceNotReadyException The function is inactive and its VPC connection is no longer available. * Wait for the VPC connection to reestablish and try again.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.Invoke * @see AWS API * Documentation */ @Override public CompletableFuture invoke(InvokeRequest invokeRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(false).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, InvokeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("Invoke") .withMarshaller(new InvokeRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(invokeRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of aliases for * a Lambda function. *

* * @param listAliasesRequest * @return A Java Future containing the result of the ListAliases operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListAliases * @see AWS API * Documentation */ @Override public CompletableFuture listAliases(ListAliasesRequest listAliasesRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListAliasesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListAliases").withMarshaller(new ListAliasesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listAliasesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of aliases for * a Lambda function. *

*
*

* This is a variant of {@link #listAliases(software.amazon.awssdk.services.lambda.model.ListAliasesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListAliasesPublisher publisher = client.listAliasesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListAliasesPublisher publisher = client.listAliasesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.lambda.model.ListAliasesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

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

* * @param listAliasesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListAliases * @see AWS API * Documentation */ public ListAliasesPublisher listAliasesPaginator(ListAliasesRequest listAliasesRequest) { return new ListAliasesPublisher(this, applyPaginatorUserAgent(listAliasesRequest)); } /** *

* Lists event source mappings. Specify an EventSourceArn to only show event source mappings for a * single event source. *

* * @param listEventSourceMappingsRequest * @return A Java Future containing the result of the ListEventSourceMappings operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListEventSourceMappings * @see AWS * API Documentation */ @Override public CompletableFuture listEventSourceMappings( ListEventSourceMappingsRequest listEventSourceMappingsRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListEventSourceMappingsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListEventSourceMappings") .withMarshaller(new ListEventSourceMappingsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listEventSourceMappingsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists event source mappings. Specify an EventSourceArn to only show event source mappings for a * single event source. *

*
*

* This is a variant of * {@link #listEventSourceMappings(software.amazon.awssdk.services.lambda.model.ListEventSourceMappingsRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListEventSourceMappingsPublisher publisher = client.listEventSourceMappingsPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListEventSourceMappingsPublisher publisher = client.listEventSourceMappingsPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.lambda.model.ListEventSourceMappingsResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

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

* * @param listEventSourceMappingsRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListEventSourceMappings * @see AWS * API Documentation */ public ListEventSourceMappingsPublisher listEventSourceMappingsPaginator( ListEventSourceMappingsRequest listEventSourceMappingsRequest) { return new ListEventSourceMappingsPublisher(this, applyPaginatorUserAgent(listEventSourceMappingsRequest)); } /** *

* Retrieves a list of configurations for asynchronous invocation for a function. *

*

* To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. *

* * @param listFunctionEventInvokeConfigsRequest * @return A Java Future containing the result of the ListFunctionEventInvokeConfigs operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListFunctionEventInvokeConfigs * @see AWS API Documentation */ @Override public CompletableFuture listFunctionEventInvokeConfigs( ListFunctionEventInvokeConfigsRequest listFunctionEventInvokeConfigsRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListFunctionEventInvokeConfigsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListFunctionEventInvokeConfigs") .withMarshaller(new ListFunctionEventInvokeConfigsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listFunctionEventInvokeConfigsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a list of configurations for asynchronous invocation for a function. *

*

* To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. *

*
*

* This is a variant of * {@link #listFunctionEventInvokeConfigs(software.amazon.awssdk.services.lambda.model.ListFunctionEventInvokeConfigsRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListFunctionEventInvokeConfigsPublisher publisher = client.listFunctionEventInvokeConfigsPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListFunctionEventInvokeConfigsPublisher publisher = client.listFunctionEventInvokeConfigsPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.lambda.model.ListFunctionEventInvokeConfigsResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

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

* * @param listFunctionEventInvokeConfigsRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListFunctionEventInvokeConfigs * @see AWS API Documentation */ public ListFunctionEventInvokeConfigsPublisher listFunctionEventInvokeConfigsPaginator( ListFunctionEventInvokeConfigsRequest listFunctionEventInvokeConfigsRequest) { return new ListFunctionEventInvokeConfigsPublisher(this, applyPaginatorUserAgent(listFunctionEventInvokeConfigsRequest)); } /** *

* Returns a list of Lambda functions, with the version-specific configuration of each. *

*

* Set FunctionVersion to ALL to include all published versions of each function in * addition to the unpublished version. To get more information about a function or version, use GetFunction. *

* * @param listFunctionsRequest * @return A Java Future containing the result of the ListFunctions operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListFunctions * @see AWS API * Documentation */ @Override public CompletableFuture listFunctions(ListFunctionsRequest listFunctionsRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListFunctionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListFunctions") .withMarshaller(new ListFunctionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listFunctionsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of Lambda functions, with the version-specific configuration of each. *

*

* Set FunctionVersion to ALL to include all published versions of each function in * addition to the unpublished version. To get more information about a function or version, use GetFunction. *

*
*

* This is a variant of {@link #listFunctions(software.amazon.awssdk.services.lambda.model.ListFunctionsRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListFunctionsPublisher publisher = client.listFunctionsPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListFunctionsPublisher publisher = client.listFunctionsPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.lambda.model.ListFunctionsResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

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

* * @param listFunctionsRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListFunctions * @see AWS API * Documentation */ public ListFunctionsPublisher listFunctionsPaginator(ListFunctionsRequest listFunctionsRequest) { return new ListFunctionsPublisher(this, applyPaginatorUserAgent(listFunctionsRequest)); } /** *

* Lists the versions of an AWS * Lambda layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only * versions that indicate that they're compatible with that runtime. *

* * @param listLayerVersionsRequest * @return A Java Future containing the result of the ListLayerVersions operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListLayerVersions * @see AWS API * Documentation */ @Override public CompletableFuture listLayerVersions(ListLayerVersionsRequest listLayerVersionsRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListLayerVersionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListLayerVersions") .withMarshaller(new ListLayerVersionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listLayerVersionsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the versions of an AWS * Lambda layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only * versions that indicate that they're compatible with that runtime. *

*
*

* This is a variant of * {@link #listLayerVersions(software.amazon.awssdk.services.lambda.model.ListLayerVersionsRequest)} operation. The * return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListLayerVersionsPublisher publisher = client.listLayerVersionsPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListLayerVersionsPublisher publisher = client.listLayerVersionsPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.lambda.model.ListLayerVersionsResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

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

* * @param listLayerVersionsRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListLayerVersions * @see AWS API * Documentation */ public ListLayerVersionsPublisher listLayerVersionsPaginator(ListLayerVersionsRequest listLayerVersionsRequest) { return new ListLayerVersionsPublisher(this, applyPaginatorUserAgent(listLayerVersionsRequest)); } /** *

* Lists AWS Lambda layers and * shows information about the latest version of each. Specify a runtime identifier to list only * layers that indicate that they're compatible with that runtime. *

* * @param listLayersRequest * @return A Java Future containing the result of the ListLayers operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListLayers * @see AWS API * Documentation */ @Override public CompletableFuture listLayers(ListLayersRequest listLayersRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListLayersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("ListLayers") .withMarshaller(new ListLayersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listLayersRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists AWS Lambda layers and * shows information about the latest version of each. Specify a runtime identifier to list only * layers that indicate that they're compatible with that runtime. *

*
*

* This is a variant of {@link #listLayers(software.amazon.awssdk.services.lambda.model.ListLayersRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListLayersPublisher publisher = client.listLayersPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListLayersPublisher publisher = client.listLayersPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.lambda.model.ListLayersResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

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

* * @param listLayersRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListLayers * @see AWS API * Documentation */ public ListLayersPublisher listLayersPaginator(ListLayersRequest listLayersRequest) { return new ListLayersPublisher(this, applyPaginatorUserAgent(listLayersRequest)); } /** *

* Retrieves a list of provisioned concurrency configurations for a function. *

* * @param listProvisionedConcurrencyConfigsRequest * @return A Java Future containing the result of the ListProvisionedConcurrencyConfigs operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListProvisionedConcurrencyConfigs * @see AWS API Documentation */ @Override public CompletableFuture listProvisionedConcurrencyConfigs( ListProvisionedConcurrencyConfigsRequest listProvisionedConcurrencyConfigsRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListProvisionedConcurrencyConfigsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListProvisionedConcurrencyConfigs") .withMarshaller(new ListProvisionedConcurrencyConfigsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listProvisionedConcurrencyConfigsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a list of provisioned concurrency configurations for a function. *

*
*

* This is a variant of * {@link #listProvisionedConcurrencyConfigs(software.amazon.awssdk.services.lambda.model.ListProvisionedConcurrencyConfigsRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListProvisionedConcurrencyConfigsPublisher publisher = client.listProvisionedConcurrencyConfigsPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListProvisionedConcurrencyConfigsPublisher publisher = client.listProvisionedConcurrencyConfigsPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.lambda.model.ListProvisionedConcurrencyConfigsResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

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

* * @param listProvisionedConcurrencyConfigsRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListProvisionedConcurrencyConfigs * @see AWS API Documentation */ public ListProvisionedConcurrencyConfigsPublisher listProvisionedConcurrencyConfigsPaginator( ListProvisionedConcurrencyConfigsRequest listProvisionedConcurrencyConfigsRequest) { return new ListProvisionedConcurrencyConfigsPublisher(this, applyPaginatorUserAgent(listProvisionedConcurrencyConfigsRequest)); } /** *

* Returns a function's tags. You can also * view tags with GetFunction. *

* * @param listTagsRequest * @return A Java Future containing the result of the ListTags operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListTags * @see AWS API * Documentation */ @Override public CompletableFuture listTags(ListTagsRequest listTagsRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListTagsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("ListTags") .withMarshaller(new ListTagsRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listTagsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of versions, * with the version-specific configuration of each. *

* * @param listVersionsByFunctionRequest * @return A Java Future containing the result of the ListVersionsByFunction operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListVersionsByFunction * @see AWS * API Documentation */ @Override public CompletableFuture listVersionsByFunction( ListVersionsByFunctionRequest listVersionsByFunctionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListVersionsByFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListVersionsByFunction") .withMarshaller(new ListVersionsByFunctionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listVersionsByFunctionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns a list of versions, * with the version-specific configuration of each. *

*
*

* This is a variant of * {@link #listVersionsByFunction(software.amazon.awssdk.services.lambda.model.ListVersionsByFunctionRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListVersionsByFunctionPublisher publisher = client.listVersionsByFunctionPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.lambda.paginators.ListVersionsByFunctionPublisher publisher = client.listVersionsByFunctionPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.lambda.model.ListVersionsByFunctionResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

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

* * @param listVersionsByFunctionRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.ListVersionsByFunction * @see AWS * API Documentation */ public ListVersionsByFunctionPublisher listVersionsByFunctionPaginator( ListVersionsByFunctionRequest listVersionsByFunctionRequest) { return new ListVersionsByFunctionPublisher(this, applyPaginatorUserAgent(listVersionsByFunctionRequest)); } /** *

* Creates an AWS Lambda layer * from a ZIP archive. Each time you call PublishLayerVersion with the same layer name, a new version * is created. *

*

* Add layers to your function with CreateFunction or UpdateFunctionConfiguration. *

* * @param publishLayerVersionRequest * @return A Java Future containing the result of the PublishLayerVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • CodeStorageExceededException You have exceeded your maximum total code size per account. Learn more
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.PublishLayerVersion * @see AWS API * Documentation */ @Override public CompletableFuture publishLayerVersion( PublishLayerVersionRequest publishLayerVersionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PublishLayerVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PublishLayerVersion") .withMarshaller(new PublishLayerVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(publishLayerVersionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a version from the * current code and configuration of a function. Use versions to create a snapshot of your function code and * configuration that doesn't change. *

*

* AWS Lambda doesn't publish a version if the function's configuration and code haven't changed since the last * version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the function before * publishing a version. *

*

* Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias. *

* * @param publishVersionRequest * @return A Java Future containing the result of the PublishVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • CodeStorageExceededException You have exceeded your maximum total code size per account. Learn more
  • *
  • PreconditionFailedException The RevisionId provided does not match the latest RevisionId for the * Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve * the latest RevisionId for your resource.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.PublishVersion * @see AWS API * Documentation */ @Override public CompletableFuture publishVersion(PublishVersionRequest publishVersionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PublishVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PublishVersion") .withMarshaller(new PublishVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(publishVersionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency * level. *

*

* Concurrency settings apply to the function as a whole, including all published versions and the unpublished * version. Reserving concurrency both ensures that your function has capacity to process the specified number of * events simultaneously, and prevents it from scaling beyond that level. Use GetFunction to see the current * setting for a function. *

*

* Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency for as many * functions as you like, as long as you leave at least 100 simultaneous executions unreserved for functions that * aren't configured with a per-function limit. For more information, see Managing Concurrency. *

* * @param putFunctionConcurrencyRequest * @return A Java Future containing the result of the PutFunctionConcurrency operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.PutFunctionConcurrency * @see AWS * API Documentation */ @Override public CompletableFuture putFunctionConcurrency( PutFunctionConcurrencyRequest putFunctionConcurrencyRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutFunctionConcurrencyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutFunctionConcurrency") .withMarshaller(new PutFunctionConcurrencyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(putFunctionConcurrencyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Configures options for asynchronous * invocation on a function, version, or alias. *

*

* By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains events * in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous * invocation queue for too long, Lambda discards it. To retain discarded events, configure a dead-letter queue with * UpdateFunctionConfiguration. *

* * @param putFunctionEventInvokeConfigRequest * @return A Java Future containing the result of the PutFunctionEventInvokeConfig operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.PutFunctionEventInvokeConfig * @see AWS API Documentation */ @Override public CompletableFuture putFunctionEventInvokeConfig( PutFunctionEventInvokeConfigRequest putFunctionEventInvokeConfigRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutFunctionEventInvokeConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutFunctionEventInvokeConfig") .withMarshaller(new PutFunctionEventInvokeConfigRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(putFunctionEventInvokeConfigRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds a provisioned concurrency configuration to a function's alias or version. *

* * @param putProvisionedConcurrencyConfigRequest * @return A Java Future containing the result of the PutProvisionedConcurrencyConfig operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.PutProvisionedConcurrencyConfig * @see AWS API Documentation */ @Override public CompletableFuture putProvisionedConcurrencyConfig( PutProvisionedConcurrencyConfigRequest putProvisionedConcurrencyConfigRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutProvisionedConcurrencyConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutProvisionedConcurrencyConfig") .withMarshaller(new PutProvisionedConcurrencyConfigRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(putProvisionedConcurrencyConfigRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes a statement from the permissions policy for a version of an AWS Lambda layer. For more * information, see AddLayerVersionPermission. *

* * @param removeLayerVersionPermissionRequest * @return A Java Future containing the result of the RemoveLayerVersionPermission operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • PreconditionFailedException The RevisionId provided does not match the latest RevisionId for the * Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve * the latest RevisionId for your resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.RemoveLayerVersionPermission * @see AWS API Documentation */ @Override public CompletableFuture removeLayerVersionPermission( RemoveLayerVersionPermissionRequest removeLayerVersionPermissionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, RemoveLayerVersionPermissionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveLayerVersionPermission") .withMarshaller(new RemoveLayerVersionPermissionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(removeLayerVersionPermissionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Revokes function-use permission from an AWS service or another account. You can get the ID of the statement from * the output of GetPolicy. *

* * @param removePermissionRequest * @return A Java Future containing the result of the RemovePermission operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • PreconditionFailedException The RevisionId provided does not match the latest RevisionId for the * Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve * the latest RevisionId for your resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.RemovePermission * @see AWS API * Documentation */ @Override public CompletableFuture removePermission(RemovePermissionRequest removePermissionRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, RemovePermissionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemovePermission") .withMarshaller(new RemovePermissionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(removePermissionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds tags to a function. *

* * @param tagResourceRequest * @return A Java Future containing the result of the TagResource operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.TagResource * @see AWS API * Documentation */ @Override public CompletableFuture tagResource(TagResourceRequest tagResourceRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("TagResource").withMarshaller(new TagResourceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(tagResourceRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes tags from a function. *

* * @param untagResourceRequest * @return A Java Future containing the result of the UntagResource operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.UntagResource * @see AWS API * Documentation */ @Override public CompletableFuture untagResource(UntagResourceRequest untagResourceRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UntagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UntagResource") .withMarshaller(new UntagResourceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(untagResourceRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the configuration of a Lambda function alias. *

* * @param updateAliasRequest * @return A Java Future containing the result of the UpdateAlias operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • PreconditionFailedException The RevisionId provided does not match the latest RevisionId for the * Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve * the latest RevisionId for your resource.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.UpdateAlias * @see AWS API * Documentation */ @Override public CompletableFuture updateAlias(UpdateAliasRequest updateAliasRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateAliasResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateAlias").withMarshaller(new UpdateAliasRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateAliasRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates an event source mapping. You can change the function that AWS Lambda invokes, or pause invocation and * resume later from the same location. *

*

* The following error handling options are only available for stream sources (DynamoDB and Kinesis): *

*
    *
  • *

    * BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry. *

    *
  • *
  • *

    * DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic. *

    *
  • *
  • *

    * MaximumRecordAgeInSeconds - Discard records older than the specified age. *

    *
  • *
  • *

    * MaximumRetryAttempts - Discard records after the specified number of retries. *

    *
  • *
* * @param updateEventSourceMappingRequest * @return A Java Future containing the result of the UpdateEventSourceMapping operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • ResourceInUseException The operation conflicts with the resource's availability. For example, you * attempted to update an EventSource Mapping in CREATING, or tried to delete a EventSource mapping * currently in the UPDATING state.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.UpdateEventSourceMapping * @see AWS API Documentation */ @Override public CompletableFuture updateEventSourceMapping( UpdateEventSourceMappingRequest updateEventSourceMappingRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateEventSourceMappingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateEventSourceMapping") .withMarshaller(new UpdateEventSourceMappingRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateEventSourceMappingRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates a Lambda function's code. *

*

* The function's code is locked when you publish a version. You can't modify the code of a published version, only * the unpublished version. *

* * @param updateFunctionCodeRequest * @return A Java Future containing the result of the UpdateFunctionCode operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • CodeStorageExceededException You have exceeded your maximum total code size per account. Learn more
  • *
  • PreconditionFailedException The RevisionId provided does not match the latest RevisionId for the * Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve * the latest RevisionId for your resource.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.UpdateFunctionCode * @see AWS API * Documentation */ @Override public CompletableFuture updateFunctionCode(UpdateFunctionCodeRequest updateFunctionCodeRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateFunctionCodeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateFunctionCode") .withMarshaller(new UpdateFunctionCodeRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateFunctionCodeRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Modify the version-specific settings of a Lambda function. *

*

* When you update a function, Lambda provisions an instance of the function and its supporting resources. If your * function connects to a VPC, this process can take a minute. During this time, you can't modify the function, but * you can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and * LastUpdateStatusReasonCode fields in the response from GetFunctionConfiguration indicate when * the update is complete and the function is processing events with the new configuration. For more information, * see Function States. *

*

* These settings can vary between versions of a function and are locked when you publish a version. You can't * modify the configuration of a published version, only the unpublished version. *

*

* To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an account * or AWS service, use AddPermission. *

* * @param updateFunctionConfigurationRequest * @return A Java Future containing the result of the UpdateFunctionConfiguration operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • ResourceConflictException The resource already exists, or another operation is in progress.
  • *
  • PreconditionFailedException The RevisionId provided does not match the latest RevisionId for the * Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve * the latest RevisionId for your resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.UpdateFunctionConfiguration * @see AWS API Documentation */ @Override public CompletableFuture updateFunctionConfiguration( UpdateFunctionConfigurationRequest updateFunctionConfigurationRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateFunctionConfigurationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateFunctionConfiguration") .withMarshaller(new UpdateFunctionConfigurationRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateFunctionConfigurationRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the configuration for asynchronous invocation for a function, version, or alias. *

*

* To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. *

* * @param updateFunctionEventInvokeConfigRequest * @return A Java Future containing the result of the UpdateFunctionEventInvokeConfig operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceException The AWS Lambda service encountered an internal error.
  • *
  • ResourceNotFoundException The resource specified in the request does not exist.
  • *
  • InvalidParameterValueException One of the parameters in the request is invalid.
  • *
  • TooManyRequestsException The request throughput limit was exceeded.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • LambdaException Base class for all service exceptions. Unknown exceptions will be thrown as an * instance of this type.
  • *
* @sample LambdaAsyncClient.UpdateFunctionEventInvokeConfig * @see AWS API Documentation */ @Override public CompletableFuture updateFunctionEventInvokeConfig( UpdateFunctionEventInvokeConfigRequest updateFunctionEventInvokeConfigRequest) { try { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateFunctionEventInvokeConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateFunctionEventInvokeConfig") .withMarshaller(new UpdateFunctionEventInvokeConfigRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateFunctionEventInvokeConfigRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } @Override public void close() { clientHandler.close(); } private > T init(T builder) { return builder .clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(LambdaException::builder) .protocol(AwsJsonProtocol.REST_JSON) .protocolVersion("1.1") .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidParameterValueException") .exceptionBuilderSupplier(InvalidParameterValueException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EC2AccessDeniedException") .exceptionBuilderSupplier(Ec2AccessDeniedException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceInUseException") .exceptionBuilderSupplier(ResourceInUseException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNotReadyException") .exceptionBuilderSupplier(ResourceNotReadyException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("KMSInvalidStateException") .exceptionBuilderSupplier(KmsInvalidStateException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("KMSNotFoundException") .exceptionBuilderSupplier(KmsNotFoundException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyLengthExceededException") .exceptionBuilderSupplier(PolicyLengthExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ServiceException") .exceptionBuilderSupplier(ServiceException::builder).httpStatusCode(500).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SubnetIPAddressLimitReachedException") .exceptionBuilderSupplier(SubnetIpAddressLimitReachedException::builder).httpStatusCode(502) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidZipFileException") .exceptionBuilderSupplier(InvalidZipFileException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidRequestContentException") .exceptionBuilderSupplier(InvalidRequestContentException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidRuntimeException") .exceptionBuilderSupplier(InvalidRuntimeException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ProvisionedConcurrencyConfigNotFoundException") .exceptionBuilderSupplier(ProvisionedConcurrencyConfigNotFoundException::builder) .httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ENILimitReachedException") .exceptionBuilderSupplier(EniLimitReachedException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNotFoundException") .exceptionBuilderSupplier(ResourceNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidSubnetIDException") .exceptionBuilderSupplier(InvalidSubnetIdException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceConflictException") .exceptionBuilderSupplier(ResourceConflictException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CodeStorageExceededException") .exceptionBuilderSupplier(CodeStorageExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidSecurityGroupIDException") .exceptionBuilderSupplier(InvalidSecurityGroupIdException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EC2ThrottledException") .exceptionBuilderSupplier(Ec2ThrottledException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("KMSAccessDeniedException") .exceptionBuilderSupplier(KmsAccessDeniedException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("KMSDisabledException") .exceptionBuilderSupplier(KmsDisabledException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PreconditionFailedException") .exceptionBuilderSupplier(PreconditionFailedException::builder).httpStatusCode(412).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EC2UnexpectedException") .exceptionBuilderSupplier(Ec2UnexpectedException::builder).httpStatusCode(502).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("RequestTooLargeException") .exceptionBuilderSupplier(RequestTooLargeException::builder).httpStatusCode(413).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TooManyRequestsException") .exceptionBuilderSupplier(TooManyRequestsException::builder).httpStatusCode(429).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("UnsupportedMediaTypeException") .exceptionBuilderSupplier(UnsupportedMediaTypeException::builder).httpStatusCode(415).build()); } 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(); } private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory, JsonOperationMetadata operationMetadata) { return protocolFactory.createErrorResponseHandler(operationMetadata); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy