def lambda_handler()

in src/get_org_dependent_resources.py [0:0]


def lambda_handler(event, context):
    logger.debug(f'Lambda event:{event}')
    status = set({})

    account_id = event["AccountId"]
    company_name = event['CompanyName']
    account = None

    try:
        account = get_account_by_id(company_name=company_name, account_id=account_id)[0]
        session = get_session(f"arn:aws:iam::{account_id}:role/{Constant.AWS_MASTER_ROLE}")

        target_org_id = get_org_id(session=session)
        AWS_org_id = get_org_id()

        for region in event["Regions"]:
            status.add(get_org_level_resources(region, account, session, AWS_org_id, target_org_id))

        if {Constant.StateMachineStates.WAIT}.issubset(status):
            event["Status"] = Constant.StateMachineStates.WAIT
        else:
            account["IsPermissionsScanned"] = True
            event["Status"] = Constant.StateMachineStates.COMPLETED

    except ClientError as ce:
        error_msg = log_error(logger=logger, account_id=event['AccountId'], company_name=event['CompanyName'],
                              error_type=Constant.ErrorType.OLPE, error=ce,
                              notify=True, slack_handle=account.get('SlackHandle'))
        account["Error"] = error_msg
        raise ce

    except Exception as ex:
        log_error(logger=logger, account_id=event['AccountId'], company_name=event['CompanyName'],
                  error_type=Constant.ErrorType.OLPE, notify=True, error=ex)
        raise ex
    finally:
        if account:
            update_item(Constant.DB_TABLE, account)

    return event