/*
* Copyright 2012-2017 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 com.amazonaws.services.lambda;
import javax.annotation.Generated;
import com.amazonaws.services.lambda.model.*;
/**
* Interface for accessing AWS Lambda asynchronously. Each asynchronous method will return a Java Future object
* representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive
* notification when an asynchronous operation completes.
* <p>
* <b>Note:</b> Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.lambda.AbstractAWSLambdaAsync} instead.
* </p>
* <p>
* <fullname>AWS Lambda</fullname>
* <p>
* <b>Overview</b>
* </p>
* <p>
* This is the <i>AWS Lambda API Reference</i>. The AWS Lambda Developer Guide provides additional information. For the
* service overview, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/welcome.html">What is AWS Lambda</a>, and
* for information about how the service works, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html">AWS Lambda: How it Works</a> in the
* <i>AWS Lambda Developer Guide</i>.
* </p>
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSLambdaAsync extends AWSLambda {
/**
* <p>
* Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource
* policies to grant permissions to event sources that use <i>push</i> model. In a <i>push</i> model, event sources
* (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource
* policy allows an event source, permission to invoke the Lambda function.
* </p>
* <p>
* For information about the push model, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html">AWS Lambda: How it Works</a>.
* </p>
* <p>
* If you are using versioning, the permissions you add are specific to the Lambda function version or alias you
* specify in the <code>AddPermission</code> request via the <code>Qualifier</code> parameter. For more information
* about versioning, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda
* Function Versioning and Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:AddPermission</code> action.
* </p>
*
* @param addPermissionRequest
* @return A Java Future containing the result of the AddPermission operation returned by the service.
* @sample AWSLambdaAsync.AddPermission
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermission" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<AddPermissionResult> addPermissionAsync(AddPermissionRequest addPermissionRequest);
/**
* <p>
* Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource
* policies to grant permissions to event sources that use <i>push</i> model. In a <i>push</i> model, event sources
* (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource
* policy allows an event source, permission to invoke the Lambda function.
* </p>
* <p>
* For information about the push model, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html">AWS Lambda: How it Works</a>.
* </p>
* <p>
* If you are using versioning, the permissions you add are specific to the Lambda function version or alias you
* specify in the <code>AddPermission</code> request via the <code>Qualifier</code> parameter. For more information
* about versioning, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda
* Function Versioning and Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:AddPermission</code> action.
* </p>
*
* @param addPermissionRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the AddPermission operation returned by the service.
* @sample AWSLambdaAsyncHandler.AddPermission
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermission" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<AddPermissionResult> addPermissionAsync(AddPermissionRequest addPermissionRequest,
com.amazonaws.handlers.AsyncHandler<AddPermissionRequest, AddPermissionResult> asyncHandler);
/**
* <p>
* Creates an alias that points to the specified Lambda function version. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS Lambda Aliases</a>.
* </p>
* <p>
* Alias names are unique for a given function. This requires permission for the lambda:CreateAlias action.
* </p>
*
* @param createAliasRequest
* @return A Java Future containing the result of the CreateAlias operation returned by the service.
* @sample AWSLambdaAsync.CreateAlias
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<CreateAliasResult> createAliasAsync(CreateAliasRequest createAliasRequest);
/**
* <p>
* Creates an alias that points to the specified Lambda function version. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS Lambda Aliases</a>.
* </p>
* <p>
* Alias names are unique for a given function. This requires permission for the lambda:CreateAlias action.
* </p>
*
* @param createAliasRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the CreateAlias operation returned by the service.
* @sample AWSLambdaAsyncHandler.CreateAlias
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<CreateAliasResult> createAliasAsync(CreateAliasRequest createAliasRequest,
com.amazonaws.handlers.AsyncHandler<CreateAliasRequest, CreateAliasResult> asyncHandler);
/**
* <p>
* Identifies a stream as an event source for a Lambda function. It can be either an Amazon Kinesis stream or an
* Amazon DynamoDB stream. AWS Lambda invokes the specified function when records are posted to the stream.
* </p>
* <p>
* This association between a stream source and a Lambda function is called the event source mapping.
* </p>
* <important>
* <p>
* This event source mapping is relevant only in the AWS Lambda pull model, where AWS Lambda invokes the function.
* For more information, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html">AWS
* Lambda: How it Works</a> in the <i>AWS Lambda Developer Guide</i>.
* </p>
* </important>
* <p>
* You provide mapping information (for example, which stream to read from and which Lambda function to invoke) in
* the request body.
* </p>
* <p>
* Each event source, such as an Amazon Kinesis or a DynamoDB stream, can be associated with multiple AWS Lambda
* function. A given Lambda function can be associated with multiple AWS event sources.
* </p>
* <p>
* If you are using versioning, you can specify a specific function version or an alias via the function name
* parameter. For more information about versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:CreateEventSourceMapping</code> action.
* </p>
*
* @param createEventSourceMappingRequest
* @return A Java Future containing the result of the CreateEventSourceMapping operation returned by the service.
* @sample AWSLambdaAsync.CreateEventSourceMapping
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<CreateEventSourceMappingResult> createEventSourceMappingAsync(CreateEventSourceMappingRequest createEventSourceMappingRequest);
/**
* <p>
* Identifies a stream as an event source for a Lambda function. It can be either an Amazon Kinesis stream or an
* Amazon DynamoDB stream. AWS Lambda invokes the specified function when records are posted to the stream.
* </p>
* <p>
* This association between a stream source and a Lambda function is called the event source mapping.
* </p>
* <important>
* <p>
* This event source mapping is relevant only in the AWS Lambda pull model, where AWS Lambda invokes the function.
* For more information, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html">AWS
* Lambda: How it Works</a> in the <i>AWS Lambda Developer Guide</i>.
* </p>
* </important>
* <p>
* You provide mapping information (for example, which stream to read from and which Lambda function to invoke) in
* the request body.
* </p>
* <p>
* Each event source, such as an Amazon Kinesis or a DynamoDB stream, can be associated with multiple AWS Lambda
* function. A given Lambda function can be associated with multiple AWS event sources.
* </p>
* <p>
* If you are using versioning, you can specify a specific function version or an alias via the function name
* parameter. For more information about versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:CreateEventSourceMapping</code> action.
* </p>
*
* @param createEventSourceMappingRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the CreateEventSourceMapping operation returned by the service.
* @sample AWSLambdaAsyncHandler.CreateEventSourceMapping
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<CreateEventSourceMappingResult> createEventSourceMappingAsync(CreateEventSourceMappingRequest createEventSourceMappingRequest,
com.amazonaws.handlers.AsyncHandler<CreateEventSourceMappingRequest, CreateEventSourceMappingResult> asyncHandler);
/**
* <p>
* Creates a new Lambda function. The function metadata is created from the request parameters, and the code for the
* function is provided by a .zip file in the request body. If the function name already exists, the operation will
* fail. Note that the function name is case-sensitive.
* </p>
* <p>
* If you are using versioning, you can also publish a version of the Lambda function you are creating using the
* <code>Publish</code> parameter. For more information about versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:CreateFunction</code> action.
* </p>
*
* @param createFunctionRequest
* @return A Java Future containing the result of the CreateFunction operation returned by the service.
* @sample AWSLambdaAsync.CreateFunction
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<CreateFunctionResult> createFunctionAsync(CreateFunctionRequest createFunctionRequest);
/**
* <p>
* Creates a new Lambda function. The function metadata is created from the request parameters, and the code for the
* function is provided by a .zip file in the request body. If the function name already exists, the operation will
* fail. Note that the function name is case-sensitive.
* </p>
* <p>
* If you are using versioning, you can also publish a version of the Lambda function you are creating using the
* <code>Publish</code> parameter. For more information about versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:CreateFunction</code> action.
* </p>
*
* @param createFunctionRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the CreateFunction operation returned by the service.
* @sample AWSLambdaAsyncHandler.CreateFunction
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<CreateFunctionResult> createFunctionAsync(CreateFunctionRequest createFunctionRequest,
com.amazonaws.handlers.AsyncHandler<CreateFunctionRequest, CreateFunctionResult> asyncHandler);
/**
* <p>
* Deletes the specified Lambda function alias. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS Lambda Aliases</a>.
* </p>
* <p>
* This requires permission for the lambda:DeleteAlias action.
* </p>
*
* @param deleteAliasRequest
* @return A Java Future containing the result of the DeleteAlias operation returned by the service.
* @sample AWSLambdaAsync.DeleteAlias
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DeleteAliasResult> deleteAliasAsync(DeleteAliasRequest deleteAliasRequest);
/**
* <p>
* Deletes the specified Lambda function alias. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS Lambda Aliases</a>.
* </p>
* <p>
* This requires permission for the lambda:DeleteAlias action.
* </p>
*
* @param deleteAliasRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DeleteAlias operation returned by the service.
* @sample AWSLambdaAsyncHandler.DeleteAlias
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DeleteAliasResult> deleteAliasAsync(DeleteAliasRequest deleteAliasRequest,
com.amazonaws.handlers.AsyncHandler<DeleteAliasRequest, DeleteAliasResult> asyncHandler);
/**
* <p>
* Removes an event source mapping. This means AWS Lambda will no longer invoke the function for events in the
* associated source.
* </p>
* <p>
* This operation requires permission for the <code>lambda:DeleteEventSourceMapping</code> action.
* </p>
*
* @param deleteEventSourceMappingRequest
* @return A Java Future containing the result of the DeleteEventSourceMapping operation returned by the service.
* @sample AWSLambdaAsync.DeleteEventSourceMapping
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<DeleteEventSourceMappingResult> deleteEventSourceMappingAsync(DeleteEventSourceMappingRequest deleteEventSourceMappingRequest);
/**
* <p>
* Removes an event source mapping. This means AWS Lambda will no longer invoke the function for events in the
* associated source.
* </p>
* <p>
* This operation requires permission for the <code>lambda:DeleteEventSourceMapping</code> action.
* </p>
*
* @param deleteEventSourceMappingRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DeleteEventSourceMapping operation returned by the service.
* @sample AWSLambdaAsyncHandler.DeleteEventSourceMapping
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<DeleteEventSourceMappingResult> deleteEventSourceMappingAsync(DeleteEventSourceMappingRequest deleteEventSourceMappingRequest,
com.amazonaws.handlers.AsyncHandler<DeleteEventSourceMappingRequest, DeleteEventSourceMappingResult> asyncHandler);
/**
* <p>
* Deletes the specified Lambda function code and configuration.
* </p>
* <p>
* If you are using the versioning feature and you don't specify a function version in your
* <code>DeleteFunction</code> request, AWS Lambda will delete the function, including all its versions, and any
* aliases pointing to the function versions. To delete a specific function version, you must provide the function
* version via the <code>Qualifier</code> parameter. For information about function versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* When you delete a function the associated resource policy is also deleted. You will need to delete the event
* source mappings explicitly.
* </p>
* <p>
* This operation requires permission for the <code>lambda:DeleteFunction</code> action.
* </p>
*
* @param deleteFunctionRequest
* @return A Java Future containing the result of the DeleteFunction operation returned by the service.
* @sample AWSLambdaAsync.DeleteFunction
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DeleteFunctionResult> deleteFunctionAsync(DeleteFunctionRequest deleteFunctionRequest);
/**
* <p>
* Deletes the specified Lambda function code and configuration.
* </p>
* <p>
* If you are using the versioning feature and you don't specify a function version in your
* <code>DeleteFunction</code> request, AWS Lambda will delete the function, including all its versions, and any
* aliases pointing to the function versions. To delete a specific function version, you must provide the function
* version via the <code>Qualifier</code> parameter. For information about function versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* When you delete a function the associated resource policy is also deleted. You will need to delete the event
* source mappings explicitly.
* </p>
* <p>
* This operation requires permission for the <code>lambda:DeleteFunction</code> action.
* </p>
*
* @param deleteFunctionRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DeleteFunction operation returned by the service.
* @sample AWSLambdaAsyncHandler.DeleteFunction
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DeleteFunctionResult> deleteFunctionAsync(DeleteFunctionRequest deleteFunctionRequest,
com.amazonaws.handlers.AsyncHandler<DeleteFunctionRequest, DeleteFunctionResult> asyncHandler);
/**
* <p>
* Returns a customer's account settings.
* </p>
* <p>
* You can use this operation to retrieve Lambda limits information, such as code size and concurrency limits. For
* more information about limits, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/limits.html">AWS Lambda
* Limits</a>. You can also retrieve resource usage statistics, such as code storage usage and function count.
* </p>
*
* @param getAccountSettingsRequest
* @return A Java Future containing the result of the GetAccountSettings operation returned by the service.
* @sample AWSLambdaAsync.GetAccountSettings
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettings" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetAccountSettingsResult> getAccountSettingsAsync(GetAccountSettingsRequest getAccountSettingsRequest);
/**
* <p>
* Returns a customer's account settings.
* </p>
* <p>
* You can use this operation to retrieve Lambda limits information, such as code size and concurrency limits. For
* more information about limits, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/limits.html">AWS Lambda
* Limits</a>. You can also retrieve resource usage statistics, such as code storage usage and function count.
* </p>
*
* @param getAccountSettingsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the GetAccountSettings operation returned by the service.
* @sample AWSLambdaAsyncHandler.GetAccountSettings
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettings" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetAccountSettingsResult> getAccountSettingsAsync(GetAccountSettingsRequest getAccountSettingsRequest,
com.amazonaws.handlers.AsyncHandler<GetAccountSettingsRequest, GetAccountSettingsResult> asyncHandler);
/**
* <p>
* Returns the specified alias information such as the alias ARN, description, and function version it is pointing
* to. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS Lambda Aliases</a>.
* </p>
* <p>
* This requires permission for the <code>lambda:GetAlias</code> action.
* </p>
*
* @param getAliasRequest
* @return A Java Future containing the result of the GetAlias operation returned by the service.
* @sample AWSLambdaAsync.GetAlias
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetAliasResult> getAliasAsync(GetAliasRequest getAliasRequest);
/**
* <p>
* Returns the specified alias information such as the alias ARN, description, and function version it is pointing
* to. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS Lambda Aliases</a>.
* </p>
* <p>
* This requires permission for the <code>lambda:GetAlias</code> action.
* </p>
*
* @param getAliasRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the GetAlias operation returned by the service.
* @sample AWSLambdaAsyncHandler.GetAlias
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetAliasResult> getAliasAsync(GetAliasRequest getAliasRequest,
com.amazonaws.handlers.AsyncHandler<GetAliasRequest, GetAliasResult> asyncHandler);
/**
* <p>
* Returns configuration information for the specified event source mapping (see <a>CreateEventSourceMapping</a>).
* </p>
* <p>
* This operation requires permission for the <code>lambda:GetEventSourceMapping</code> action.
* </p>
*
* @param getEventSourceMappingRequest
* @return A Java Future containing the result of the GetEventSourceMapping operation returned by the service.
* @sample AWSLambdaAsync.GetEventSourceMapping
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<GetEventSourceMappingResult> getEventSourceMappingAsync(GetEventSourceMappingRequest getEventSourceMappingRequest);
/**
* <p>
* Returns configuration information for the specified event source mapping (see <a>CreateEventSourceMapping</a>).
* </p>
* <p>
* This operation requires permission for the <code>lambda:GetEventSourceMapping</code> action.
* </p>
*
* @param getEventSourceMappingRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the GetEventSourceMapping operation returned by the service.
* @sample AWSLambdaAsyncHandler.GetEventSourceMapping
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<GetEventSourceMappingResult> getEventSourceMappingAsync(GetEventSourceMappingRequest getEventSourceMappingRequest,
com.amazonaws.handlers.AsyncHandler<GetEventSourceMappingRequest, GetEventSourceMappingResult> asyncHandler);
/**
* <p>
* Returns the configuration information of the Lambda function and a presigned URL link to the .zip file you
* uploaded with <a>CreateFunction</a> so you can download the .zip file. Note that the URL is valid for up to 10
* minutes. The configuration information is the same information you provided as parameters when uploading the
* function.
* </p>
* <p>
* Using the optional <code>Qualifier</code> parameter, you can specify a specific function version for which you
* want this information. If you don't specify this parameter, the API uses unqualified function ARN which return
* information about the <code>$LATEST</code> version of the Lambda function. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:GetFunction</code> action.
* </p>
*
* @param getFunctionRequest
* @return A Java Future containing the result of the GetFunction operation returned by the service.
* @sample AWSLambdaAsync.GetFunction
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetFunctionResult> getFunctionAsync(GetFunctionRequest getFunctionRequest);
/**
* <p>
* Returns the configuration information of the Lambda function and a presigned URL link to the .zip file you
* uploaded with <a>CreateFunction</a> so you can download the .zip file. Note that the URL is valid for up to 10
* minutes. The configuration information is the same information you provided as parameters when uploading the
* function.
* </p>
* <p>
* Using the optional <code>Qualifier</code> parameter, you can specify a specific function version for which you
* want this information. If you don't specify this parameter, the API uses unqualified function ARN which return
* information about the <code>$LATEST</code> version of the Lambda function. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:GetFunction</code> action.
* </p>
*
* @param getFunctionRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the GetFunction operation returned by the service.
* @sample AWSLambdaAsyncHandler.GetFunction
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetFunctionResult> getFunctionAsync(GetFunctionRequest getFunctionRequest,
com.amazonaws.handlers.AsyncHandler<GetFunctionRequest, GetFunctionResult> asyncHandler);
/**
* <p>
* Returns the configuration information of the Lambda function. This the same information you provided as
* parameters when uploading the function by using <a>CreateFunction</a>.
* </p>
* <p>
* If you are using the versioning feature, you can retrieve this information for a specific function version by
* using the optional <code>Qualifier</code> parameter and specifying the function version or alias that points to
* it. If you don't provide it, the API returns information about the $LATEST version of the function. For more
* information about versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:GetFunctionConfiguration</code> operation.
* </p>
*
* @param getFunctionConfigurationRequest
* @return A Java Future containing the result of the GetFunctionConfiguration operation returned by the service.
* @sample AWSLambdaAsync.GetFunctionConfiguration
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<GetFunctionConfigurationResult> getFunctionConfigurationAsync(GetFunctionConfigurationRequest getFunctionConfigurationRequest);
/**
* <p>
* Returns the configuration information of the Lambda function. This the same information you provided as
* parameters when uploading the function by using <a>CreateFunction</a>.
* </p>
* <p>
* If you are using the versioning feature, you can retrieve this information for a specific function version by
* using the optional <code>Qualifier</code> parameter and specifying the function version or alias that points to
* it. If you don't provide it, the API returns information about the $LATEST version of the function. For more
* information about versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:GetFunctionConfiguration</code> operation.
* </p>
*
* @param getFunctionConfigurationRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the GetFunctionConfiguration operation returned by the service.
* @sample AWSLambdaAsyncHandler.GetFunctionConfiguration
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<GetFunctionConfigurationResult> getFunctionConfigurationAsync(GetFunctionConfigurationRequest getFunctionConfigurationRequest,
com.amazonaws.handlers.AsyncHandler<GetFunctionConfigurationRequest, GetFunctionConfigurationResult> asyncHandler);
/**
* <p>
* Returns the resource policy associated with the specified Lambda function.
* </p>
* <p>
* If you are using the versioning feature, you can get the resource policy associated with the specific Lambda
* function version or alias by specifying the version or alias name using the <code>Qualifier</code> parameter. For
* more information about versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* You need permission for the <code>lambda:GetPolicy action.</code>
* </p>
*
* @param getPolicyRequest
* @return A Java Future containing the result of the GetPolicy operation returned by the service.
* @sample AWSLambdaAsync.GetPolicy
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetPolicyResult> getPolicyAsync(GetPolicyRequest getPolicyRequest);
/**
* <p>
* Returns the resource policy associated with the specified Lambda function.
* </p>
* <p>
* If you are using the versioning feature, you can get the resource policy associated with the specific Lambda
* function version or alias by specifying the version or alias name using the <code>Qualifier</code> parameter. For
* more information about versioning, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* You need permission for the <code>lambda:GetPolicy action.</code>
* </p>
*
* @param getPolicyRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the GetPolicy operation returned by the service.
* @sample AWSLambdaAsyncHandler.GetPolicy
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetPolicyResult> getPolicyAsync(GetPolicyRequest getPolicyRequest,
com.amazonaws.handlers.AsyncHandler<GetPolicyRequest, GetPolicyResult> asyncHandler);
/**
* <p>
* Invokes a specific Lambda function. For an example, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/with-dynamodb-create-function.html#with-dbb-invoke-manually"
* >Create the Lambda Function and Test It Manually</a>.
* </p>
* <p>
* If you are using the versioning feature, you can invoke the specific function version by providing function
* version or alias name that is pointing to the function version using the <code>Qualifier</code> parameter in the
* request. If you don't provide the <code>Qualifier</code> parameter, the <code>$LATEST</code> version of the
* Lambda function is invoked. Invocations occur at least once in response to an event and functions must be
* idempotent to handle this. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:InvokeFunction</code> action.
* </p>
*
* @param invokeRequest
* @return A Java Future containing the result of the Invoke operation returned by the service.
* @sample AWSLambdaAsync.Invoke
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<InvokeResult> invokeAsync(InvokeRequest invokeRequest);
/**
* <p>
* Invokes a specific Lambda function. For an example, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/with-dynamodb-create-function.html#with-dbb-invoke-manually"
* >Create the Lambda Function and Test It Manually</a>.
* </p>
* <p>
* If you are using the versioning feature, you can invoke the specific function version by providing function
* version or alias name that is pointing to the function version using the <code>Qualifier</code> parameter in the
* request. If you don't provide the <code>Qualifier</code> parameter, the <code>$LATEST</code> version of the
* Lambda function is invoked. Invocations occur at least once in response to an event and functions must be
* idempotent to handle this. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:InvokeFunction</code> action.
* </p>
*
* @param invokeRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the Invoke operation returned by the service.
* @sample AWSLambdaAsyncHandler.Invoke
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<InvokeResult> invokeAsync(InvokeRequest invokeRequest,
com.amazonaws.handlers.AsyncHandler<InvokeRequest, InvokeResult> asyncHandler);
/**
* <important>
* <p>
* This API is deprecated. We recommend you use <code>Invoke</code> API (see <a>Invoke</a>).
* </p>
* </important>
* <p>
* Submits an invocation request to AWS Lambda. Upon receiving the request, Lambda executes the specified function
* asynchronously. To see the logs generated by the Lambda function execution, see the CloudWatch Logs console.
* </p>
* <p>
* This operation requires permission for the <code>lambda:InvokeFunction</code> action.
* </p>
*
* @param invokeAsyncRequest
* @return A Java Future containing the result of the InvokeAsync operation returned by the service.
* @sample AWSLambdaAsync.InvokeAsync
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync" target="_top">AWS API
* Documentation</a>
*/
@Deprecated
java.util.concurrent.Future<InvokeAsyncResult> invokeAsyncAsync(InvokeAsyncRequest invokeAsyncRequest);
/**
* <important>
* <p>
* This API is deprecated. We recommend you use <code>Invoke</code> API (see <a>Invoke</a>).
* </p>
* </important>
* <p>
* Submits an invocation request to AWS Lambda. Upon receiving the request, Lambda executes the specified function
* asynchronously. To see the logs generated by the Lambda function execution, see the CloudWatch Logs console.
* </p>
* <p>
* This operation requires permission for the <code>lambda:InvokeFunction</code> action.
* </p>
*
* @param invokeAsyncRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the InvokeAsync operation returned by the service.
* @sample AWSLambdaAsyncHandler.InvokeAsync
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync" target="_top">AWS API
* Documentation</a>
*/
@Deprecated
java.util.concurrent.Future<InvokeAsyncResult> invokeAsyncAsync(InvokeAsyncRequest invokeAsyncRequest,
com.amazonaws.handlers.AsyncHandler<InvokeAsyncRequest, InvokeAsyncResult> asyncHandler);
/**
* <p>
* Returns list of aliases created for a Lambda function. For each alias, the response includes information such as
* the alias ARN, description, alias name, and the function version to which it points. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS Lambda Aliases</a>.
* </p>
* <p>
* This requires permission for the lambda:ListAliases action.
* </p>
*
* @param listAliasesRequest
* @return A Java Future containing the result of the ListAliases operation returned by the service.
* @sample AWSLambdaAsync.ListAliases
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<ListAliasesResult> listAliasesAsync(ListAliasesRequest listAliasesRequest);
/**
* <p>
* Returns list of aliases created for a Lambda function. For each alias, the response includes information such as
* the alias ARN, description, alias name, and the function version to which it points. For more information, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS Lambda Aliases</a>.
* </p>
* <p>
* This requires permission for the lambda:ListAliases action.
* </p>
*
* @param listAliasesRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListAliases operation returned by the service.
* @sample AWSLambdaAsyncHandler.ListAliases
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<ListAliasesResult> listAliasesAsync(ListAliasesRequest listAliasesRequest,
com.amazonaws.handlers.AsyncHandler<ListAliasesRequest, ListAliasesResult> asyncHandler);
/**
* <p>
* Returns a list of event source mappings you created using the <code>CreateEventSourceMapping</code> (see
* <a>CreateEventSourceMapping</a>).
* </p>
* <p>
* For each mapping, the API returns configuration information. You can optionally specify filters to retrieve
* specific event source mappings.
* </p>
* <p>
* If you are using the versioning feature, you can get list of event source mappings for a specific Lambda function
* version or an alias as described in the <code>FunctionName</code> parameter. For information about the versioning
* feature, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function
* Versioning and Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:ListEventSourceMappings</code> action.
* </p>
*
* @param listEventSourceMappingsRequest
* @return A Java Future containing the result of the ListEventSourceMappings operation returned by the service.
* @sample AWSLambdaAsync.ListEventSourceMappings
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<ListEventSourceMappingsResult> listEventSourceMappingsAsync(ListEventSourceMappingsRequest listEventSourceMappingsRequest);
/**
* <p>
* Returns a list of event source mappings you created using the <code>CreateEventSourceMapping</code> (see
* <a>CreateEventSourceMapping</a>).
* </p>
* <p>
* For each mapping, the API returns configuration information. You can optionally specify filters to retrieve
* specific event source mappings.
* </p>
* <p>
* If you are using the versioning feature, you can get list of event source mappings for a specific Lambda function
* version or an alias as described in the <code>FunctionName</code> parameter. For information about the versioning
* feature, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function
* Versioning and Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:ListEventSourceMappings</code> action.
* </p>
*
* @param listEventSourceMappingsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListEventSourceMappings operation returned by the service.
* @sample AWSLambdaAsyncHandler.ListEventSourceMappings
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<ListEventSourceMappingsResult> listEventSourceMappingsAsync(ListEventSourceMappingsRequest listEventSourceMappingsRequest,
com.amazonaws.handlers.AsyncHandler<ListEventSourceMappingsRequest, ListEventSourceMappingsResult> asyncHandler);
/**
* Simplified method form for invoking the ListEventSourceMappings operation.
*
* @see #listEventSourceMappingsAsync(ListEventSourceMappingsRequest)
*/
java.util.concurrent.Future<ListEventSourceMappingsResult> listEventSourceMappingsAsync();
/**
* Simplified method form for invoking the ListEventSourceMappings operation with an AsyncHandler.
*
* @see #listEventSourceMappingsAsync(ListEventSourceMappingsRequest, com.amazonaws.handlers.AsyncHandler)
*/
java.util.concurrent.Future<ListEventSourceMappingsResult> listEventSourceMappingsAsync(
com.amazonaws.handlers.AsyncHandler<ListEventSourceMappingsRequest, ListEventSourceMappingsResult> asyncHandler);
/**
* <p>
* Returns a list of your Lambda functions. For each function, the response includes the function configuration
* information. You must use <a>GetFunction</a> to retrieve the code for your function.
* </p>
* <p>
* This operation requires permission for the <code>lambda:ListFunctions</code> action.
* </p>
* <p>
* If you are using versioning feature, the response returns list of $LATEST versions of your functions. For
* information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
*
* @param listFunctionsRequest
* @return A Java Future containing the result of the ListFunctions operation returned by the service.
* @sample AWSLambdaAsync.ListFunctions
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<ListFunctionsResult> listFunctionsAsync(ListFunctionsRequest listFunctionsRequest);
/**
* <p>
* Returns a list of your Lambda functions. For each function, the response includes the function configuration
* information. You must use <a>GetFunction</a> to retrieve the code for your function.
* </p>
* <p>
* This operation requires permission for the <code>lambda:ListFunctions</code> action.
* </p>
* <p>
* If you are using versioning feature, the response returns list of $LATEST versions of your functions. For
* information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
*
* @param listFunctionsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListFunctions operation returned by the service.
* @sample AWSLambdaAsyncHandler.ListFunctions
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<ListFunctionsResult> listFunctionsAsync(ListFunctionsRequest listFunctionsRequest,
com.amazonaws.handlers.AsyncHandler<ListFunctionsRequest, ListFunctionsResult> asyncHandler);
/**
* Simplified method form for invoking the ListFunctions operation.
*
* @see #listFunctionsAsync(ListFunctionsRequest)
*/
java.util.concurrent.Future<ListFunctionsResult> listFunctionsAsync();
/**
* Simplified method form for invoking the ListFunctions operation with an AsyncHandler.
*
* @see #listFunctionsAsync(ListFunctionsRequest, com.amazonaws.handlers.AsyncHandler)
*/
java.util.concurrent.Future<ListFunctionsResult> listFunctionsAsync(
com.amazonaws.handlers.AsyncHandler<ListFunctionsRequest, ListFunctionsResult> asyncHandler);
/**
* <p>
* Returns a list of tags assigned to a function when supplied the function ARN (Amazon Resource Name).
* </p>
*
* @param listTagsRequest
* @return A Java Future containing the result of the ListTags operation returned by the service.
* @sample AWSLambdaAsync.ListTags
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<ListTagsResult> listTagsAsync(ListTagsRequest listTagsRequest);
/**
* <p>
* Returns a list of tags assigned to a function when supplied the function ARN (Amazon Resource Name).
* </p>
*
* @param listTagsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListTags operation returned by the service.
* @sample AWSLambdaAsyncHandler.ListTags
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<ListTagsResult> listTagsAsync(ListTagsRequest listTagsRequest,
com.amazonaws.handlers.AsyncHandler<ListTagsRequest, ListTagsResult> asyncHandler);
/**
* <p>
* List all versions of a function. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
*
* @param listVersionsByFunctionRequest
* @return A Java Future containing the result of the ListVersionsByFunction operation returned by the service.
* @sample AWSLambdaAsync.ListVersionsByFunction
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<ListVersionsByFunctionResult> listVersionsByFunctionAsync(ListVersionsByFunctionRequest listVersionsByFunctionRequest);
/**
* <p>
* List all versions of a function. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
*
* @param listVersionsByFunctionRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListVersionsByFunction operation returned by the service.
* @sample AWSLambdaAsyncHandler.ListVersionsByFunction
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction" target="_top">AWS
* API Documentation</a>
*/
java.util.concurrent.Future<ListVersionsByFunctionResult> listVersionsByFunctionAsync(ListVersionsByFunctionRequest listVersionsByFunctionRequest,
com.amazonaws.handlers.AsyncHandler<ListVersionsByFunctionRequest, ListVersionsByFunctionResult> asyncHandler);
/**
* <p>
* Publishes a version of your function from the current snapshot of $LATEST. That is, AWS Lambda takes a snapshot
* of the function code and configuration information from $LATEST and publishes a new version. The code and
* configuration cannot be modified after publication. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
*
* @param publishVersionRequest
* @return A Java Future containing the result of the PublishVersion operation returned by the service.
* @sample AWSLambdaAsync.PublishVersion
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<PublishVersionResult> publishVersionAsync(PublishVersionRequest publishVersionRequest);
/**
* <p>
* Publishes a version of your function from the current snapshot of $LATEST. That is, AWS Lambda takes a snapshot
* of the function code and configuration information from $LATEST and publishes a new version. The code and
* configuration cannot be modified after publication. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
*
* @param publishVersionRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the PublishVersion operation returned by the service.
* @sample AWSLambdaAsyncHandler.PublishVersion
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<PublishVersionResult> publishVersionAsync(PublishVersionRequest publishVersionRequest,
com.amazonaws.handlers.AsyncHandler<PublishVersionRequest, PublishVersionResult> asyncHandler);
/**
* <p>
* You can remove individual permissions from an resource policy associated with a Lambda function by providing a
* statement ID that you provided when you added the permission.
* </p>
* <p>
* If you are using versioning, the permissions you remove are specific to the Lambda function version or alias you
* specify in the <code>AddPermission</code> request via the <code>Qualifier</code> parameter. For more information
* about versioning, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda
* Function Versioning and Aliases</a>.
* </p>
* <p>
* Note that removal of a permission will cause an active event source to lose permission to the function.
* </p>
* <p>
* You need permission for the <code>lambda:RemovePermission</code> action.
* </p>
*
* @param removePermissionRequest
* @return A Java Future containing the result of the RemovePermission operation returned by the service.
* @sample AWSLambdaAsync.RemovePermission
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<RemovePermissionResult> removePermissionAsync(RemovePermissionRequest removePermissionRequest);
/**
* <p>
* You can remove individual permissions from an resource policy associated with a Lambda function by providing a
* statement ID that you provided when you added the permission.
* </p>
* <p>
* If you are using versioning, the permissions you remove are specific to the Lambda function version or alias you
* specify in the <code>AddPermission</code> request via the <code>Qualifier</code> parameter. For more information
* about versioning, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda
* Function Versioning and Aliases</a>.
* </p>
* <p>
* Note that removal of a permission will cause an active event source to lose permission to the function.
* </p>
* <p>
* You need permission for the <code>lambda:RemovePermission</code> action.
* </p>
*
* @param removePermissionRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the RemovePermission operation returned by the service.
* @sample AWSLambdaAsyncHandler.RemovePermission
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<RemovePermissionResult> removePermissionAsync(RemovePermissionRequest removePermissionRequest,
com.amazonaws.handlers.AsyncHandler<RemovePermissionRequest, RemovePermissionResult> asyncHandler);
/**
* <p>
* Creates a list of tags (key-value pairs) on the Lambda function. Requires the Lambda function ARN (Amazon
* Resource Name). If a key is specified without a value, Lambda creates a tag with the specified key and a value of
* null.
* </p>
*
* @param tagResourceRequest
* @return A Java Future containing the result of the TagResource operation returned by the service.
* @sample AWSLambdaAsync.TagResource
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<TagResourceResult> tagResourceAsync(TagResourceRequest tagResourceRequest);
/**
* <p>
* Creates a list of tags (key-value pairs) on the Lambda function. Requires the Lambda function ARN (Amazon
* Resource Name). If a key is specified without a value, Lambda creates a tag with the specified key and a value of
* null.
* </p>
*
* @param tagResourceRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the TagResource operation returned by the service.
* @sample AWSLambdaAsyncHandler.TagResource
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<TagResourceResult> tagResourceAsync(TagResourceRequest tagResourceRequest,
com.amazonaws.handlers.AsyncHandler<TagResourceRequest, TagResourceResult> asyncHandler);
/**
* <p>
* Removes tags from a Lambda function. Requires the function ARN (Amazon Resource Name).
* </p>
*
* @param untagResourceRequest
* @return A Java Future containing the result of the UntagResource operation returned by the service.
* @sample AWSLambdaAsync.UntagResource
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<UntagResourceResult> untagResourceAsync(UntagResourceRequest untagResourceRequest);
/**
* <p>
* Removes tags from a Lambda function. Requires the function ARN (Amazon Resource Name).
* </p>
*
* @param untagResourceRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UntagResource operation returned by the service.
* @sample AWSLambdaAsyncHandler.UntagResource
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<UntagResourceResult> untagResourceAsync(UntagResourceRequest untagResourceRequest,
com.amazonaws.handlers.AsyncHandler<UntagResourceRequest, UntagResourceResult> asyncHandler);
/**
* <p>
* Using this API you can update the function version to which the alias points and the alias description. For more
* information, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS
* Lambda Aliases</a>.
* </p>
* <p>
* This requires permission for the lambda:UpdateAlias action.
* </p>
*
* @param updateAliasRequest
* @return A Java Future containing the result of the UpdateAlias operation returned by the service.
* @sample AWSLambdaAsync.UpdateAlias
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<UpdateAliasResult> updateAliasAsync(UpdateAliasRequest updateAliasRequest);
/**
* <p>
* Using this API you can update the function version to which the alias points and the alias description. For more
* information, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html">Introduction to AWS
* Lambda Aliases</a>.
* </p>
* <p>
* This requires permission for the lambda:UpdateAlias action.
* </p>
*
* @param updateAliasRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UpdateAlias operation returned by the service.
* @sample AWSLambdaAsyncHandler.UpdateAlias
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<UpdateAliasResult> updateAliasAsync(UpdateAliasRequest updateAliasRequest,
com.amazonaws.handlers.AsyncHandler<UpdateAliasRequest, UpdateAliasResult> asyncHandler);
/**
* <p>
* You can update an event source mapping. This is useful if you want to change the parameters of the existing
* mapping without losing your position in the stream. You can change which function will receive the stream
* records, but to change the stream itself, you must create a new mapping.
* </p>
* <p>
* If you are using the versioning feature, you can update the event source mapping to map to a specific Lambda
* function version or alias as described in the <code>FunctionName</code> parameter. For information about the
* versioning feature, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda
* Function Versioning and Aliases</a>.
* </p>
* <p>
* If you disable the event source mapping, AWS Lambda stops polling. If you enable again, it will resume polling
* from the time it had stopped polling, so you don't lose processing of any records. However, if you delete event
* source mapping and create it again, it will reset.
* </p>
* <p>
* This operation requires permission for the <code>lambda:UpdateEventSourceMapping</code> action.
* </p>
*
* @param updateEventSourceMappingRequest
* @return A Java Future containing the result of the UpdateEventSourceMapping operation returned by the service.
* @sample AWSLambdaAsync.UpdateEventSourceMapping
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<UpdateEventSourceMappingResult> updateEventSourceMappingAsync(UpdateEventSourceMappingRequest updateEventSourceMappingRequest);
/**
* <p>
* You can update an event source mapping. This is useful if you want to change the parameters of the existing
* mapping without losing your position in the stream. You can change which function will receive the stream
* records, but to change the stream itself, you must create a new mapping.
* </p>
* <p>
* If you are using the versioning feature, you can update the event source mapping to map to a specific Lambda
* function version or alias as described in the <code>FunctionName</code> parameter. For information about the
* versioning feature, see <a href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda
* Function Versioning and Aliases</a>.
* </p>
* <p>
* If you disable the event source mapping, AWS Lambda stops polling. If you enable again, it will resume polling
* from the time it had stopped polling, so you don't lose processing of any records. However, if you delete event
* source mapping and create it again, it will reset.
* </p>
* <p>
* This operation requires permission for the <code>lambda:UpdateEventSourceMapping</code> action.
* </p>
*
* @param updateEventSourceMappingRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UpdateEventSourceMapping operation returned by the service.
* @sample AWSLambdaAsyncHandler.UpdateEventSourceMapping
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<UpdateEventSourceMappingResult> updateEventSourceMappingAsync(UpdateEventSourceMappingRequest updateEventSourceMappingRequest,
com.amazonaws.handlers.AsyncHandler<UpdateEventSourceMappingRequest, UpdateEventSourceMappingResult> asyncHandler);
/**
* <p>
* Updates the code for the specified Lambda function. This operation must only be used on an existing Lambda
* function and cannot be used to update the function configuration.
* </p>
* <p>
* If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda
* function. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:UpdateFunctionCode</code> action.
* </p>
*
* @param updateFunctionCodeRequest
* @return A Java Future containing the result of the UpdateFunctionCode operation returned by the service.
* @sample AWSLambdaAsync.UpdateFunctionCode
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<UpdateFunctionCodeResult> updateFunctionCodeAsync(UpdateFunctionCodeRequest updateFunctionCodeRequest);
/**
* <p>
* Updates the code for the specified Lambda function. This operation must only be used on an existing Lambda
* function and cannot be used to update the function configuration.
* </p>
* <p>
* If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda
* function. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:UpdateFunctionCode</code> action.
* </p>
*
* @param updateFunctionCodeRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UpdateFunctionCode operation returned by the service.
* @sample AWSLambdaAsyncHandler.UpdateFunctionCode
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<UpdateFunctionCodeResult> updateFunctionCodeAsync(UpdateFunctionCodeRequest updateFunctionCodeRequest,
com.amazonaws.handlers.AsyncHandler<UpdateFunctionCodeRequest, UpdateFunctionCodeResult> asyncHandler);
/**
* <p>
* Updates the configuration parameters for the specified Lambda function by using the values provided in the
* request. You provide only the parameters you want to change. This operation must only be used on an existing
* Lambda function and cannot be used to update the function's code.
* </p>
* <p>
* If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda
* function. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:UpdateFunctionConfiguration</code> action.
* </p>
*
* @param updateFunctionConfigurationRequest
* @return A Java Future containing the result of the UpdateFunctionConfiguration operation returned by the service.
* @sample AWSLambdaAsync.UpdateFunctionConfiguration
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<UpdateFunctionConfigurationResult> updateFunctionConfigurationAsync(
UpdateFunctionConfigurationRequest updateFunctionConfigurationRequest);
/**
* <p>
* Updates the configuration parameters for the specified Lambda function by using the values provided in the
* request. You provide only the parameters you want to change. This operation must only be used on an existing
* Lambda function and cannot be used to update the function's code.
* </p>
* <p>
* If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda
* function. For information about the versioning feature, see <a
* href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">AWS Lambda Function Versioning and
* Aliases</a>.
* </p>
* <p>
* This operation requires permission for the <code>lambda:UpdateFunctionConfiguration</code> action.
* </p>
*
* @param updateFunctionConfigurationRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UpdateFunctionConfiguration operation returned by the service.
* @sample AWSLambdaAsyncHandler.UpdateFunctionConfiguration
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<UpdateFunctionConfigurationResult> updateFunctionConfigurationAsync(
UpdateFunctionConfigurationRequest updateFunctionConfigurationRequest,
com.amazonaws.handlers.AsyncHandler<UpdateFunctionConfigurationRequest, UpdateFunctionConfigurationResult> asyncHandler);
}