diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index a51f60bf..37b8e638 100644 --- a/docs/GamUpdates.md +++ b/docs/GamUpdates.md @@ -10,6 +10,13 @@ Add the `-s` option to the end of the above commands to suppress creating the `g See [Downloads](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads) for Windows or other options, including manual installation. +### 6.63.09 + +Updated `gam create teamdrive` to handle the following error: +``` +ERROR: 403: userCannotCreateTeamDrives - The authenticated user cannot create new shared drives. +``` + ### 6.63.08 Updated `cigroup` commands to handle the following error: diff --git a/docs/How-to-Upgrade-from-Standard-GAM.md b/docs/How-to-Upgrade-from-Standard-GAM.md index 30f96465..ebacb76f 100644 --- a/docs/How-to-Upgrade-from-Standard-GAM.md +++ b/docs/How-to-Upgrade-from-Standard-GAM.md @@ -330,7 +330,7 @@ writes the credentials into the file oauth2.txt. admin@server:/Users/admin/bin/gamadv-xtd3$ rm -f /Users/admin/GAMConfig/oauth2.txt admin@server:/Users/admin/bin/gamadv-xtd3$ ./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.63.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.10.8 64-bit final MacOS High Sierra 10.13.6 x86_64 @@ -972,7 +972,7 @@ writes the credentials into the file oauth2.txt. C:\GAMADV-XTD3>del C:\GAMConfig\oauth2.txt C:\GAMADV-XTD3>gam version WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found -GAMADV-XTD3 6.63.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.11.5 64-bit final Windows-10-10.0.17134 AMD64 diff --git a/docs/Version-and-Help.md b/docs/Version-and-Help.md index 49e0c47e..39bbafcb 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.63.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.11.5 64-bit final MacOS Monterey 12.6.6 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.63.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.11.5 64-bit final MacOS Monterey 12.6.6 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.63.08 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.63.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.11.5 64-bit final MacOS Monterey 12.6.6 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.63.08 + Latest: 6.63.09 echo $? 1 ``` @@ -72,7 +72,7 @@ echo $? Print the current version number without details ``` gam version simple -6.63.08 +6.63.09 ``` 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.63.08 - https://github.com/taers232c/GAMADV-XTD3 +GAM 6.63.09 - https://github.com/taers232c/GAMADV-XTD3 Ross Scroggs Python 3.11.5 64-bit final MacOS Monterey 12.6.6 x86_64 diff --git a/src/GamUpdate.txt b/src/GamUpdate.txt index d112ae18..1f0d11f2 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -2,6 +2,13 @@ Merged GAM-Team version +6.63.09 + +Updated `gam create teamdrive` to handle the following error: +``` +ERROR: 403: userCannotCreateTeamDrives - The authenticated user cannot create new shared drives. +``` + 6.63.08 Updated `cigroup` commands to handle the following error: diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 2bfef756..a28690ef 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -59874,7 +59874,7 @@ def createSharedDrive(users, useDomainAdminAccess=False): bailOnTransientError=True, throwReasons=GAPI.DRIVE_USER_THROW_REASONS+[GAPI.TRANSIENT_ERROR, GAPI.TEAMDRIVE_ALREADY_EXISTS, GAPI.INSUFFICIENT_PERMISSIONS, GAPI.INSUFFICIENT_FILE_PERMISSIONS, - GAPI.DUPLICATE, GAPI.BAD_REQUEST], + GAPI.DUPLICATE, GAPI.BAD_REQUEST, GAPI.USER_CANNOT_CREATE_TEAMDRIVES], requestId=requestId, body=body, fields='id') driveId = shareddrive['id'] if returnIdOnly: @@ -59897,7 +59897,7 @@ def createSharedDrive(users, useDomainAdminAccess=False): except GAPI.duplicate: entityActionFailedWarning([Ent.USER, user, Ent.REQUEST_ID, requestId], Msg.DUPLICATE, i, count) break - except (GAPI.insufficientPermissions, GAPI.insufficientFilePermissions, GAPI.badRequest) as e: + except (GAPI.insufficientPermissions, GAPI.insufficientFilePermissions, GAPI.badRequest, GAPI.userCannotCreateTeamDrives) as e: entityActionFailedWarning([Ent.USER, user, Ent.REQUEST_ID, requestId], str(e), i, count) break except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e: diff --git a/src/gam/gamlib/glgapi.py b/src/gam/gamlib/glgapi.py index 13832e33..8d7db21d 100644 --- a/src/gam/gamlib/glgapi.py +++ b/src/gam/gamlib/glgapi.py @@ -165,6 +165,7 @@ TIME_RANGE_EMPTY = 'timeRangeEmpty' TRANSIENT_ERROR = 'transientError' UNKNOWN_ERROR = 'unknownError' UPLOAD_TOO_LARGE = 'uploadTooLarge' +USER_CANNOT_CREATE_TEAMDRIVES = 'userCannotCreateTeamDrives' USER_ACCESS = 'userAccess' USER_NOT_FOUND = 'userNotFound' USER_RATE_LIMIT_EXCEEDED = 'userRateLimitExceeded' @@ -613,6 +614,8 @@ class unknownError(Exception): pass class uploadTooLarge(Exception): pass +class userCannotCreateTeamDrives(Exception): + pass class userAccess(Exception): pass class userNotFound(Exception): @@ -763,6 +766,7 @@ REASON_EXCEPTION_MAP = { TRANSIENT_ERROR: transientError, UNKNOWN_ERROR: unknownError, UPLOAD_TOO_LARGE: uploadTooLarge, + USER_CANNOT_CREATE_TEAMDRIVES: userCannotCreateTeamDrives, USER_ACCESS: userAccess, USER_NOT_FOUND: userNotFound, USER_RATE_LIMIT_EXCEEDED: userRateLimitExceeded,