com.amazonaws.services.lambda.AWSLambda Maven / Gradle / Ivy
/*
* Copyright 2013-2018 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.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.lambda.model.*;
/**
* Interface for accessing AWS Lambda.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.lambda.AbstractAWSLambda} instead.
*
*
* AWS Lambda
*
* Overview
*
*
* This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides additional information. For the
* service overview, see What is AWS Lambda, and
* for information about how the service works, see AWS Lambda: How it Works in the
* AWS Lambda Developer Guide.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSLambda {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "lambda";
/**
* Overrides the default endpoint for this client ("lambda.us-east-1.amazonaws.com"). Callers can use this method to
* control which AWS region they want to work with.
*
* Callers can pass in just the endpoint (ex: "lambda.us-east-1.amazonaws.com") or a full URL, including the
* protocol (ex: "lambda.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from
* this client's {@link ClientConfiguration} will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available
* endpoints for all AWS services, see:
* http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912
*
* This method is not threadsafe. An endpoint should be configured when the client is created and before any
* service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param endpoint
* The endpoint (ex: "lambda.us-east-1.amazonaws.com") or a full URL, including the protocol (ex:
* "lambda.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with.
* @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for
* example:
* {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));}
*/
@Deprecated
void setEndpoint(String endpoint);
/**
* An alternative to {@link AWSLambda#setEndpoint(String)}, sets the regional endpoint for this client's service
* calls. Callers can use this method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
* {@link ClientConfiguration} supplied at construction.
*
* This method is not threadsafe. A region should be configured when the client is created and before any service
* requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit
* or retrying.
*
* @param region
* The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)}
* for accessing a given region. Must not be null and must be a region where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
* @deprecated use {@link AwsClientBuilder#setRegion(String)}
*/
@Deprecated
void setRegion(Region region);
/**
*
* 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 push model. In a push 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.
*
*
* For information about the push model, see AWS Lambda: How it Works.
*
*
* If you are using versioning, the permissions you add are specific to the Lambda function version or alias you
* specify in the AddPermission
request via the Qualifier
parameter. For more information
* about versioning, see AWS Lambda
* Function Versioning and Aliases.
*
*
* This operation requires permission for the lambda:AddPermission
action.
*
*
* @param addPermissionRequest
* @return Result of the AddPermission operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws ResourceConflictException
* The resource already exists.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws PolicyLengthExceededException
* Lambda function access policy is limited to 20 KB.
* @throws TooManyRequestsException
* @throws 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.
* @sample AWSLambda.AddPermission
* @see AWS API
* Documentation
*/
AddPermissionResult addPermission(AddPermissionRequest addPermissionRequest);
/**
*
* Creates an alias that points to the specified Lambda function version. For more information, see Introduction to AWS Lambda Aliases.
*
*
* Alias names are unique for a given function. This requires permission for the lambda:CreateAlias action.
*
*
* @param createAliasRequest
* @return Result of the CreateAlias operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws ResourceConflictException
* The resource already exists.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.CreateAlias
* @see AWS API
* Documentation
*/
CreateAliasResult createAlias(CreateAliasRequest createAliasRequest);
/**
*
* 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.
*
*
* This association between a stream source and a Lambda function is called the event source mapping.
*
*
*
* This event source mapping is relevant only in the AWS Lambda pull model, where AWS Lambda invokes the function.
* For more information, see AWS
* Lambda: How it Works in the AWS Lambda Developer Guide.
*
*
*
* You provide mapping information (for example, which stream to read from and which Lambda function to invoke) in
* the request body.
*
*
* 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.
*
*
* 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 AWS Lambda Function Versioning and
* Aliases.
*
*
* This operation requires permission for the lambda:CreateEventSourceMapping
action.
*
*
* @param createEventSourceMappingRequest
* @return Result of the CreateEventSourceMapping operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws ResourceConflictException
* The resource already exists.
* @throws TooManyRequestsException
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @sample AWSLambda.CreateEventSourceMapping
* @see AWS API Documentation
*/
CreateEventSourceMappingResult createEventSourceMapping(CreateEventSourceMappingRequest createEventSourceMappingRequest);
/**
*
* 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.
*
*
* If you are using versioning, you can also publish a version of the Lambda function you are creating using the
* Publish
parameter. For more information about versioning, see AWS Lambda Function Versioning and
* Aliases.
*
*
* This operation requires permission for the lambda:CreateFunction
action.
*
*
* @param createFunctionRequest
* @return Result of the CreateFunction operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws ResourceConflictException
* The resource already exists.
* @throws TooManyRequestsException
* @throws CodeStorageExceededException
* You have exceeded your maximum total code size per account. Limits
* @sample AWSLambda.CreateFunction
* @see AWS API
* Documentation
*/
CreateFunctionResult createFunction(CreateFunctionRequest createFunctionRequest);
/**
*
* Deletes the specified Lambda function alias. For more information, see Introduction to AWS Lambda Aliases.
*
*
* This requires permission for the lambda:DeleteAlias action.
*
*
* @param deleteAliasRequest
* @return Result of the DeleteAlias operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.DeleteAlias
* @see AWS API
* Documentation
*/
DeleteAliasResult deleteAlias(DeleteAliasRequest deleteAliasRequest);
/**
*
* Removes an event source mapping. This means AWS Lambda will no longer invoke the function for events in the
* associated source.
*
*
* This operation requires permission for the lambda:DeleteEventSourceMapping
action.
*
*
* @param deleteEventSourceMappingRequest
* @return Result of the DeleteEventSourceMapping operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.DeleteEventSourceMapping
* @see AWS API Documentation
*/
DeleteEventSourceMappingResult deleteEventSourceMapping(DeleteEventSourceMappingRequest deleteEventSourceMappingRequest);
/**
*
* Deletes the specified Lambda function code and configuration.
*
*
* If you are using the versioning feature and you don't specify a function version in your
* DeleteFunction
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 Qualifier
parameter. For information about function versioning, see AWS Lambda Function Versioning and
* Aliases.
*
*
* When you delete a function the associated resource policy is also deleted. You will need to delete the event
* source mappings explicitly.
*
*
* This operation requires permission for the lambda:DeleteFunction
action.
*
*
* @param deleteFunctionRequest
* @return Result of the DeleteFunction operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws TooManyRequestsException
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws ResourceConflictException
* The resource already exists.
* @sample AWSLambda.DeleteFunction
* @see AWS API
* Documentation
*/
DeleteFunctionResult deleteFunction(DeleteFunctionRequest deleteFunctionRequest);
/**
*
* Removes concurrent execution limits from this function. For more information, see concurrent-executions.
*
*
* @param deleteFunctionConcurrencyRequest
* @return Result of the DeleteFunctionConcurrency operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws TooManyRequestsException
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @sample AWSLambda.DeleteFunctionConcurrency
* @see AWS API Documentation
*/
DeleteFunctionConcurrencyResult deleteFunctionConcurrency(DeleteFunctionConcurrencyRequest deleteFunctionConcurrencyRequest);
/**
*
* Returns a customer's account settings.
*
*
* You can use this operation to retrieve Lambda limits information, such as code size and concurrency limits. For
* more information about limits, see AWS Lambda
* Limits. You can also retrieve resource usage statistics, such as code storage usage and function count.
*
*
* @param getAccountSettingsRequest
* @return Result of the GetAccountSettings operation returned by the service.
* @throws TooManyRequestsException
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @sample AWSLambda.GetAccountSettings
* @see AWS API
* Documentation
*/
GetAccountSettingsResult getAccountSettings(GetAccountSettingsRequest getAccountSettingsRequest);
/**
*
* Returns the specified alias information such as the alias ARN, description, and function version it is pointing
* to. For more information, see Introduction to AWS Lambda Aliases.
*
*
* This requires permission for the lambda:GetAlias
action.
*
*
* @param getAliasRequest
* @return Result of the GetAlias operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.GetAlias
* @see AWS API
* Documentation
*/
GetAliasResult getAlias(GetAliasRequest getAliasRequest);
/**
*
* Returns configuration information for the specified event source mapping (see CreateEventSourceMapping).
*
*
* This operation requires permission for the lambda:GetEventSourceMapping
action.
*
*
* @param getEventSourceMappingRequest
* @return Result of the GetEventSourceMapping operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.GetEventSourceMapping
* @see AWS
* API Documentation
*/
GetEventSourceMappingResult getEventSourceMapping(GetEventSourceMappingRequest getEventSourceMappingRequest);
/**
*
* Returns the configuration information of the Lambda function and a presigned URL link to the .zip file you
* uploaded with CreateFunction 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.
*
*
* Using the optional Qualifier
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 $LATEST
version of the Lambda function. For more information, see AWS Lambda Function Versioning and
* Aliases.
*
*
* This operation requires permission for the lambda:GetFunction
action.
*
*
* @param getFunctionRequest
* @return Result of the GetFunction operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws TooManyRequestsException
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @sample AWSLambda.GetFunction
* @see AWS API
* Documentation
*/
GetFunctionResult getFunction(GetFunctionRequest getFunctionRequest);
/**
*
* Returns the configuration information of the Lambda function. This the same information you provided as
* parameters when uploading the function by using CreateFunction.
*
*
* If you are using the versioning feature, you can retrieve this information for a specific function version by
* using the optional Qualifier
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 AWS Lambda Function Versioning and
* Aliases.
*
*
* This operation requires permission for the lambda:GetFunctionConfiguration
operation.
*
*
* @param getFunctionConfigurationRequest
* @return Result of the GetFunctionConfiguration operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws TooManyRequestsException
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @sample AWSLambda.GetFunctionConfiguration
* @see AWS API Documentation
*/
GetFunctionConfigurationResult getFunctionConfiguration(GetFunctionConfigurationRequest getFunctionConfigurationRequest);
/**
*
* Returns the resource policy associated with the specified Lambda function.
*
*
* 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 Qualifier
parameter. For
* more information about versioning, see AWS Lambda Function Versioning and
* Aliases.
*
*
* You need permission for the lambda:GetPolicy action.
*
*
* @param getPolicyRequest
* @return Result of the GetPolicy operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws TooManyRequestsException
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @sample AWSLambda.GetPolicy
* @see AWS API
* Documentation
*/
GetPolicyResult getPolicy(GetPolicyRequest getPolicyRequest);
/**
*
* Invokes a specific Lambda function. For an example, see Create the Lambda Function and Test It Manually.
*
*
* 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 Qualifier
parameter in the
* request. If you don't provide the Qualifier
parameter, the $LATEST
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 AWS Lambda Function Versioning and
* Aliases.
*
*
* This operation requires permission for the lambda:InvokeFunction
action.
*
*
*
* The TooManyRequestsException
noted below will return the following:
* ConcurrentInvocationLimitExceeded
will be returned if you have no functions with reserved
* concurrency and have exceeded your account concurrent limit or if a function without reserved concurrency exceeds
* the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded
will
* be returned when a function with reserved concurrency exceeds its configured concurrency limit.
*
*
*
* @param invokeRequest
* @return Result of the Invoke operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidRequestContentException
* The request body could not be parsed as JSON.
* @throws RequestTooLargeException
* The request payload exceeded the Invoke
request body JSON input limit. For more information,
* see Limits.
* @throws UnsupportedMediaTypeException
* The content type of the Invoke
request body is not JSON.
* @throws TooManyRequestsException
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws EC2UnexpectedException
* AWS Lambda received an unexpected EC2 client exception while setting up for the Lambda function.
* @throws 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.
* @throws ENILimitReachedException
* AWS Lambda was not able to create an Elastic Network Interface (ENI) in the VPC, specified as part of
* Lambda function configuration, because the limit for network interfaces has been reached.
* @throws EC2ThrottledException
* AWS Lambda was throttled by Amazon EC2 during Lambda function initialization using the execution role
* provided for the Lambda function.
* @throws EC2AccessDeniedException
* @throws InvalidSubnetIDException
* The Subnet ID provided in the Lambda function VPC configuration is invalid.
* @throws InvalidSecurityGroupIDException
* The Security Group ID provided in the Lambda function VPC configuration is invalid.
* @throws InvalidZipFileException
* AWS Lambda could not unzip the function zip file.
* @throws KMSDisabledException
* Lambda was unable to decrypt the environment variables because the KMS key used is disabled. Check the
* Lambda function's KMS key settings.
* @throws 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.
* @throws KMSAccessDeniedException
* Lambda was unable to decrypt the environment variables because KMS access was denied. Check the Lambda
* function's KMS permissions.
* @throws KMSNotFoundException
* Lambda was unable to decrypt the environment variables because the KMS key was not found. Check the
* function's KMS key settings.
* @throws InvalidRuntimeException
* The runtime or runtime version specified is not supported.
* @sample AWSLambda.Invoke
* @see AWS API
* Documentation
*/
InvokeResult invoke(InvokeRequest invokeRequest);
/**
*
*
* This API is deprecated. We recommend you use Invoke
API (see Invoke).
*
*
*
* 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.
*
*
* This operation requires permission for the lambda:InvokeFunction
action.
*
*
* @param invokeAsyncRequest
* @return Result of the InvokeAsync operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidRequestContentException
* The request body could not be parsed as JSON.
* @throws InvalidRuntimeException
* The runtime or runtime version specified is not supported.
* @sample AWSLambda.InvokeAsync
* @see AWS API
* Documentation
*/
@Deprecated
InvokeAsyncResult invokeAsync(InvokeAsyncRequest invokeAsyncRequest);
/**
*
* 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 Introduction to AWS Lambda Aliases.
*
*
* This requires permission for the lambda:ListAliases action.
*
*
* @param listAliasesRequest
* @return Result of the ListAliases operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.ListAliases
* @see AWS API
* Documentation
*/
ListAliasesResult listAliases(ListAliasesRequest listAliasesRequest);
/**
*
* Returns a list of event source mappings you created using the CreateEventSourceMapping
(see
* CreateEventSourceMapping).
*
*
* For each mapping, the API returns configuration information. You can optionally specify filters to retrieve
* specific event source mappings.
*
*
* 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 FunctionName
parameter. For information about the versioning
* feature, see AWS Lambda Function
* Versioning and Aliases.
*
*
* This operation requires permission for the lambda:ListEventSourceMappings
action.
*
*
* @param listEventSourceMappingsRequest
* @return Result of the ListEventSourceMappings operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.ListEventSourceMappings
* @see AWS
* API Documentation
*/
ListEventSourceMappingsResult listEventSourceMappings(ListEventSourceMappingsRequest listEventSourceMappingsRequest);
/**
* Simplified method form for invoking the ListEventSourceMappings operation.
*
* @see #listEventSourceMappings(ListEventSourceMappingsRequest)
*/
ListEventSourceMappingsResult listEventSourceMappings();
/**
*
* Returns a list of your Lambda functions. For each function, the response includes the function configuration
* information. You must use GetFunction to retrieve the code for your function.
*
*
* This operation requires permission for the lambda:ListFunctions
action.
*
*
* If you are using the versioning feature, you can list all of your functions or only $LATEST
* versions. For information about the versioning feature, see AWS Lambda Function Versioning and
* Aliases.
*
*
* @param listFunctionsRequest
* @return Result of the ListFunctions operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws TooManyRequestsException
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @sample AWSLambda.ListFunctions
* @see AWS API
* Documentation
*/
ListFunctionsResult listFunctions(ListFunctionsRequest listFunctionsRequest);
/**
* Simplified method form for invoking the ListFunctions operation.
*
* @see #listFunctions(ListFunctionsRequest)
*/
ListFunctionsResult listFunctions();
/**
*
* Returns a list of tags assigned to a function when supplied the function ARN (Amazon Resource Name).
*
*
* @param listTagsRequest
* @return Result of the ListTags operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.ListTags
* @see AWS API
* Documentation
*/
ListTagsResult listTags(ListTagsRequest listTagsRequest);
/**
*
* List all versions of a function. For information about the versioning feature, see AWS Lambda Function Versioning and
* Aliases.
*
*
* @param listVersionsByFunctionRequest
* @return Result of the ListVersionsByFunction operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.ListVersionsByFunction
* @see AWS
* API Documentation
*/
ListVersionsByFunctionResult listVersionsByFunction(ListVersionsByFunctionRequest listVersionsByFunctionRequest);
/**
*
* 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 AWS Lambda Function Versioning and
* Aliases.
*
*
* @param publishVersionRequest
* @return Result of the PublishVersion operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @throws CodeStorageExceededException
* You have exceeded your maximum total code size per account. Limits
* @throws 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.
* @sample AWSLambda.PublishVersion
* @see AWS API
* Documentation
*/
PublishVersionResult publishVersion(PublishVersionRequest publishVersionRequest);
/**
*
* Sets a limit on the number of concurrent executions available to this function. It is a subset of your account's
* total concurrent execution limit per region. Note that Lambda automatically reserves a buffer of 100 concurrent
* executions for functions without any reserved concurrency limit. This means if your account limit is 1000, you
* have a total of 900 available to allocate to individual functions. For more information, see
* concurrent-executions.
*
*
* @param putFunctionConcurrencyRequest
* @return Result of the PutFunctionConcurrency operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws TooManyRequestsException
* @sample AWSLambda.PutFunctionConcurrency
* @see AWS
* API Documentation
*/
PutFunctionConcurrencyResult putFunctionConcurrency(PutFunctionConcurrencyRequest putFunctionConcurrencyRequest);
/**
*
* 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.
*
*
* If you are using versioning, the permissions you remove are specific to the Lambda function version or alias you
* specify in the AddPermission
request via the Qualifier
parameter. For more information
* about versioning, see AWS Lambda
* Function Versioning and Aliases.
*
*
* Note that removal of a permission will cause an active event source to lose permission to the function.
*
*
* You need permission for the lambda:RemovePermission
action.
*
*
* @param removePermissionRequest
* @return Result of the RemovePermission operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @throws 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.
* @sample AWSLambda.RemovePermission
* @see AWS API
* Documentation
*/
RemovePermissionResult removePermission(RemovePermissionRequest removePermissionRequest);
/**
*
* 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.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Removes tags from a Lambda function. Requires the function ARN (Amazon Resource Name).
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @sample AWSLambda.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Using this API you can update the function version to which the alias points and the alias description. For more
* information, see Introduction to AWS
* Lambda Aliases.
*
*
* This requires permission for the lambda:UpdateAlias action.
*
*
* @param updateAliasRequest
* @return Result of the UpdateAlias operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @throws 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.
* @sample AWSLambda.UpdateAlias
* @see AWS API
* Documentation
*/
UpdateAliasResult updateAlias(UpdateAliasRequest updateAliasRequest);
/**
*
* 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.
*
*
* 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 FunctionName
parameter. For information about the
* versioning feature, see AWS Lambda
* Function Versioning and Aliases.
*
*
* 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.
*
*
* This operation requires permission for the lambda:UpdateEventSourceMapping
action.
*
*
* @param updateEventSourceMappingRequest
* @return Result of the UpdateEventSourceMapping operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @throws ResourceConflictException
* The resource already exists.
* @sample AWSLambda.UpdateEventSourceMapping
* @see AWS API Documentation
*/
UpdateEventSourceMappingResult updateEventSourceMapping(UpdateEventSourceMappingRequest updateEventSourceMappingRequest);
/**
*
* 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.
*
*
* 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 AWS Lambda Function Versioning and
* Aliases.
*
*
* This operation requires permission for the lambda:UpdateFunctionCode
action.
*
*
* @param updateFunctionCodeRequest
* @return Result of the UpdateFunctionCode operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @throws CodeStorageExceededException
* You have exceeded your maximum total code size per account. Limits
* @throws 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.
* @sample AWSLambda.UpdateFunctionCode
* @see AWS API
* Documentation
*/
UpdateFunctionCodeResult updateFunctionCode(UpdateFunctionCodeRequest updateFunctionCodeRequest);
/**
*
* 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.
*
*
* 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 AWS Lambda Function Versioning and
* Aliases.
*
*
* This operation requires permission for the lambda:UpdateFunctionConfiguration
action.
*
*
* @param updateFunctionConfigurationRequest
* @return Result of the UpdateFunctionConfiguration operation returned by the service.
* @throws ServiceException
* The AWS Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource (for example, a Lambda function or access policy statement) specified in the request does
* not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda
* to assume in the CreateFunction
or the UpdateFunctionConfiguration
API, that
* AWS Lambda is unable to assume you will get this exception.
* @throws TooManyRequestsException
* @throws ResourceConflictException
* The resource already exists.
* @throws 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.
* @sample AWSLambda.UpdateFunctionConfiguration
* @see AWS API Documentation
*/
UpdateFunctionConfigurationResult updateFunctionConfiguration(UpdateFunctionConfigurationRequest updateFunctionConfigurationRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}