in src/lambda_codebase/initial_commit/bootstrap_repository/adf-build/shared/python/organizations.py [0:0]
def get_ou_id(self, ou_path, parent_ou_id=None):
# Return root OU if '/' is provided
if ou_path.strip() == '/':
return self.root_id
# Set initial OU to start looking for given ou_path
if parent_ou_id is None:
parent_ou_id = self.root_id
# Parse ou_path and find the ID
ou_hierarchy = ou_path.strip('/').split('/')
hierarchy_index = 0
while hierarchy_index < len(ou_hierarchy):
org_units = self.list_organizational_units_for_parent(parent_ou_id)
for ou in org_units:
if ou['Name'] == ou_hierarchy[hierarchy_index]:
parent_ou_id = ou['Id']
hierarchy_index += 1
break
else:
raise ValueError(f'Could not find ou with name {ou_hierarchy} in OU list {org_units}.')
return parent_ou_id