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 []