runway.cfngin.actions.destroy module

CFNgin destroy action.

class runway.cfngin.actions.destroy.Action(context: CfnginContext, provider_builder: Optional[ProviderBuilder] = None, cancel: Optional[threading.Event] = None)[source]

Bases: runway.cfngin.actions.base.BaseAction

Responsible for destroying CloudFormation stacks.

Generates a destruction plan based on stack dependencies. Stack dependencies are reversed from the deploy action. For example, if a Stack B requires Stack A during deploy, during destroy Stack A requires Stack B be destroyed first.

The plan defaults to printing an outline of what will be destroyed. If forced to execute, each stack will get destroyed in order.

Instantiate class.

Parameters
  • context – The context for the current run.

  • provider_builder – An object that will build a provider that will be interacted with in order to perform the necessary actions.

  • cancel – Cancel handler.

pre_run(*, dump: Union[bool, str] = False, outline: bool = False, **_Action__kwargs: typing.Any)None[source]

Any steps that need to be taken prior to running the action.

run(*, concurrency: int = 0, dump: Union[bool, str] = False, force: bool = False, outline: bool = False, tail: bool = False, **_kwargs: typing.Any)None[source]

Kicks off the destruction of the stacks in the stack_definitions.

post_run(*, dump: Union[bool, str] = False, outline: bool = False, **_Action__kwargs: typing.Any)None[source]

Any steps that need to be taken after running the action.

build_provider()Provider

Build a CFNgin provider.

ensure_cfn_bucket()None

CloudFormation bucket where templates will be stored.

execute(**kwargs: typing.Any)None

Run the action with pre and post steps.

property provider

Return a generic provider using the default region.

Used for running things like hooks.

s3_stack_push(blueprint: Blueprint, force: bool = False)str

Push the rendered blueprint’s template to S3.

Verifies that the template doesn’t already exist in S3 before pushing.

Returns

URL to the template in S3.

stack_template_url(blueprint: Blueprint)str

S3 URL for CloudFormation template object.