def _delete_cfn_stack()

in blogs/ecs-canary-deployments-pipeline/setup/scripts/delete_blog_contents.py [0:0]


def _delete_cfn_stack(stack):
    """ Deletes CFN stack """

    retries = 3
    while True:
        try:
            CFN_CLIENT.delete_stack(
                StackName=stack
            )
            waiter = CFN_CLIENT.get_waiter('stack_delete_complete')
            waiter.wait(StackName=stack)
            print("Deleted the CloudFormation stack: {} successfully.".format(stack))
            return True
        except WaiterError as _ex:
            retries-=1
            if retries<1:
                print("CloudFormation Stack: {} deletion failed during the cleanup workflow.".format(stack))
                return False
            print("Sleeping for 60seconds during the cleanup workflow before second attempt of cleanup.")
            time.sleep(60)