Class CfnFunction
- All Implemented Interfaces:
IConstruct,IDependable,IInspectable,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct
AWS::Lambda::Function.
The AWS::Lambda::Function resource 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 AWS services, such as Amazon CloudWatch Logs for log streaming and AWS 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. For a Python example, see Deploy Python Lambda functions with .zip file archives .
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 a set of signing profiles, which define the trusted publishers for this function.
Note that you configure provisioned concurrency on a AWS::Lambda::Version or a AWS::Lambda::Alias .
For a complete introduction to Lambda functions, see What is Lambda? in the Lambda developer guide.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.lambda.*;
CfnFunction cfnFunction = CfnFunction.Builder.create(this, "MyCfnFunction")
.code(CodeProperty.builder()
.imageUri("imageUri")
.s3Bucket("s3Bucket")
.s3Key("s3Key")
.s3ObjectVersion("s3ObjectVersion")
.zipFile("zipFile")
.build())
.role("role")
// the properties below are optional
.architectures(List.of("architectures"))
.codeSigningConfigArn("codeSigningConfigArn")
.deadLetterConfig(DeadLetterConfigProperty.builder()
.targetArn("targetArn")
.build())
.description("description")
.environment(EnvironmentProperty.builder()
.variables(Map.of(
"variablesKey", "variables"))
.build())
.ephemeralStorage(EphemeralStorageProperty.builder()
.size(123)
.build())
.fileSystemConfigs(List.of(FileSystemConfigProperty.builder()
.arn("arn")
.localMountPath("localMountPath")
.build()))
.functionName("functionName")
.handler("handler")
.imageConfig(ImageConfigProperty.builder()
.command(List.of("command"))
.entryPoint(List.of("entryPoint"))
.workingDirectory("workingDirectory")
.build())
.kmsKeyArn("kmsKeyArn")
.layers(List.of("layers"))
.memorySize(123)
.packageType("packageType")
.reservedConcurrentExecutions(123)
.runtime("runtime")
.runtimeManagementConfig(RuntimeManagementConfigProperty.builder()
.updateRuntimeOn("updateRuntimeOn")
// the properties below are optional
.runtimeVersionArn("runtimeVersionArn")
.build())
.snapStart(SnapStartProperty.builder()
.applyOn("applyOn")
.build())
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.timeout(123)
.tracingConfig(TracingConfigProperty.builder()
.mode("mode")
.build())
.vpcConfig(VpcConfigProperty.builder()
.securityGroupIds(List.of("securityGroupIds"))
.subnetIds(List.of("subnetIds"))
.build())
.build();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA fluent builder forCfnFunction.static interfaceThe deployment package for a Lambda function.static interfaceThe dead-letter queue for failed asynchronous invocations.static interfaceA function's environment variable settings.static interfaceThe size of the function's/tmpdirectory in MB.static interfaceDetails about the connection between a Lambda function and an Amazon EFS file system .static interfaceConfiguration values that override the container image Dockerfile settings.static interfaceSets the runtime management configuration for a function's version.static interfaceThe function's AWS Lambda SnapStart setting.static interfaceThe function's SnapStart setting.static interfaceThe function's AWS X-Ray tracing configuration.static interfaceThe VPC security groups and subnets that are attached to a Lambda function.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe CloudFormation resource type name for this resource class. -
Constructor Summary
ConstructorsModifierConstructorDescriptionCfnFunction(Construct scope, String id, CfnFunctionProps props) Create a newAWS::Lambda::Function.protectedCfnFunction(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnFunction(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionThe instruction set architecture that the function supports.The Amazon Resource Name (ARN) of the function.getCode()The code for the function.To enable code signing for this function, specify the ARN of a code-signing configuration.A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.A description of the function.Environment variables that are accessible from function code during execution.The size of the function's/tmpdirectory in MB.Connection settings for an Amazon EFS file system.The name of the Lambda function, up to 64 characters in length.The name of the method within your code that Lambda calls to run your function.Configuration values that override the container image Dockerfile settings.The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's environment variables .A list of function layers to add to the function's execution environment.The amount of memory available to the function at runtime.The type of deployment package.The number of simultaneous executions to reserve for the function.getRole()The Amazon Resource Name (ARN) of the function's execution role.The identifier of the function's runtime .Sets the runtime management configuration for a function's version.The function's AWS Lambda SnapStart setting.getTags()A list of tags to apply to the function.The amount of time (in seconds) that Lambda allows a function to run before stopping it.For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidsetArchitectures(List<String> value) The instruction set architecture that the function supports.voidsetCode(IResolvable value) The code for the function.voidsetCode(CfnFunction.CodeProperty value) The code for the function.voidsetCodeSigningConfigArn(String value) To enable code signing for this function, specify the ARN of a code-signing configuration.voidsetDeadLetterConfig(IResolvable value) A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.voidA dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.voidsetDescription(String value) A description of the function.voidsetEnvironment(IResolvable value) Environment variables that are accessible from function code during execution.voidEnvironment variables that are accessible from function code during execution.voidsetEphemeralStorage(IResolvable value) The size of the function's/tmpdirectory in MB.voidThe size of the function's/tmpdirectory in MB.voidsetFileSystemConfigs(List<Object> value) Connection settings for an Amazon EFS file system.voidsetFileSystemConfigs(IResolvable value) Connection settings for an Amazon EFS file system.voidsetFunctionName(String value) The name of the Lambda function, up to 64 characters in length.voidsetHandler(String value) The name of the method within your code that Lambda calls to run your function.voidsetImageConfig(IResolvable value) Configuration values that override the container image Dockerfile settings.voidConfiguration values that override the container image Dockerfile settings.voidsetKmsKeyArn(String value) The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's environment variables .voidA list of function layers to add to the function's execution environment.voidsetMemorySize(Number value) The amount of memory available to the function at runtime.voidsetPackageType(String value) The type of deployment package.voidThe number of simultaneous executions to reserve for the function.voidThe Amazon Resource Name (ARN) of the function's execution role.voidsetRuntime(String value) The identifier of the function's runtime .voidSets the runtime management configuration for a function's version.voidSets the runtime management configuration for a function's version.voidsetSnapStart(IResolvable value) The function's AWS Lambda SnapStart setting.voidThe function's AWS Lambda SnapStart setting.voidsetTimeout(Number value) The amount of time (in seconds) that Lambda allows a function to run before stopping it.voidsetTracingConfig(IResolvable value) voidvoidsetVpcConfig(IResolvable value) For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.voidFor network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.Methods inherited from class software.amazon.awscdk.core.CfnResource
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validatePropertiesMethods inherited from class software.amazon.awscdk.core.CfnRefElement
getRefMethods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdMethods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validateMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnFunction
protected CfnFunction(software.amazon.jsii.JsiiObjectRef objRef) -
CfnFunction
protected CfnFunction(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnFunction
@Stability(Stable) public CfnFunction(@NotNull Construct scope, @NotNull String id, @NotNull CfnFunctionProps props) Create a newAWS::Lambda::Function.- Parameters:
scope-- scope in which this resource is defined.
id-- scoped id of the resource.
props-- resource properties.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspectin interfaceIInspectable- Parameters:
inspector-- tree inspector to collect and process attributes.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderPropertiesin classCfnResource- Parameters:
props- This parameter is required.
-
getAttrArn
The Amazon Resource Name (ARN) of the function. -
getAttrSnapStartResponseApplyOn
-
getAttrSnapStartResponseOptimizationStatus
-
getCfnProperties
- Overrides:
getCfnPropertiesin classCfnResource
-
getTags
A list of tags to apply to the function. -
getCode
The code for the function. -
setCode
The code for the function. -
setCode
The code for the function. -
getRole
The Amazon Resource Name (ARN) of the function's execution role. -
setRole
The Amazon Resource Name (ARN) of the function's execution role. -
getArchitectures
The instruction set architecture that the function supports.Enter a string array with one of the valid values (arm64 or x86_64). The default value is
x86_64. -
setArchitectures
The instruction set architecture that the function supports.Enter a string array with one of the valid values (arm64 or x86_64). The default value is
x86_64. -
getCodeSigningConfigArn
To enable code signing for this function, specify the ARN of a code-signing configuration.A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
-
setCodeSigningConfigArn
To enable code signing for this function, specify the ARN of a code-signing configuration.A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
-
getDeadLetterConfig
A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.For more information, see Dead-letter queues .
-
setDeadLetterConfig
A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.For more information, see Dead-letter queues .
-
setDeadLetterConfig
@Stability(Stable) public void setDeadLetterConfig(@Nullable CfnFunction.DeadLetterConfigProperty value) A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.For more information, see Dead-letter queues .
-
getDescription
A description of the function. -
setDescription
A description of the function. -
getEnvironment
Environment variables that are accessible from function code during execution. -
setEnvironment
Environment variables that are accessible from function code during execution. -
setEnvironment
Environment variables that are accessible from function code during execution. -
getEphemeralStorage
The size of the function's/tmpdirectory in MB.The default value is 512, but it can be any whole number between 512 and 10,240 MB.
-
setEphemeralStorage
The size of the function's/tmpdirectory in MB.The default value is 512, but it can be any whole number between 512 and 10,240 MB.
-
setEphemeralStorage
@Stability(Stable) public void setEphemeralStorage(@Nullable CfnFunction.EphemeralStorageProperty value) The size of the function's/tmpdirectory in MB.The default value is 512, but it can be any whole number between 512 and 10,240 MB.
-
getFileSystemConfigs
Connection settings for an Amazon EFS file system.To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an AWS::EFS::MountTarget resource, you must also specify a
DependsOnattribute to ensure that the mount target is created or updated before the function.For more information about using the
DependsOnattribute, see DependsOn Attribute . -
setFileSystemConfigs
Connection settings for an Amazon EFS file system.To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an AWS::EFS::MountTarget resource, you must also specify a
DependsOnattribute to ensure that the mount target is created or updated before the function.For more information about using the
DependsOnattribute, see DependsOn Attribute . -
setFileSystemConfigs
Connection settings for an Amazon EFS file system.To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an AWS::EFS::MountTarget resource, you must also specify a
DependsOnattribute to ensure that the mount target is created or updated before the function.For more information about using the
DependsOnattribute, see DependsOn Attribute . -
getFunctionName
The name of the Lambda function, up to 64 characters in length.If you don't specify a name, AWS CloudFormation generates one.
If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
-
setFunctionName
The name of the Lambda function, up to 64 characters in length.If you don't specify a name, AWS CloudFormation generates one.
If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
-
getHandler
The name of the method within your code that Lambda calls to run your function.Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Lambda programming model .
-
setHandler
The name of the method within your code that Lambda calls to run your function.Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Lambda programming model .
-
getImageConfig
Configuration values that override the container image Dockerfile settings.For more information, see Container image settings .
-
setImageConfig
Configuration values that override the container image Dockerfile settings.For more information, see Container image settings .
-
setImageConfig
Configuration values that override the container image Dockerfile settings.For more information, see Container image settings .
-
getKmsKeyArn
The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's environment variables . When Lambda SnapStart is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key. -
setKmsKeyArn
The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's environment variables . When Lambda SnapStart is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key. -
getLayers
A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version. -
setLayers
A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version. -
getMemorySize
The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB. -
setMemorySize
The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB. -
getPackageType
The type of deployment package.Set to
Imagefor container image and setZipfor .zip file archive. -
setPackageType
The type of deployment package.Set to
Imagefor container image and setZipfor .zip file archive. -
getReservedConcurrentExecutions
The number of simultaneous executions to reserve for the function. -
setReservedConcurrentExecutions
The number of simultaneous executions to reserve for the function. -
getRuntime
The identifier of the function's runtime . Runtime is required if the deployment package is a .zip file archive.The following list includes deprecated runtimes. For more information, see Runtime deprecation policy .
-
setRuntime
The identifier of the function's runtime . Runtime is required if the deployment package is a .zip file archive.The following list includes deprecated runtimes. For more information, see Runtime deprecation policy .
-
getRuntimeManagementConfig
Sets the runtime management configuration for a function's version.For more information, see Runtime updates .
-
setRuntimeManagementConfig
Sets the runtime management configuration for a function's version.For more information, see Runtime updates .
-
setRuntimeManagementConfig
@Stability(Stable) public void setRuntimeManagementConfig(@Nullable CfnFunction.RuntimeManagementConfigProperty value) Sets the runtime management configuration for a function's version.For more information, see Runtime updates .
-
getSnapStart
The function's AWS Lambda SnapStart setting. -
setSnapStart
The function's AWS Lambda SnapStart setting. -
setSnapStart
The function's AWS Lambda SnapStart setting. -
getTimeout
The amount of time (in seconds) that Lambda allows a function to run before stopping it.The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see Lambda execution environment .
-
setTimeout
The amount of time (in seconds) that Lambda allows a function to run before stopping it.The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see Lambda execution environment .
-
getTracingConfig
-
setTracingConfig
-
setTracingConfig
-
getVpcConfig
For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see Configuring a Lambda function to access resources in a VPC .
-
setVpcConfig
For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see Configuring a Lambda function to access resources in a VPC .
-
setVpcConfig
For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see Configuring a Lambda function to access resources in a VPC .
-