com.amazonaws.services.lambda.AWSLambda Maven / Gradle / Ivy
Show all versions of aws-java-sdk-lambda Show documentation
/*
* Copyright 2016-2021 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.*;
import com.amazonaws.services.lambda.waiters.AWSLambdaWaiters;
/**
* 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.
*
*
* Lambda
*
* Overview
*
*
* This is the Lambda API Reference. The Lambda Developer Guide provides additional information. For the service
* overview, see What is Lambda, and for
* information about how the service works, see Lambda: How it Works in the
* 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: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection-
* choose-endpoint
*
* 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 permissions to the resource-based policy of a version of an Lambda layer. Use this action
* to grant layer usage permission to other accounts. You can grant permission to a single account, all accounts in
* an organization, or all Amazon Web Services accounts.
*
*
* To revoke permission, call RemoveLayerVersionPermission with the statement ID that you specified when you
* added it.
*
*
* @param addLayerVersionPermissionRequest
* @return Result of the AddLayerVersionPermission operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws PolicyLengthExceededException
* The permissions policy for the resource is too large. Learn more
* @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.AddLayerVersionPermission
* @see AWS API Documentation
*/
AddLayerVersionPermissionResult addLayerVersionPermission(AddLayerVersionPermissionRequest addLayerVersionPermissionRequest);
/**
*
* Grants an Amazon Web Services service or another account permission to use a function. You can apply the policy
* at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a
* qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the
* function.
*
*
* To grant permission to another account, specify the account ID as the Principal
. For Amazon Web
* Services services, the principal is a domain-style identifier defined by the service, like
* s3.amazonaws.com
or sns.amazonaws.com
. For Amazon Web Services services, you can also
* specify the ARN of the associated resource as the SourceArn
. If you grant permission to a service
* principal without specifying the source, other accounts could potentially configure resources in their account to
* invoke your Lambda function.
*
*
* This action adds a statement to a resource-based permissions policy for the function. For more information about
* function policies, see Lambda Function
* Policies.
*
*
* @param addPermissionRequest
* @return Result of the AddPermission operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws PolicyLengthExceededException
* The permissions policy for the resource is too large. Learn more
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @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 for a Lambda
* function version. Use aliases to provide clients with a function identifier that you can update to invoke a
* different version.
*
*
* You can also map an alias to split invocation requests between two versions. Use the RoutingConfig
* parameter to specify a second version and the percentage of invocation requests that it receives.
*
*
* @param createAliasRequest
* @return Result of the CreateAlias operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.CreateAlias
* @see AWS API
* Documentation
*/
CreateAliasResult createAlias(CreateAliasRequest createAliasRequest);
/**
*
* Creates a code signing configuration. A code signing configuration
* defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if
* deployment validation checks fail).
*
*
* @param createCodeSigningConfigRequest
* @return Result of the CreateCodeSigningConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @sample AWSLambda.CreateCodeSigningConfig
* @see AWS
* API Documentation
*/
CreateCodeSigningConfigResult createCodeSigningConfig(CreateCodeSigningConfigRequest createCodeSigningConfigRequest);
/**
*
* Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and
* triggers the function.
*
*
* For details about each event source type, see the following topics. In particular, each of the topics describes
* the required and optional parameters for the specific event source.
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
* Configuring Self-Managed Apache Kafka as
* an event source
*
*
*
*
* The following error handling options are only available for stream sources (DynamoDB and Kinesis):
*
*
* -
*
* BisectBatchOnFunctionError
- If the function returns an error, split the batch in two and retry.
*
*
* -
*
* DestinationConfig
- Send discarded records to an Amazon SQS queue or Amazon SNS topic.
*
*
* -
*
* MaximumRecordAgeInSeconds
- Discard records older than the specified age. The default value is
* infinite (-1). When set to infinite (-1), failed records are retried until the record expires
*
*
* -
*
* MaximumRetryAttempts
- Discard records after the specified number of retries. The default value is
* infinite (-1). When set to infinite (-1), failed records are retried until the record expires.
*
*
* -
*
* ParallelizationFactor
- Process multiple batches from each shard concurrently.
*
*
*
*
* @param createEventSourceMappingRequest
* @return Result of the CreateEventSourceMapping operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @sample AWSLambda.CreateEventSourceMapping
* @see AWS API Documentation
*/
CreateEventSourceMappingResult createEventSourceMapping(CreateEventSourceMappingRequest createEventSourceMappingRequest);
/**
*
* Creates a Lambda function. To create a function, you need a deployment package and an
* execution role. The deployment package is a .zip file archive or container image that contains your function
* code. The execution role grants the function permission to use Amazon Web Services services, such as Amazon
* CloudWatch Logs for log streaming and X-Ray for request tracing.
*
*
* You set the package type to Image
if the deployment package is a container image. For a container
* image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to
* specify the handler and runtime properties.
*
*
* You set the package type to Zip
if the deployment package is a .zip
* file archive. For a .zip file archive, the code property specifies the location of the .zip file. You must
* also specify the handler and runtime properties.
*
*
* When you create a function, Lambda provisions an instance of the function and its supporting resources. If your
* function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify
* the function. The State
, StateReason
, and StateReasonCode
fields in the
* response from GetFunctionConfiguration indicate when the function is ready to invoke. For more
* information, see Function
* States.
*
*
* A function has an unpublished version, and can have published versions and aliases. The unpublished version
* changes when you update your function's code and configuration. A published version is a snapshot of your
* function code and configuration that can't be changed. An alias is a named resource that maps to a version, and
* can be changed to map to a different version. Use the Publish
parameter to create version
* 1
of your function from its initial configuration.
*
*
* The other parameters let you configure version-specific and function-level settings. You can modify
* version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both
* the unpublished and published versions of the function, and include tags (TagResource) and per-function
* concurrency limits (PutFunctionConcurrency).
*
*
* You can use code signing if your deployment package is a .zip file archive. To enable code signing for this
* function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with
* UpdateFunctionCode, Lambda checks that the code package has a valid signature from a trusted publisher.
* The code-signing configuration includes set set of signing profiles, which define the trusted publishers for this
* function.
*
*
* If another account or an Amazon Web Services service invokes your function, use AddPermission to grant
* permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a
* version, or on an alias.
*
*
* To invoke your function directly, use Invoke. To invoke your function in response to events in other
* Amazon Web Services services, create an event source mapping (CreateEventSourceMapping), or configure a
* function trigger in the other service. For more information, see Invoking Functions.
*
*
* @param createFunctionRequest
* @return Result of the CreateFunction operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws CodeStorageExceededException
* You have exceeded your maximum total code size per account. Learn more
* @throws CodeVerificationFailedException
* The code signature failed one or more of the validation checks for signature mismatch or expiry, and the
* code signing policy is set to ENFORCE. Lambda blocks the deployment.
* @throws InvalidCodeSignatureException
* The code signature failed the integrity check. Lambda always blocks deployment if the integrity check
* fails, even if code signing policy is set to WARN.
* @throws CodeSigningConfigNotFoundException
* The specified code signing configuration does not exist.
* @sample AWSLambda.CreateFunction
* @see AWS API
* Documentation
*/
CreateFunctionResult createFunction(CreateFunctionRequest createFunctionRequest);
/**
*
* Deletes a Lambda function alias.
*
*
* @param deleteAliasRequest
* @return Result of the DeleteAlias operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.DeleteAlias
* @see AWS API
* Documentation
*/
DeleteAliasResult deleteAlias(DeleteAliasRequest deleteAliasRequest);
/**
*
* Deletes the code signing configuration. You can delete the code signing configuration only if no function is
* using it.
*
*
* @param deleteCodeSigningConfigRequest
* @return Result of the DeleteCodeSigningConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.DeleteCodeSigningConfig
* @see AWS
* API Documentation
*/
DeleteCodeSigningConfigResult deleteCodeSigningConfig(DeleteCodeSigningConfigRequest deleteCodeSigningConfigRequest);
/**
*
* Deletes an event source
* mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.
*
*
* When you delete an event source mapping, it enters a Deleting
state and might not be completely
* deleted for several seconds.
*
*
* @param deleteEventSourceMappingRequest
* @return Result of the DeleteEventSourceMapping operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceInUseException
* The operation conflicts with the resource's availability. For example, you attempted to update an
* EventSource Mapping in CREATING, or tried to delete a EventSource mapping currently in the UPDATING
* state.
* @sample AWSLambda.DeleteEventSourceMapping
* @see AWS API Documentation
*/
DeleteEventSourceMappingResult deleteEventSourceMapping(DeleteEventSourceMappingRequest deleteEventSourceMappingRequest);
/**
*
* Deletes a Lambda function. To delete a specific function version, use the Qualifier
parameter.
* Otherwise, all versions and aliases are deleted.
*
*
* To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For Amazon
* Web Services services and resources that invoke your function directly, delete the trigger in the service where
* you originally configured it.
*
*
* @param deleteFunctionRequest
* @return Result of the DeleteFunction operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.DeleteFunction
* @see AWS API
* Documentation
*/
DeleteFunctionResult deleteFunction(DeleteFunctionRequest deleteFunctionRequest);
/**
*
* Removes the code signing configuration from the function.
*
*
* @param deleteFunctionCodeSigningConfigRequest
* @return Result of the DeleteFunctionCodeSigningConfig operation returned by the service.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws CodeSigningConfigNotFoundException
* The specified code signing configuration does not exist.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.DeleteFunctionCodeSigningConfig
* @see AWS API Documentation
*/
DeleteFunctionCodeSigningConfigResult deleteFunctionCodeSigningConfig(DeleteFunctionCodeSigningConfigRequest deleteFunctionCodeSigningConfigRequest);
/**
*
* Removes a concurrent execution limit from a function.
*
*
* @param deleteFunctionConcurrencyRequest
* @return Result of the DeleteFunctionConcurrency operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.DeleteFunctionConcurrency
* @see AWS API Documentation
*/
DeleteFunctionConcurrencyResult deleteFunctionConcurrency(DeleteFunctionConcurrencyRequest deleteFunctionConcurrencyRequest);
/**
*
* Deletes the configuration for asynchronous invocation for a function, version, or alias.
*
*
* To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
*
*
* @param deleteFunctionEventInvokeConfigRequest
* @return Result of the DeleteFunctionEventInvokeConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.DeleteFunctionEventInvokeConfig
* @see AWS API Documentation
*/
DeleteFunctionEventInvokeConfigResult deleteFunctionEventInvokeConfig(DeleteFunctionEventInvokeConfigRequest deleteFunctionEventInvokeConfigRequest);
/**
*
* Deletes a version of an Lambda
* layer. Deleted versions can no longer be viewed or added to functions. To avoid breaking functions, a copy of
* the version remains in Lambda until no functions refer to it.
*
*
* @param deleteLayerVersionRequest
* @return Result of the DeleteLayerVersion operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.DeleteLayerVersion
* @see AWS API
* Documentation
*/
DeleteLayerVersionResult deleteLayerVersion(DeleteLayerVersionRequest deleteLayerVersionRequest);
/**
*
* Deletes the provisioned concurrency configuration for a function.
*
*
* @param deleteProvisionedConcurrencyConfigRequest
* @return Result of the DeleteProvisionedConcurrencyConfig operation returned by the service.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @sample AWSLambda.DeleteProvisionedConcurrencyConfig
* @see AWS API Documentation
*/
DeleteProvisionedConcurrencyConfigResult deleteProvisionedConcurrencyConfig(
DeleteProvisionedConcurrencyConfigRequest deleteProvisionedConcurrencyConfigRequest);
/**
*
* Retrieves details about your account's limits and usage in an Amazon Web Services
* Region.
*
*
* @param getAccountSettingsRequest
* @return Result of the GetAccountSettings operation returned by the service.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @sample AWSLambda.GetAccountSettings
* @see AWS API
* Documentation
*/
GetAccountSettingsResult getAccountSettings(GetAccountSettingsRequest getAccountSettingsRequest);
/**
*
* Returns details about a Lambda function alias.
*
*
* @param getAliasRequest
* @return Result of the GetAlias operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.GetAlias
* @see AWS API
* Documentation
*/
GetAliasResult getAlias(GetAliasRequest getAliasRequest);
/**
*
* Returns information about the specified code signing configuration.
*
*
* @param getCodeSigningConfigRequest
* @return Result of the GetCodeSigningConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @sample AWSLambda.GetCodeSigningConfig
* @see AWS
* API Documentation
*/
GetCodeSigningConfigResult getCodeSigningConfig(GetCodeSigningConfigRequest getCodeSigningConfigRequest);
/**
*
* Returns details about an event source mapping. You can get the identifier of a mapping from the output of
* ListEventSourceMappings.
*
*
* @param getEventSourceMappingRequest
* @return Result of the GetEventSourceMapping operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.GetEventSourceMapping
* @see AWS
* API Documentation
*/
GetEventSourceMappingResult getEventSourceMapping(GetEventSourceMappingRequest getEventSourceMappingRequest);
/**
*
* Returns information about the function or function version, with a link to download the deployment package that's
* valid for 10 minutes. If you specify a function version, only details that are specific to that version are
* returned.
*
*
* @param getFunctionRequest
* @return Result of the GetFunction operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @sample AWSLambda.GetFunction
* @see AWS API
* Documentation
*/
GetFunctionResult getFunction(GetFunctionRequest getFunctionRequest);
/**
*
* Returns the code signing configuration for the specified function.
*
*
* @param getFunctionCodeSigningConfigRequest
* @return Result of the GetFunctionCodeSigningConfig operation returned by the service.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.GetFunctionCodeSigningConfig
* @see AWS API Documentation
*/
GetFunctionCodeSigningConfigResult getFunctionCodeSigningConfig(GetFunctionCodeSigningConfigRequest getFunctionCodeSigningConfigRequest);
/**
*
* Returns details about the reserved concurrency configuration for a function. To set a concurrency limit for a
* function, use PutFunctionConcurrency.
*
*
* @param getFunctionConcurrencyRequest
* @return Result of the GetFunctionConcurrency operation returned by the service.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @sample AWSLambda.GetFunctionConcurrency
* @see AWS
* API Documentation
*/
GetFunctionConcurrencyResult getFunctionConcurrency(GetFunctionConcurrencyRequest getFunctionConcurrencyRequest);
/**
*
* Returns the version-specific settings of a Lambda function or version. The output includes only options that can
* vary between versions of a function. To modify these settings, use UpdateFunctionConfiguration.
*
*
* To get all of a function's details, including function-level settings, use GetFunction.
*
*
* @param getFunctionConfigurationRequest
* @return Result of the GetFunctionConfiguration operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @sample AWSLambda.GetFunctionConfiguration
* @see AWS API Documentation
*/
GetFunctionConfigurationResult getFunctionConfiguration(GetFunctionConfigurationRequest getFunctionConfigurationRequest);
/**
*
* Retrieves the configuration for asynchronous invocation for a function, version, or alias.
*
*
* To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
*
*
* @param getFunctionEventInvokeConfigRequest
* @return Result of the GetFunctionEventInvokeConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.GetFunctionEventInvokeConfig
* @see AWS API Documentation
*/
GetFunctionEventInvokeConfigResult getFunctionEventInvokeConfig(GetFunctionEventInvokeConfigRequest getFunctionEventInvokeConfigRequest);
/**
*
* Returns information about a version of an Lambda layer, with a link to
* download the layer archive that's valid for 10 minutes.
*
*
* @param getLayerVersionRequest
* @return Result of the GetLayerVersion operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @sample AWSLambda.GetLayerVersion
* @see AWS API
* Documentation
*/
GetLayerVersionResult getLayerVersion(GetLayerVersionRequest getLayerVersionRequest);
/**
*
* Returns information about a version of an Lambda layer, with a link to
* download the layer archive that's valid for 10 minutes.
*
*
* @param getLayerVersionByArnRequest
* @return Result of the GetLayerVersionByArn operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @sample AWSLambda.GetLayerVersionByArn
* @see AWS
* API Documentation
*/
GetLayerVersionByArnResult getLayerVersionByArn(GetLayerVersionByArnRequest getLayerVersionByArnRequest);
/**
*
* Returns the permission policy for a version of an Lambda layer. For more
* information, see AddLayerVersionPermission.
*
*
* @param getLayerVersionPolicyRequest
* @return Result of the GetLayerVersionPolicy operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @sample AWSLambda.GetLayerVersionPolicy
* @see AWS
* API Documentation
*/
GetLayerVersionPolicyResult getLayerVersionPolicy(GetLayerVersionPolicyRequest getLayerVersionPolicyRequest);
/**
*
* Returns the resource-based IAM
* policy for a function, version, or alias.
*
*
* @param getPolicyRequest
* @return Result of the GetPolicy operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @sample AWSLambda.GetPolicy
* @see AWS API
* Documentation
*/
GetPolicyResult getPolicy(GetPolicyRequest getPolicyRequest);
/**
*
* Retrieves the provisioned concurrency configuration for a function's alias or version.
*
*
* @param getProvisionedConcurrencyConfigRequest
* @return Result of the GetProvisionedConcurrencyConfig operation returned by the service.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ProvisionedConcurrencyConfigNotFoundException
* The specified configuration does not exist.
* @sample AWSLambda.GetProvisionedConcurrencyConfig
* @see AWS API Documentation
*/
GetProvisionedConcurrencyConfigResult getProvisionedConcurrencyConfig(GetProvisionedConcurrencyConfigRequest getProvisionedConcurrencyConfigRequest);
/**
*
* Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or
* asynchronously. To invoke a function asynchronously, set InvocationType
to Event
.
*
*
* For synchronous invocation,
* details about the function response, including errors, are included in the response body and headers. For either
* invocation type, you can find more information in the execution log and trace.
*
*
* When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client,
* event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error,
* Lambda executes the function up to two more times. For more information, see Retry Behavior.
*
*
* For asynchronous invocation,
* Lambda adds events to a queue before sending them to your function. If your function does not have enough
* capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event
* multiple times, even if no error occurs. To retain events that were not processed, configure your function with a
* dead-letter queue.
*
*
* The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that
* prevent your function from executing, such as permissions errors, limit errors, or issues with your function's
* code and configuration. For example, Lambda returns TooManyRequestsException
if executing the
* function would cause you to exceed a concurrency limit at either the account level (
* ConcurrentInvocationLimitExceeded
) or function level (
* ReservedFunctionConcurrentInvocationLimitExceeded
).
*
*
* For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits
* for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long
* connections with timeout or keep-alive settings.
*
*
* This operation requires permission for the lambda:InvokeFunction action.
*
*
* @param invokeRequest
* @return Result of the Invoke operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource 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
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws EC2UnexpectedException
* Lambda received an unexpected EC2 client exception while setting up for the Lambda function.
* @throws SubnetIPAddressLimitReachedException
* 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
* Lambda was not able to create an elastic network interface in the VPC, specified as part of Lambda
* function configuration, because the limit for network interfaces has been reached.
* @throws EFSMountConnectivityException
* The function couldn't make a network connection to the configured file system.
* @throws EFSMountFailureException
* The function couldn't mount the configured file system due to a permission or configuration issue.
* @throws EFSMountTimeoutException
* The function was able to make a network connection to the configured file system, but the mount operation
* timed out.
* @throws EFSIOException
* An error occured when reading from or writing to a connected file system.
* @throws EC2ThrottledException
* Lambda was throttled by Amazon EC2 during Lambda function initialization using the execution role
* provided for the Lambda function.
* @throws EC2AccessDeniedException
* Need additional permissions to configure VPC settings.
* @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
* Lambda could not unzip the deployment package.
* @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.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws ResourceNotReadyException
* The function is inactive and its VPC connection is no longer available. Wait for the VPC connection to
* reestablish and try again.
* @sample AWSLambda.Invoke
* @see AWS API
* Documentation
*/
InvokeResult invoke(InvokeRequest invokeRequest);
/**
*
*
* For asynchronous function invocation, use Invoke.
*
*
*
* Invokes a function asynchronously.
*
*
* @param invokeAsyncRequest
* @return Result of the InvokeAsync operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource 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.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.InvokeAsync
* @see AWS API
* Documentation
*/
@Deprecated
InvokeAsyncResult invokeAsync(InvokeAsyncRequest invokeAsyncRequest);
/**
*
* Returns a list of aliases for
* a Lambda function.
*
*
* @param listAliasesRequest
* @return Result of the ListAliases operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.ListAliases
* @see AWS API
* Documentation
*/
ListAliasesResult listAliases(ListAliasesRequest listAliasesRequest);
/**
*
* Returns a list of code
* signing configurations. A request returns up to 10,000 configurations per call. You can use the
* MaxItems
parameter to return fewer configurations per call.
*
*
* @param listCodeSigningConfigsRequest
* @return Result of the ListCodeSigningConfigs operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @sample AWSLambda.ListCodeSigningConfigs
* @see AWS
* API Documentation
*/
ListCodeSigningConfigsResult listCodeSigningConfigs(ListCodeSigningConfigsRequest listCodeSigningConfigsRequest);
/**
*
* Lists event source mappings. Specify an EventSourceArn
to only show event source mappings for a
* single event source.
*
*
* @param listEventSourceMappingsRequest
* @return Result of the ListEventSourceMappings operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.ListEventSourceMappings
* @see AWS
* API Documentation
*/
ListEventSourceMappingsResult listEventSourceMappings(ListEventSourceMappingsRequest listEventSourceMappingsRequest);
/**
* Simplified method form for invoking the ListEventSourceMappings operation.
*
* @see #listEventSourceMappings(ListEventSourceMappingsRequest)
*/
ListEventSourceMappingsResult listEventSourceMappings();
/**
*
* Retrieves a list of configurations for asynchronous invocation for a function.
*
*
* To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
*
*
* @param listFunctionEventInvokeConfigsRequest
* @return Result of the ListFunctionEventInvokeConfigs operation returned by the service.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @sample AWSLambda.ListFunctionEventInvokeConfigs
* @see AWS API Documentation
*/
ListFunctionEventInvokeConfigsResult listFunctionEventInvokeConfigs(ListFunctionEventInvokeConfigsRequest listFunctionEventInvokeConfigsRequest);
/**
*
* Returns a list of Lambda functions, with the version-specific configuration of each. Lambda returns up to 50
* functions per call.
*
*
* Set FunctionVersion
to ALL
to include all published versions of each function in
* addition to the unpublished version.
*
*
*
* The ListFunctions
action returns a subset of the FunctionConfiguration fields. To get the
* additional fields (State, StateReasonCode, StateReason, LastUpdateStatus, LastUpdateStatusReason,
* LastUpdateStatusReasonCode) for a function or version, use GetFunction.
*
*
*
* @param listFunctionsRequest
* @return Result of the ListFunctions operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @sample AWSLambda.ListFunctions
* @see AWS API
* Documentation
*/
ListFunctionsResult listFunctions(ListFunctionsRequest listFunctionsRequest);
/**
* Simplified method form for invoking the ListFunctions operation.
*
* @see #listFunctions(ListFunctionsRequest)
*/
ListFunctionsResult listFunctions();
/**
*
* List the functions that use the specified code signing configuration. You can use this method prior to deleting a
* code signing configuration, to verify that no functions are using it.
*
*
* @param listFunctionsByCodeSigningConfigRequest
* @return Result of the ListFunctionsByCodeSigningConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @sample AWSLambda.ListFunctionsByCodeSigningConfig
* @see AWS API Documentation
*/
ListFunctionsByCodeSigningConfigResult listFunctionsByCodeSigningConfig(ListFunctionsByCodeSigningConfigRequest listFunctionsByCodeSigningConfigRequest);
/**
*
* Lists the versions of an Lambda
* layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only
* versions that indicate that they're compatible with that runtime.
*
*
* @param listLayerVersionsRequest
* @return Result of the ListLayerVersions operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.ListLayerVersions
* @see AWS API
* Documentation
*/
ListLayerVersionsResult listLayerVersions(ListLayerVersionsRequest listLayerVersionsRequest);
/**
*
* Lists Lambda layers and
* shows information about the latest version of each. Specify a runtime identifier to list only
* layers that indicate that they're compatible with that runtime.
*
*
* @param listLayersRequest
* @return Result of the ListLayers operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.ListLayers
* @see AWS API
* Documentation
*/
ListLayersResult listLayers(ListLayersRequest listLayersRequest);
/**
*
* Retrieves a list of provisioned concurrency configurations for a function.
*
*
* @param listProvisionedConcurrencyConfigsRequest
* @return Result of the ListProvisionedConcurrencyConfigs operation returned by the service.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @sample AWSLambda.ListProvisionedConcurrencyConfigs
* @see AWS API Documentation
*/
ListProvisionedConcurrencyConfigsResult listProvisionedConcurrencyConfigs(ListProvisionedConcurrencyConfigsRequest listProvisionedConcurrencyConfigsRequest);
/**
*
* Returns a function's tags. You can also
* view tags with GetFunction.
*
*
* @param listTagsRequest
* @return Result of the ListTags operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.ListTags
* @see AWS API
* Documentation
*/
ListTagsResult listTags(ListTagsRequest listTagsRequest);
/**
*
* Returns a list of versions,
* with the version-specific configuration of each. Lambda returns up to 50 versions per call.
*
*
* @param listVersionsByFunctionRequest
* @return Result of the ListVersionsByFunction operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @sample AWSLambda.ListVersionsByFunction
* @see AWS
* API Documentation
*/
ListVersionsByFunctionResult listVersionsByFunction(ListVersionsByFunctionRequest listVersionsByFunctionRequest);
/**
*
* Creates an Lambda layer from
* a ZIP archive. Each time you call PublishLayerVersion
with the same layer name, a new version is
* created.
*
*
* Add layers to your function with CreateFunction or UpdateFunctionConfiguration.
*
*
* @param publishLayerVersionRequest
* @return Result of the PublishLayerVersion operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws CodeStorageExceededException
* You have exceeded your maximum total code size per account. Learn more
* @sample AWSLambda.PublishLayerVersion
* @see AWS API
* Documentation
*/
PublishLayerVersionResult publishLayerVersion(PublishLayerVersionRequest publishLayerVersionRequest);
/**
*
* Creates a version from the
* current code and configuration of a function. Use versions to create a snapshot of your function code and
* configuration that doesn't change.
*
*
* Lambda doesn't publish a version if the function's configuration and code haven't changed since the last version.
* Use UpdateFunctionCode or UpdateFunctionConfiguration to update the function before publishing a
* version.
*
*
* Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias.
*
*
* @param publishVersionRequest
* @return Result of the PublishVersion operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws CodeStorageExceededException
* You have exceeded your maximum total code size per account. Learn more
* @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.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.PublishVersion
* @see AWS API
* Documentation
*/
PublishVersionResult publishVersion(PublishVersionRequest publishVersionRequest);
/**
*
* Update the code signing configuration for the function. Changes to the code signing configuration take effect the
* next time a user tries to deploy a code package to the function.
*
*
* @param putFunctionCodeSigningConfigRequest
* @return Result of the PutFunctionCodeSigningConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws CodeSigningConfigNotFoundException
* The specified code signing configuration does not exist.
* @sample AWSLambda.PutFunctionCodeSigningConfig
* @see AWS API Documentation
*/
PutFunctionCodeSigningConfigResult putFunctionCodeSigningConfig(PutFunctionCodeSigningConfigRequest putFunctionCodeSigningConfigRequest);
/**
*
* Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency
* level.
*
*
* Concurrency settings apply to the function as a whole, including all published versions and the unpublished
* version. Reserving concurrency both ensures that your function has capacity to process the specified number of
* events simultaneously, and prevents it from scaling beyond that level. Use GetFunction to see the current
* setting for a function.
*
*
* Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency for as many
* functions as you like, as long as you leave at least 100 simultaneous executions unreserved for functions that
* aren't configured with a per-function limit. For more information, see Managing Concurrency.
*
*
* @param putFunctionConcurrencyRequest
* @return Result of the PutFunctionConcurrency operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.PutFunctionConcurrency
* @see AWS
* API Documentation
*/
PutFunctionConcurrencyResult putFunctionConcurrency(PutFunctionConcurrencyRequest putFunctionConcurrencyRequest);
/**
*
* Configures options for asynchronous
* invocation on a function, version, or alias. If a configuration already exists for a function, version, or
* alias, this operation overwrites it. If you exclude any settings, they are removed. To set one option without
* affecting existing settings for other options, use UpdateFunctionEventInvokeConfig.
*
*
* By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains events
* in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous
* invocation queue for too long, Lambda discards it. To retain discarded events, configure a dead-letter queue with
* UpdateFunctionConfiguration.
*
*
* To send an invocation record to a queue, topic, function, or event bus, specify a destination. You can configure separate destinations for successful invocations (on-success) and events that
* fail all processing attempts (on-failure). You can configure destinations in addition to or instead of a
* dead-letter queue.
*
*
* @param putFunctionEventInvokeConfigRequest
* @return Result of the PutFunctionEventInvokeConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.PutFunctionEventInvokeConfig
* @see AWS API Documentation
*/
PutFunctionEventInvokeConfigResult putFunctionEventInvokeConfig(PutFunctionEventInvokeConfigRequest putFunctionEventInvokeConfigRequest);
/**
*
* Adds a provisioned concurrency configuration to a function's alias or version.
*
*
* @param putProvisionedConcurrencyConfigRequest
* @return Result of the PutProvisionedConcurrencyConfig operation returned by the service.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @sample AWSLambda.PutProvisionedConcurrencyConfig
* @see AWS API Documentation
*/
PutProvisionedConcurrencyConfigResult putProvisionedConcurrencyConfig(PutProvisionedConcurrencyConfigRequest putProvisionedConcurrencyConfigRequest);
/**
*
* Removes a statement from the permissions policy for a version of an Lambda layer. For more
* information, see AddLayerVersionPermission.
*
*
* @param removeLayerVersionPermissionRequest
* @return Result of the RemoveLayerVersionPermission operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @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.RemoveLayerVersionPermission
* @see AWS API Documentation
*/
RemoveLayerVersionPermissionResult removeLayerVersionPermission(RemoveLayerVersionPermissionRequest removeLayerVersionPermissionRequest);
/**
*
* Revokes function-use permission from an Amazon Web Services service or another account. You can get the ID of the
* statement from the output of GetPolicy.
*
*
* @param removePermissionRequest
* @return Result of the RemovePermission operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @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);
/**
*
* Adds tags to a function.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Removes tags from a function.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Updates the configuration of a Lambda function alias.
*
*
* @param updateAliasRequest
* @return Result of the UpdateAlias operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @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.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.UpdateAlias
* @see AWS API
* Documentation
*/
UpdateAliasResult updateAlias(UpdateAliasRequest updateAliasRequest);
/**
*
* Update the code signing configuration. Changes to the code signing configuration take effect the next time a user
* tries to deploy a code package to the function.
*
*
* @param updateCodeSigningConfigRequest
* @return Result of the UpdateCodeSigningConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @sample AWSLambda.UpdateCodeSigningConfig
* @see AWS
* API Documentation
*/
UpdateCodeSigningConfigResult updateCodeSigningConfig(UpdateCodeSigningConfigRequest updateCodeSigningConfigRequest);
/**
*
* Updates an event source mapping. You can change the function that Lambda invokes, or pause invocation and resume
* later from the same location.
*
*
* The following error handling options are only available for stream sources (DynamoDB and Kinesis):
*
*
* -
*
* BisectBatchOnFunctionError
- If the function returns an error, split the batch in two and retry.
*
*
* -
*
* DestinationConfig
- Send discarded records to an Amazon SQS queue or Amazon SNS topic.
*
*
* -
*
* MaximumRecordAgeInSeconds
- Discard records older than the specified age. The default value is
* infinite (-1). When set to infinite (-1), failed records are retried until the record expires
*
*
* -
*
* MaximumRetryAttempts
- Discard records after the specified number of retries. The default value is
* infinite (-1). When set to infinite (-1), failed records are retried until the record expires.
*
*
* -
*
* ParallelizationFactor
- Process multiple batches from each shard concurrently.
*
*
*
*
* @param updateEventSourceMappingRequest
* @return Result of the UpdateEventSourceMapping operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws ResourceInUseException
* The operation conflicts with the resource's availability. For example, you attempted to update an
* EventSource Mapping in CREATING, or tried to delete a EventSource mapping currently in the UPDATING
* state.
* @sample AWSLambda.UpdateEventSourceMapping
* @see AWS API Documentation
*/
UpdateEventSourceMappingResult updateEventSourceMapping(UpdateEventSourceMappingRequest updateEventSourceMappingRequest);
/**
*
* Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed by
* a trusted publisher. For more information, see Configuring code signing.
*
*
* The function's code is locked when you publish a version. You can't modify the code of a published version, only
* the unpublished version.
*
*
*
* For a function defined as a container image, Lambda resolves the image tag to an image digest. In Amazon ECR, if
* you update the image tag to a new image, Lambda does not automatically update the function.
*
*
*
* @param updateFunctionCodeRequest
* @return Result of the UpdateFunctionCode operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws CodeStorageExceededException
* You have exceeded your maximum total code size per account. Learn more
* @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.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @throws CodeVerificationFailedException
* The code signature failed one or more of the validation checks for signature mismatch or expiry, and the
* code signing policy is set to ENFORCE. Lambda blocks the deployment.
* @throws InvalidCodeSignatureException
* The code signature failed the integrity check. Lambda always blocks deployment if the integrity check
* fails, even if code signing policy is set to WARN.
* @throws CodeSigningConfigNotFoundException
* The specified code signing configuration does not exist.
* @sample AWSLambda.UpdateFunctionCode
* @see AWS API
* Documentation
*/
UpdateFunctionCodeResult updateFunctionCode(UpdateFunctionCodeRequest updateFunctionCodeRequest);
/**
*
* Modify the version-specific settings of a Lambda function.
*
*
* When you update a function, Lambda provisions an instance of the function and its supporting resources. If your
* function connects to a VPC, this process can take a minute. During this time, you can't modify the function, but
* you can still invoke it. The LastUpdateStatus
, LastUpdateStatusReason
, and
* LastUpdateStatusReasonCode
fields in the response from GetFunctionConfiguration indicate when
* the update is complete and the function is processing events with the new configuration. For more information,
* see Function States.
*
*
* These settings can vary between versions of a function and are locked when you publish a version. You can't
* modify the configuration of a published version, only the unpublished version.
*
*
* To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an account
* or Amazon Web Services service, use AddPermission.
*
*
* @param updateFunctionConfigurationRequest
* @return Result of the UpdateFunctionConfiguration operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @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.
* @throws CodeVerificationFailedException
* The code signature failed one or more of the validation checks for signature mismatch or expiry, and the
* code signing policy is set to ENFORCE. Lambda blocks the deployment.
* @throws InvalidCodeSignatureException
* The code signature failed the integrity check. Lambda always blocks deployment if the integrity check
* fails, even if code signing policy is set to WARN.
* @throws CodeSigningConfigNotFoundException
* The specified code signing configuration does not exist.
* @sample AWSLambda.UpdateFunctionConfiguration
* @see AWS API Documentation
*/
UpdateFunctionConfigurationResult updateFunctionConfiguration(UpdateFunctionConfigurationRequest updateFunctionConfigurationRequest);
/**
*
* Updates the configuration for asynchronous invocation for a function, version, or alias.
*
*
* To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.
*
*
* @param updateFunctionEventInvokeConfigRequest
* @return Result of the UpdateFunctionEventInvokeConfig operation returned by the service.
* @throws ServiceException
* The Lambda service encountered an internal error.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InvalidParameterValueException
* One of the parameters in the request is invalid.
* @throws TooManyRequestsException
* The request throughput limit was exceeded.
* @throws ResourceConflictException
* The resource already exists, or another operation is in progress.
* @sample AWSLambda.UpdateFunctionEventInvokeConfig
* @see AWS API Documentation
*/
UpdateFunctionEventInvokeConfigResult updateFunctionEventInvokeConfig(UpdateFunctionEventInvokeConfigRequest updateFunctionEventInvokeConfigRequest);
/**
* 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);
AWSLambdaWaiters waiters();
}