Skip to content

Stages Module

Pipeline stage definitions for CDK Pipelines.

base

Base stage classes for CDK Pipeline deployments.

This module provides stage classes for use with CDK Pipelines, enabling environment-aware deployment stages.

Classes

ConfigBasedStage

ConfigBasedStage(
    scope: Construct,
    id: str | None,
    config: StageConfig,
    **kwargs
)

Bases: Stage, EnvBaseStackMixins

CDK Stage configured from a StageConfig object.

Provides environment-aware stage functionality with automatic tagging and configuration-driven setup.

Initialize a configuration-based stage.

Parameters:

Name Type Description Default
scope Construct

The parent construct scope.

required
id Optional[str]

The stage ID. Auto-generated if None.

required
config StageConfig

The stage configuration object.

required
**kwargs

Additional arguments passed to cdk.Stage.

{}
Source code in src/aibs_informatics_cdk_lib/stages/base.py
def __init__(
    self, scope: constructs.Construct, id: str | None, config: StageConfig, **kwargs
) -> None:
    """Initialize a configuration-based stage.

    Args:
        scope (constructs.Construct): The parent construct scope.
        id (Optional[str]): The stage ID. Auto-generated if None.
        config (StageConfig): The stage configuration object.
        **kwargs: Additional arguments passed to cdk.Stage.
    """
    super().__init__(
        scope, id or config.env.env_base.get_construct_id(self.__class__.__name__), **kwargs
    )
    self.config = config
    self.env_base = config.env.env_base
    self.add_tags(*self.stage_tags)
Functions
get_stack_name
get_stack_name(
    stack_class: type[Stack] | str, *names: str
) -> str

Get a stage-qualified stack name.

Parameters:

Name Type Description Default
stack_class Union[Type[Stack], str]

Stack class or name.

required
*names str

Additional name components.

()

Returns:

Type Description
str

The fully qualified stack name for this stage.

Source code in src/aibs_informatics_cdk_lib/stages/base.py
def get_stack_name(self, stack_class: type[cdk.Stack] | str, *names: str) -> str:
    """Get a stage-qualified stack name.

    Args:
        stack_class (Union[Type[cdk.Stack], str]): Stack class or name.
        *names (str): Additional name components.

    Returns:
        The fully qualified stack name for this stage.
    """
    return self.env_base.get_stage_name(
        stack_class.__name__ if not isinstance(stack_class, str) else stack_class, *names
    )