def get_accounts_by_ou()

in code/ct_flowlog_lifecycle.py [0:0]


def get_accounts_by_ou(target_session, ou_id):
    '''
    List all active accounts by the OU id
    '''
    try:
        org_client = target_session.client('organizations')
        org_paginator = org_client.get_paginator('list_accounts_for_parent')
        operation_parameters = {
            'ParentId': ou_id
        }
        accounts_response = org_paginator.paginate(**operation_parameters)
        accounts_list = []
        active_accounts_list = []

        for page in accounts_response:
            if 'Accounts' in page:
                accounts_list.extend(page['Accounts'])

        for account in accounts_list:
            if account['Status'] == 'ACTIVE':
                active_accounts_list.append(account['Id'])

        return active_accounts_list

    except ClientError as e:
        LOGGER.error("Organization get accounts by OU error : {}".format(e))
        return []