AWS::Lambda::Version
The AWS::Lambda::Version
resource 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.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::Lambda::Version", "Properties" : { "CodeSha256" :
String
, "Description" :String
, "FunctionName" :String
, "Policy" :Json
, "ProvisionedConcurrencyConfig" :ProvisionedConcurrencyConfiguration
, "RuntimePolicy" :RuntimePolicy
} }
YAML
Type: AWS::Lambda::Version Properties: CodeSha256:
String
Description:String
FunctionName:String
Policy:Json
ProvisionedConcurrencyConfig:ProvisionedConcurrencyConfiguration
RuntimePolicy:RuntimePolicy
Properties
CodeSha256
-
Only publish a version if the hash value matches the value that's specified. Use this option to avoid publishing a version if the function code has changed since you last updated it. Updates are not supported for this property.
Required: No
Type: String
Update requires: Replacement
Description
-
A description for the version to override the description in the function configuration. Updates are not supported for this property.
Required: No
Type: String
Minimum:
0
Maximum:
256
Update requires: Replacement
FunctionName
-
The name or ARN of the Lambda function.
Name formats
-
Function name -
MyFunction
. -
Function ARN -
arn:aws:lambda:us-west-2:123456789012:function:MyFunction
. -
Partial ARN -
123456789012:function:MyFunction
.
The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
Required: Yes
Type: String
Pattern:
^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?$
Minimum:
1
Maximum:
140
Update requires: Replacement
-
Policy
Property description not available.
Required: No
Type: Json
Update requires: No interruption
ProvisionedConcurrencyConfig
-
Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property.
Required: No
Type: ProvisionedConcurrencyConfiguration
Update requires: Replacement
RuntimePolicy
Property description not available.
Required: No
Type: RuntimePolicy
Update requires: Replacement
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the ARN of the version, such as
arn:aws:lambda:us-west-2:123456789012:function:helloworld:1
.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
The Fn::GetAtt
intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt
intrinsic function, see Fn::GetAtt
.
FunctionArn
-
The ARN of the function.
Version
-
The version number.
Examples
Function Version
Publish a version with provisioned concurrency.
YAML
Resources: function: Type: AWS::Lambda::Function Properties: Handler: index.handler Role: arn:aws:iam::123456789012:role/lambda-role Code: ZipFile: | exports.handler = async (event) => { console.log(JSON.stringify(event, null, 2)); const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; }; Runtime: nodejs18.x TracingConfig: Mode: Active version: Type: AWS::Lambda::Version Properties: FunctionName: !Ref function Description: v1 ProvisionedConcurrencyConfig: ProvisionedConcurrentExecutions: 20