def METHOD_NAME(self):
    for fn in self.custom_cleanup_steps:
        fn()
    for stack_name, stack in self.cloudformation_stacks.items():
        self.aws_client.cloudformation.delete_stack(StackName=stack_name)
        self.aws_client.cloudformation.get_waiter("stack_delete_complete").wait(
            StackName=stack_name,
            WaiterConfig=WAITER_CONFIG_AWS if is_aws_cloud() else WAITER_CONFIG_LS,
        )
    # TODO log-groups created by lambda are not automatically cleaned up by CDK
    if not is_aws_cloud():
        # TODO proper handling of ssm parameter
        try:
            self.aws_client.ssm.delete_parameter(Name=CDK_BOOTSTRAP_PARAM)
        except Exception:
            pass