def main():
    Helpers = helpers.Helpers()
    Cfn_helpers = cfn_helpers.CfnHelpers()
    Iam_helpers = iam_helpers.IamHelpers()
    session = boto3.session.Session()

    # deploy admin stack role
    stack = {}
    stack_name = 'aws-cfn-stack-sets-admin'
    stack['cfn_args'] = {
        'StackName':
        stack_name,
        'Capabilities': ['CAPABILITY_IAM', 'CAPABILITY_NAMED_IAM'],
        'TemplateBody':
        Helpers.file_to_string(
            'templates/AWSCloudFormationStackSetAdministrationRole.yml')
    }
    # 'TemplateURL': 'https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetAdministrationRole.yml'}

    # stack['cfn_args']['Parameters'] = Cfn_helpers.dict_to_cfn_parameters({''})
    if Iam_helpers.check_iam_role_exists(
            session,
            'AWSCloudFormationStackSetAdministrationRoleQS',
    ) and not Cfn_helpers.cfn_check_stack_exists(session, stack_name):
        msg = 'Admin role already exists, but created outside of aws-cfn-stack-sets, free to move on'
        print(msg)
        return msg

    response = Cfn_helpers.create_update_stack(session, stack['cfn_args'])
    response = Cfn_helpers.stack_complete(session,
                                          stack['cfn_args']['StackName'])

    return
import boto3
import os
from stack_set_helpers import helpers, cfn_helpers, org_helpers
from botocore.exceptions import ClientError
import botocore
import uuid

import boto3
import threading

import time

Helpers = helpers.Helpers()
Cfn_helpers = cfn_helpers.CfnHelpers()
Org_helpers = org_helpers.Organization_Helpers()


def delete_stack_set(session, stack_set, accounts):
    cfn = session.client('cloudformation')
    stack_set_name = stack_set['StackSetName']
    stack_set_response = cfn.describe_stack_set(
        StackSetName=stack_set_name
    )

    instances_dict = dict(StackSetName=stack_set_name,
                          # Accounts=accounts,
                          # DeploymentTargets={'OrganizationalUnitIds': [ou_id]},
                          Regions=[session.region_name],
                          RetainStacks=False,
                          OperationId=str(uuid.uuid1()))
    if 'OrganizationalUnitIds' in stack_set_response['StackSet']: