Module gcip.addons.aws.jobs.cdk
Classes
class Bootstrap (*,
aws_account_id: str,
aws_region: str,
toolkit_stack_name: str,
qualifier: str,
resource_tags: dict[str, str] | None = None,
jobName: dataclasses.InitVar[str] = 'toolkit-stack',
jobStage: dataclasses.InitVar[str] = 'deploy')-
Expand source code
@dataclass(kw_only=True) class Bootstrap(Job): aws_account_id: str aws_region: str toolkit_stack_name: str qualifier: str resource_tags: dict[str, str] | None = None jobName: InitVar[str] = "toolkit-stack" jobStage: InitVar[str] = "deploy" def __post_init__(self, jobName: str, jobStage: str) -> None: """ This job has a lot of custom configuration options. With the `job_opts` parameter, you can control the basic `Job` configuration. However this is not necessary. The Execute jobs has following defaults for the basic `Job` configuration: * `job_opts.name` defaults to `toolkit-stack` * `job_opts.stage` defaults to `deploy` contain the `crane` binary. """ super().__init__(script="", name=jobName, stage=jobStage) self.add_variables(CDK_NEW_BOOTSTRAP="1") def render(self) -> dict[str, Any]: script = [ "cdk bootstrap", f"--toolkit-stack-name {self.toolkit_stack_name}", f"--qualifier {self.qualifier}", f"aws://{self.aws_account_id}/{self.aws_region}", ] if self.resource_tags: script.extend([f"-t {k}={v}" for k, v in self.resource_tags.items()]) self._scripts = [" ".join(script)] return super().render()
Bootstrap(*, aws_account_id: str, aws_region: str, toolkit_stack_name: str, qualifier: str, resource_tags: dict[str, str] | None = None, jobName: dataclasses.InitVar[str] = 'toolkit-stack', jobStage: dataclasses.InitVar[str] = 'deploy')
Ancestors
Instance variables
var aws_account_id : str
var aws_region : str
var jobName : dataclasses.InitVar[str]
var jobStage : dataclasses.InitVar[str]
var qualifier : str
var toolkit_stack_name : str
Inherited members
Job
:add_dependencies
add_needs
add_tags
add_variables
allow_failure
append_rules
append_scripts
artifacts
cache
dependencies
environment
image
name
needs
prepend_rules
prepend_scripts
render
resource_group
retry
rules
scripts
set_allow_failure
set_artifacts
set_cache
set_dependencies
set_environment
set_image
set_needs
set_resource_group
set_retry
set_tags
set_timeout
set_when
stage
tags
timeout
variables
when
class Deploy (*,
stacks: list[str] = <factory>,
toolkit_stack_name: str | None = None,
strict: bool = True,
deploy_options: str | None = None,
context: dict[str, str] | None = None,
jobName: dataclasses.InitVar[str] = 'cdk',
jobStage: dataclasses.InitVar[str] = 'deploy')-
Expand source code
@dataclass(kw_only=True) class Deploy(Job): stacks: list[str] = field(default_factory=list) toolkit_stack_name: str | None = None strict: bool = True deploy_options: str | None = None context: dict[str, str] | None = None jobName: InitVar[str] = "cdk" jobStage: InitVar[str] = "deploy" def __post_init__(self, jobName: str, jobStage: str) -> None: super().__init__(script="", name=jobName, stage=jobStage) def render(self) -> dict[str, Any]: self._scripts = [] stacks_string = " ".join(self.stacks) script = ["cdk deploy --require-approval 'never'"] if self.strict: script.append("--strict") if self.deploy_options: script.append(self.deploy_options) if self.context: script.extend([f"-c {k}={v}" for k, v in self.context.items()]) script.append(f"--toolkit-stack-name {self.toolkit_stack_name}") script.append(stacks_string) self._scripts.append(" ".join(script)) return super().render()
Deploy(*, stacks: list[str] =
, toolkit_stack_name: str | None = None, strict: bool = True, deploy_options: str | None = None, context: dict[str, str] | None = None, jobName: dataclasses.InitVar[str] = 'cdk', jobStage: dataclasses.InitVar[str] = 'deploy') Ancestors
Instance variables
var context : dict[str, str] | None
var deploy_options : str | None
var jobName : dataclasses.InitVar[str]
var jobStage : dataclasses.InitVar[str]
var stacks : list[str]
var strict : bool
var toolkit_stack_name : str | None
Inherited members
Job
:add_dependencies
add_needs
add_tags
add_variables
allow_failure
append_rules
append_scripts
artifacts
cache
dependencies
environment
image
name
needs
prepend_rules
prepend_scripts
render
resource_group
retry
rules
scripts
set_allow_failure
set_artifacts
set_cache
set_dependencies
set_environment
set_image
set_needs
set_resource_group
set_retry
set_tags
set_timeout
set_when
stage
tags
timeout
variables
when
class Diff (*,
stacks: list[str] = <factory>,
diff_options: str | None = None,
context: dict[str, str] | None = None,
jobName: dataclasses.InitVar[str] = 'cdk',
jobStage: dataclasses.InitVar[str] = 'diff')-
Expand source code
@dataclass(kw_only=True) class Diff(Job): stacks: list[str] = field(default_factory=list) diff_options: str | None = None context: dict[str, str] | None = None jobName: InitVar[str] = "cdk" jobStage: InitVar[str] = "diff" def __post_init__(self, jobName: str, jobStage: str) -> None: super().__init__(script="", name=jobName, stage=jobStage) def render(self) -> dict[str, Any]: script = ["cdk diff"] if self.diff_options: script.append(self.diff_options) if self.context: script.extend([f"-c {k}={v}" for k, v in self.context.items()]) script.append(" ".join(self.stacks)) self._scripts = [" ".join(script)] return super().render()
Diff(*, stacks: list[str] =
, diff_options: str | None = None, context: dict[str, str] | None = None, jobName: dataclasses.InitVar[str] = 'cdk', jobStage: dataclasses.InitVar[str] = 'diff') Ancestors
Instance variables
var context : dict[str, str] | None
var diff_options : str | None
var jobName : dataclasses.InitVar[str]
var jobStage : dataclasses.InitVar[str]
var stacks : list[str]
Inherited members
Job
:add_dependencies
add_needs
add_tags
add_variables
allow_failure
append_rules
append_scripts
artifacts
cache
dependencies
environment
image
name
needs
prepend_rules
prepend_scripts
render
resource_group
retry
rules
scripts
set_allow_failure
set_artifacts
set_cache
set_dependencies
set_environment
set_image
set_needs
set_resource_group
set_retry
set_tags
set_timeout
set_when
stage
tags
timeout
variables
when
class WaitForStackReady (*,
stacks: list[str] = <factory>,
wait_for_stack_assume_role: str | None = None,
wait_for_stack_account_id: str | None = None,
install_gcip: bool = True,
jobName: dataclasses.InitVar[str] = 'wait-for-stack-ready',
jobStage: dataclasses.InitVar[str] = 'deploy')-
Expand source code
@dataclass(kw_only=True) class WaitForStackReady(Job): stacks: list[str] = field(default_factory=list) wait_for_stack_assume_role: str | None = None wait_for_stack_account_id: str | None = None install_gcip: bool = True jobName: InitVar[str] = "wait-for-stack-ready" jobStage: InitVar[str] = "deploy" def __post_init__(self, jobName: str, jobStage: str) -> None: super().__init__(script=[], name=jobName, stage=jobStage) def render(self) -> dict[str, Any]: stacks_string = " ".join(self.stacks) wait_for_stack_options = "" if self.wait_for_stack_assume_role: wait_for_stack_options += ( f" --assume-role {self.wait_for_stack_assume_role}" ) if self.wait_for_stack_account_id: wait_for_stack_options += ( f" --assume-role-account-id {self.wait_for_stack_account_id}" ) elif self.wait_for_stack_account_id: warnings.warn( "`wait_for_stack_account_id` has no effects without `wait_for_stack_assume_role`" ) if self.install_gcip: self._scripts.append("pip3 install gcip") self._scripts.append( f"python3 -m gcip.addons.aws.tools.wait_for_cloudformation_stack_ready --stack-names '{stacks_string}'{wait_for_stack_options}", ) return super().render()
WaitForStackReady(*, stacks: list[str] =
, wait_for_stack_assume_role: str | None = None, wait_for_stack_account_id: str | None = None, install_gcip: bool = True, jobName: dataclasses.InitVar[str] = 'wait-for-stack-ready', jobStage: dataclasses.InitVar[str] = 'deploy') Ancestors
Instance variables
var install_gcip : bool
var jobName : dataclasses.InitVar[str]
var jobStage : dataclasses.InitVar[str]
var stacks : list[str]
var wait_for_stack_account_id : str | None
var wait_for_stack_assume_role : str | None
Inherited members
Job
:add_dependencies
add_needs
add_tags
add_variables
allow_failure
append_rules
append_scripts
artifacts
cache
dependencies
environment
image
name
needs
prepend_rules
prepend_scripts
render
resource_group
retry
rules
scripts
set_allow_failure
set_artifacts
set_cache
set_dependencies
set_environment
set_image
set_needs
set_resource_group
set_retry
set_tags
set_timeout
set_when
stage
tags
timeout
variables
when