in migration/bring-your-own-role/byor.py [0:0]
def _get_enviroments_with_role_from_project(datazone, args, fallback_role_arn):
environment_lists = []
paginator = datazone.get_paginator('list_environments')
for page in paginator.paginate(domainIdentifier=args.domain_id, projectIdentifier=args.project_id):
for environment in page['items']:
provisioned_resources = datazone.get_environment(
domainIdentifier=args.domain_id,
identifier=environment['id']
)['provisionedResources']
try:
user_role = [resource for resource in provisioned_resources if resource['name'] == 'userRoleArn'][0]
role_arn = user_role['value']
except (IndexError, KeyError):
# Use fallback role if userRoleArn is not found
role_arn = fallback_role_arn
environment_lists.append(EnvironmentWithRole(environment['name'], environment['id'], role_arn))
return environment_lists