Skip to content

AWS::Lambda::Alias

Resource Type definition for AWS::Lambda::Alias

Generated by cfn-typegen --out cfn_types AWS::Lambda::Alias 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 collections.abc import Sequence
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


CONSTRAINTS:dict[str,Any]={
}


ATTRIBUTES:dict[str,Any]={"AWS::Lambda::Alias":["AliasArn"]}


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

These are defined above the properties in the generated module.

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


class AliasVersionWeight(TypedDict, closed=True):
    'The traffic-shifting configuration of a Lambda function alias.'
    FunctionWeight: Expr[float]
    'The percentage of traffic that the alias routes to the second version.'
    FunctionVersion: Expr[str]
    'The qualifier of the second version.'


class AliasAliasRoutingConfiguration(TypedDict, closed=True):
    'The traffic-shifting configuration of a Lambda function alias.'
    AdditionalVersionWeights: NotRequired[Expr[Sequence[Expr[AliasVersionWeight]]]]
    "The second version, and the percentage of traffic that's routed to it."


class AliasProps(TypedDict, closed=True):
    'Resource Type definition for AWS::Lambda::Alias'
    FunctionName: Expr[str]
    'The name of the Lambda function.'
    ProvisionedConcurrencyConfig: NotRequired[Expr[AliasProvisionedConcurrencyConfiguration]]
    "Specifies a provisioned concurrency configuration for a function's alias."
    Description: NotRequired[Expr[str]]
    'A description of the alias.'
    FunctionVersion: Expr[str]
    'The function version that the alias invokes.'
    RoutingConfig: NotRequired[Expr[AliasAliasRoutingConfiguration]]
    'The routing configuration of the alias.'
    Name: Expr[str]
    'The name of the alias.'


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


def alias(
    *,
    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[AliasProps],
) -> Alias:
    return build('AWS::Lambda::Alias', 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.

  • AliasArn