Skip to content

AWS::Lambda::Version

Resource Type definition for AWS::Lambda::Version

Generated by cfn-typegen --out cfn_types AWS::Lambda::Version into cfn_types/lambda_.py:

# Generated by cfn-typegen from the CloudFormation registry schemas. Do not edit.
# fmt: off
# ruff: noqa
"""AWS::Lambda resources."""

from typing import Any, Literal, NotRequired, Unpack
from typing_extensions import TypedDict
from cfn_typed.base import DeletionPolicy, DependsOn, ResourceAttrs, UpdateReplacePolicy, build
from cfn_typed.intrinsics import Expr


_c0="^(arn:(aws[a-zA-Z-]*)?:lambda:)?((eusc-)?[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$"
CONSTRAINTS:dict[str,Any]={
'AWS::Lambda::Version':{'FunctionArn':{'p':_c0},'Description':{'l':0,'L':256},'FunctionName':{'p':_c0,'l':1,'L':140},'RuntimePolicy':{'P':{'RuntimeVersionArn':{'p':"^arn:(aws[a-zA-Z-]*):lambda:(eusc-)?[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}::runtime:.+$",'l':26,'L':2048}}},'FunctionScalingConfig':{'P':{'MinExecutionEnvironments':{'m':0},'MaxExecutionEnvironments':{'m':0}}}},
}


ATTRIBUTES:dict[str,Any]={"AWS::Lambda::Version":["FunctionArn","Version"]}


RULES:dict[str,Any]={}
Nested types (6)

These are defined above the properties in the generated module.

class VersionProvisionedConcurrencyConfiguration(TypedDict, closed=True):
    "A provisioned concurrency configuration for a function's version."
    ProvisionedConcurrentExecutions: Expr[int]
    'The amount of provisioned concurrency to allocate for the version.'


class VersionRuntimePolicy(TypedDict, closed=True):
    'Runtime Management Config of a function.'
    RuntimeVersionArn: NotRequired[Expr[str]]
    'The ARN of the runtime the function is configured to use.'
    UpdateRuntimeOn: Expr[str]
    'The runtime update mode.'


class VersionFunctionScalingConfig(TypedDict, closed=True):
    'Configuration that defines the scaling behavior for a Lambda Managed Instances function, including the minimum and maximum number of execution environments t...'
    MinExecutionEnvironments: NotRequired[Expr[int]]
    'The minimum number of execution environments to maintain for the function.'
    MaxExecutionEnvironments: NotRequired[Expr[int]]
    'The maximum number of execution environments that can be provisioned for the function.'


class VersionProps(TypedDict, closed=True):
    'Resource Type definition for AWS::Lambda::Version'
    CodeSha256: NotRequired[Expr[str]]
    "Only publish a version if the hash value matches the value that's specified."
    Description: NotRequired[Expr[str]]
    'A description for the version to override the description in the function configuration.'
    FunctionName: Expr[str]
    'The name of the Lambda function.'
    ProvisionedConcurrencyConfig: NotRequired[Expr[VersionProvisionedConcurrencyConfiguration]]
    "Specifies a provisioned concurrency configuration for a function's version."
    RuntimePolicy: NotRequired[Expr[VersionRuntimePolicy]]
    'Specifies the runtime management configuration of a function.'
    FunctionScalingConfig: NotRequired[Expr[VersionFunctionScalingConfig]]
    'The scaling configuration to apply to the function, including minimum and maximum execution environment limits.'


class Version(ResourceAttrs):
    'Resource Type definition for AWS::Lambda::Version'
    Type: Literal['AWS::Lambda::Version']
    Properties: VersionProps


def version(
    *,
    depends_on: DependsOn | None = None,
    deletion_policy: DeletionPolicy | None = None,
    update_replace_policy: UpdateReplacePolicy | None = None,
    condition: str | None = None,
    metadata: dict[str, Any] | None = None,
    **props: Unpack[VersionProps],
) -> Version:
    return build('AWS::Lambda::Version', props, depends_on, deletion_policy, update_replace_policy, condition, metadata)

Attributes

Read-only values for get_att(logical_id, attribute). They are not accepted as inputs.

  • FunctionArn
  • Version