def get_roles_details()

in Onboarding/AWS/GrantAccessToEksClusters.py [0:0]


def get_roles_details(session: boto3.Session, roles: List[str]) -> List[Dict[str, Dict]]:
    iam_client = session.client("iam")
    roles_details = list()
    skipped_roles = list()
    for role in roles:
        role_name = role.split("/")[-1] if is_role_arn(role) else role
        try:
            details = iam_client.get_role(RoleName=role_name)
            roles_details.append(details)
        except iam_client.exceptions.NoSuchEntityException:
            skipped_roles.append(role_name)
        except Exception as ex:
            sys.exit(str(ex))

    if not roles_details:
        sys.exit("You didn't provide any valid roles to onboard. Please make sure you provide valid roles names or ARNs")

    for role in skipped_roles:
        print_warning(f"Role {role} doesn't exist, skipping...")

    return roles_details