def _find_emr_instance_role_policies()

in migration/bring-your-own-role/byor.py [0:0]


def _find_emr_instance_role_policies(args, iam_client):
    paginator = iam_client.get_paginator('list_roles')
    instance_role_name = None
    for page in paginator.paginate():
        for role in page['Roles']:
            if f"datazone_emr_ec2_instance_role_{args.project_id}" in role['RoleName']:
                print(f"Found Project's EMR Instance Role: {role['RoleName']}\n")
                instance_role_name = role['RoleName']
    if not instance_role_name:
        return None

    paginator = iam_client.get_paginator('list_attached_role_policies')
    policies_to_update = []
    for page in paginator.paginate(RoleName=instance_role_name):
        for policy in page['AttachedPolicies']:
            policies_to_update.append(policy['PolicyArn'])
    print(f"Found {len(policies_to_update)} policies attached to Project's EMR Instance Role\n")
    return policies_to_update