in code/ct_flowlog_activator.py [0:0]
def primary_handler(context):
master_session = assume_role(os.environ['master_account'], os.environ['master_role'], os.environ['org_id'])
# Look at stackset for existing deployment and do enforcement
stackset_name = str(os.environ['stackset_name'])
stackset_instances = list_stack_instance_by_region(master_session, stackset_name, os.environ['stackset_region'])
account_list = []
for instance in stackset_instances:
account_list.append(instance['Account'])
account_list = list(set(account_list))
LOGGER.info("Accounts in stackset: {}".format(account_list))
lambda_client = session.client('lambda')
for account_id in account_list:
worker_event = {}
worker_event['child-thread'] = str(uuid.uuid1())
worker_event['master-thread'] = context.aws_request_id
worker_event['account'] = account_id
response = invoke_lambda(str(context.function_name), worker_event, lambda_client, 'Event')
LOGGER.info(f'primary_handler: executing child_handler for account {account_id}')
LOGGER.debug(response)