FIX: print child accounts at all levels
This commit is contained in:
parent
a05c21d63f
commit
79638991c8
|
@ -7,14 +7,23 @@ import boto3
|
|||
def recurseChildren(ouid, level):
|
||||
children = client.list_organizational_units_for_parent(ParentId=ouid).get('OrganizationalUnits')
|
||||
if len(children) == 0:
|
||||
childAccounts = client.list_accounts_for_parent(ParentId=ouid).get('Accounts')
|
||||
for c in childAccounts:
|
||||
print('.' * level, c.get('Name'), c.get('Id'))
|
||||
printChildAccounts(ouid, level)
|
||||
return
|
||||
else:
|
||||
for c in children:
|
||||
print('.' * level, c.get('Name'), c.get('Id'))
|
||||
recurseChildren(c.get('Id'), level + 1)
|
||||
if ouid.startswith('r'):
|
||||
printChildAccounts(ouid, level)
|
||||
for ou in children:
|
||||
print('.' * level, ou.get('Name'), ou.get('Id'))
|
||||
if ouid.startswith('ou'):
|
||||
printChildAccounts(ouid, level)
|
||||
recurseChildren(ou.get('Id'), level + 1)
|
||||
|
||||
|
||||
def printChildAccounts(ouid, level):
|
||||
childAccounts = client.list_accounts_for_parent(ParentId=ouid).get('Accounts')
|
||||
for account in childAccounts:
|
||||
print('.' * level, account.get('Name'), account.get('Id'))
|
||||
return
|
||||
|
||||
|
||||
client = boto3.client('organizations')
|
||||
|
|
Loading…
Reference in New Issue