in scripts/update_auto_launch_config.py [0:0]
def validate_sso_id(self) -> None:
# Gather list of admin users and identityStoreIds
studio_member_ids = list()
identity_store_ids = set()
paginator = self.nimble_client.get_paginator('list_studio_members')
pages = paginator.paginate(studioId=self.studio)
for page in pages:
for member in page['members']:
studio_member_ids.append(member['principalId'])
identity_store_ids.add(member['identityStoreId'])
# Check if sso_id exists
if self.sso_id != None:
if self.sso_id in studio_member_ids:
return
else:
for identity_store_id in identity_store_ids:
try:
self.identity_helper.describe_identity_user(identity_store_id=identity_store_id, user_id=self.sso_id)
return # validated the sso_id
except ClientError as e:
if e.response['Error']['Code'] != 'ResourceNotFoundException':
raise e
# If sso_id cannot be validated, then prompt for user information and validate
self.sso_id = self.validate_user(identity_store_ids)