Skip to content

Target

Deployment target definitions for CI/CD pipelines.

target

Classes

CDKStackTargetBaseEnum

Bases: Enum

Base class for CDK stack target types

Usage

class MyCDKStackTarget(str, CDKStackTargetBaseEnum): INFRA = "pipeline"

Functions
from_context classmethod
from_context(
    node: Node,
    default: str | T,
    context_keys: list[str] | None = None,
) -> T

Resolves the CDK stack target type from context

Parameters:

Name Type Description Default
cls Type[T]

subclassed CDKStackTargetBase

required
node Node

cdk construct node

required
default str

default to use.

required
context_keys Optional[list[str]]

overrides for context names. Defaults to None.

None

Returns:

Type Description
T

CDKStackTargetBase instance

Source code in src/aibs_informatics_cdk_lib/cicd/target.py
@classmethod
def from_context(
    cls: type[T],
    node: constructs.Node,
    default: str | T,
    context_keys: list[str] | None = None,
) -> T:
    """Resolves the CDK stack target type from context

    Args:
        cls (Type[T]): subclassed CDKStackTargetBase
        node (constructs.Node): cdk construct node
        default (str): default to use.
        context_keys (Optional[list[str]], optional): overrides for context names.
            Defaults to None.

    Returns:
        CDKStackTargetBase instance
    """
    context_keys = context_keys or ["target", "stack_target"]

    target = _get_from_context(node, context_keys) or default

    return cls(target)
from_context_or_env classmethod
from_context_or_env(
    node: Node,
    default: str | T,
    context_keys: list[str] | None = None,
) -> T

Resolves the CDK stack target type from context or environment

Order of resolution
  1. CDK context value (specifying -c K=V)
  2. env variable
  3. default value ("dev")

Parameters:

Name Type Description Default
cls Type[T]

subclassed CDKStackTargetBase

required
node Node

cdk construct node

required
default str

default to use.

required
context_keys Optional[list[str]]

overrides for context names. Defaults to None.

None
Source code in src/aibs_informatics_cdk_lib/cicd/target.py
@classmethod
def from_context_or_env(
    cls: type[T],
    node: constructs.Node,
    default: str | T,
    context_keys: list[str] | None = None,
) -> T:
    """Resolves the CDK stack target type from context or environment

    Order of resolution:
        1. CDK context value (specifying -c K=V)
        2. env variable
        3. default value ("dev")

    Args:
        cls (Type[T]): subclassed CDKStackTargetBase
        node (constructs.Node): cdk construct node
        default (str): default to use.
        context_keys (Optional[list[str]], optional): overrides for context names.
            Defaults to None.

    """

    return cls.from_context(
        node=node, default=cls.from_env(default), context_keys=context_keys
    )