From 2aeebd17a467117743b907942fd174d0c65a1f4e Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Wed, 24 Jul 2024 08:49:09 -0700 Subject: [PATCH] Added column|field `assignedToUnknown` to `gam print|show admins` --- docs/GamUpdates.md | 6 ++++++ docs/How-to-Upgrade-from-Standard-GAM.md | 4 ++-- docs/Version-and-Help.md | 12 ++++++------ src/GamUpdate.txt | 6 ++++++ src/gam/__init__.py | 10 ++++++---- 5 files changed, 26 insertions(+), 12 deletions(-) diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index 3cd62196..f69c9226 100644 --- a/docs/GamUpdates.md +++ b/docs/GamUpdates.md @@ -10,6 +10,12 @@ Add the `-s` option to the end of the above commands to suppress creating the `g See [Downloads-Installs](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads-Installs) for Windows or other options, including manual installation +### 6.79.03 + +Added column|field `assignedToUnknown` to `gam print|show admins` that will be True when +the API `assignedTo` value can not be converted to an email address; it will be False when +the email address is determinable. + ### 6.79.02 Updated `gam print admins` to handle the following error that occurs when a service account admin no longer exists. diff --git a/docs/How-to-Upgrade-from-Standard-GAM.md b/docs/How-to-Upgrade-from-Standard-GAM.md index c3d6c0b1..e36a0b52 100644 --- a/docs/How-to-Upgrade-from-Standard-GAM.md +++ b/docs/How-to-Upgrade-from-Standard-GAM.md @@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt. admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt admin@server:/Users/admin$ gam version WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found -GAMADV-XTD3 6.79.02 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -923,7 +923,7 @@ writes the credentials into the file oauth2.txt. C:\>del C:\GAMConfig\oauth2.txt C:\>gam version WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found -GAMADV-XTD3 6.79.02 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final Windows-10-10.0.17134 AMD64 diff --git a/docs/Version-and-Help.md b/docs/Version-and-Help.md index 10200700..32e0544b 100644 --- a/docs/Version-and-Help.md +++ b/docs/Version-and-Help.md @@ -3,7 +3,7 @@ Print the current version of Gam with details ``` gam version -GAMADV-XTD3 6.79.02 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -15,7 +15,7 @@ Time: 2023-06-02T21:10:00-07:00 Print the current version of Gam with details and time offset information ``` gam version timeoffset -GAMADV-XTD3 6.79.02 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -27,7 +27,7 @@ Your system time differs from www.googleapis.com by less than 1 second Print the current version of Gam with extended details and SSL information ``` gam version extended -GAMADV-XTD3 6.79.02 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.03 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -64,7 +64,7 @@ MacOS High Sierra 10.13.6 x86_64 Path: /Users/Admin/bin/gamadv-xtd3 Version Check: Current: 5.35.08 - Latest: 6.79.02 + Latest: 6.79.03 echo $? 1 ``` @@ -72,7 +72,7 @@ echo $? Print the current version number without details ``` gam version simple -6.79.02 +6.79.03 ``` In Linux/MacOS you can do: ``` @@ -82,7 +82,7 @@ echo $VER Print the current version of Gam and address of this Wiki ``` gam help -GAM 6.79.02 - https://github.com/taers232c/GAMADV-XTD3 +GAM 6.79.03 - https://github.com/taers232c/GAMADV-XTD3 Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 diff --git a/src/GamUpdate.txt b/src/GamUpdate.txt index 60776fde..3d89e7b5 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -2,6 +2,12 @@ Merged GAM-Team version +6.79.03 + +Added column|field `assignedToUnknown` to `gam print|show admins` that will be True when +the API `assignedTo` value can not be converted to an email address; it will be False when +the email address is determinable. + 6.79.02 Updated `gam print admins` to handle the following error that occurs when a service account admin no longer exists. diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 743a0daa..3f52c2e1 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -16506,7 +16506,7 @@ ASSIGNEE_EMAILTYPE_TOFIELD_MAP = { } PRINT_ADMIN_FIELDS = ['roleAssignmentId', 'roleId', 'assignedTo', 'scopeType', 'orgUnitId'] PRINT_ADMIN_TITLES = ['roleAssignmentId', 'roleId', 'role', - 'assignedTo', 'assignedToUser', 'assignedToGroup', 'assignedToServiceAccount', + 'assignedTo', 'assignedToUser', 'assignedToGroup', 'assignedToServiceAccount', 'assignedToUnknown', 'scopeType', 'orgUnitId', 'orgUnit'] # gam print admins [todrive *] @@ -16536,6 +16536,7 @@ def doPrintShowAdmins(): def _setNamesFromIds(admin, privileges): admin['role'] = role_from_roleid(admin['roleId']) assignedTo = admin['assignedTo'] + admin['assignedToUnknown'] = False if assignedTo not in assignedToIdEmailMap: assigneeType = admin.get('assigneeType') assignedToField = ASSIGNEE_EMAILTYPE_TOFIELD_MAP.get(assigneeType, None) @@ -16545,10 +16546,11 @@ def doPrintShowAdmins(): emailTypes=list(ASSIGNEE_EMAILTYPE_TOFIELD_MAP.keys())) if not assignedToField and assigneeType in ASSIGNEE_EMAILTYPE_TOFIELD_MAP: assignedToField = ASSIGNEE_EMAILTYPE_TOFIELD_MAP[assigneeType] + if assigneeType == 'unknown': + assignedToField = 'assignedToUnknown' + assigneeEmail = True assignedToIdEmailMap[assignedTo] = {'assignedToField': assignedToField, 'assigneeEmail': assigneeEmail} - assignedToField = assignedToIdEmailMap[assignedTo]['assignedToField'] - if assignedToField: - admin[assignedToField] = assignedToIdEmailMap[assignedTo]['assigneeEmail'] + admin[assignedToIdEmailMap[assignedTo]['assignedToField']] = assignedToIdEmailMap[assignedTo]['assigneeEmail'] if privileges is not None: admin.update(privileges) if 'orgUnitId' in admin: