in src/pkg/qs_user_gov.py [0:0]
def update_memberships(user):
"""
Assign a user to its new groups and remove the user from groups it no
longer belongs to.
"""
current_memberships = get_memberships(user)
# assign user to new groups
for grp in user.qs_groups:
if grp not in current_memberships:
QS_CLIENT.create_group_membership(
MemberName=user.qs_username,
GroupName=grp,
AwsAccountId=user.account_id,
Namespace=user.namespace,
)
LOGGER.info(f"[{user.qs_username}] assigned to Group [{grp}].")
# remove user from old groups
for grp in current_memberships:
if grp not in user.qs_groups:
QS_CLIENT.delete_group_membership(
MemberName=user.qs_username,
GroupName=grp,
AwsAccountId=user.account_id,
Namespace=user.namespace,
)
LOGGER.info(f"[{user.qs_username}] removed from Group [{grp}].")