From 1d5a8ec81b75aa26592fe659e02aae99ec7b2bd8 Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Sat, 12 Feb 2022 07:59:27 -0800 Subject: [PATCH] Add verifytarget to update alias to address Issue #1479 (#1481) * Add verifytarget to update alias to address Issue #1479 * Make default behavior in update alias to be verify; provide opt-out * Update __init__.py * Remove verifynotinvitable check on update alias --- src/GamCommands.txt | 2 +- src/gam/__init__.py | 40 +++++++++++++++++++++++++++++++--------- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/src/GamCommands.txt b/src/GamCommands.txt index 044b4bfc..47707ced 100644 --- a/src/GamCommands.txt +++ b/src/GamCommands.txt @@ -1052,7 +1052,7 @@ gam info org|ou [nousers|notsuspended|suspended] [children|child] gam print orgs|ous [todrive] [toplevelonly] [from_parent ] [allfields|(fields )] gam create alias|nickname user|group|target | [verifynotinvitable] -gam update alias|nickname user|group|target | [verifynotinvitable] +gam update alias|nickname user|group|target | [notargetverify] gam delete alias|nickname [user|group|target] | gam info alias|nickname gam print aliases|nicknames [todrive] [shownoneditable] [nogroups] [nousers] [(query )|(queries 6: - myarg = sys.argv[6].lower().replace('_', '') - if myarg != 'verifynotinvitable': - controlflow.system_error_exit( - 3, - f'{myarg} is not a valid argument for "gam update alias"' - ) - if gapi_cloudidentity_userinvitations.is_invitable_user(alias): - controlflow.system_error_exit(51, f'Alias not updated, {alias} is an unmanaged account') + verifyTarget = True + i = 6 + while i < len(sys.argv): + myarg = sys.argv[i].lower().replace('_', '') + if myarg == 'noverifytarget': + verifyTarget = False + i += 1 + else: + controlflow.system_error_exit(3, f'{myarg} is not a valid argument for "gam update alias"') + if verifyTarget: + target_type = verify_alias_target_exists() + if target_type is None: + controlflow.system_error_exit(51, f'Alias not updated, {target_email} does not exist') try: gapi.call(cd.users().aliases(), 'delete',