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