in Back-End/lambdas/receive_sqs_message.py [0:0]
def get_organizations(account_number, region, cross_account_role):
# Init
var_list = []
# Use boto3 on source account
client_org = create_boto_client(
account_number, region, 'organizations', cross_account_role)
# Page all org
paginator = client_org.get_paginator('list_accounts')
for page in paginator.paginate():
for i in page['Accounts']:
if i['Status'] == 'ACTIVE':
acc_number = i['Id']
# Try Get Tags
try:
org_tags = client_org.list_tags_for_resource(ResourceId=acc_number)['Tags']
except ClientError as e:
org_tags = 'No Tags Exist'
var_list.append(
{
'AccountNumber': str(acc_number),
'Id': str(i['Arn']),
'Region': 'us-east-1',
'EntryType': 'org',
'Name': str(i['Name']),
'Email': str(i['Email']),
'Status': str(i['Status']),
'JoinedMethod': str(i['JoinedMethod']),
'Tags': str(org_tags)
})
return var_list