diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index d2e565a2..d2ce51ee 100644 --- a/docs/GamUpdates.md +++ b/docs/GamUpdates.md @@ -10,6 +10,27 @@ 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.61.17 + +Updated `gam print|show vaultexports|vaultholds|vaultqueries` to not set a non-zero return code +when a vault matter changes state from `OPEN` to `CLOSED|DELETED` while the command is being processed. + +Updated `gam create shareddrive ou|org|orgunit ` to handle the following error: +``` +ERROR: 403: permissionDenied - Request had insufficient authentication scopes. +``` +It's not clear what causes the error. + +6.61.16 + +Added the following license SKUs. +``` +1010060005 - Google Workspace Essentials Plus +1010020031 - Google Workspace Frontline Standard +1010340005 - Google Workspace Business Starter - Archived User +1010340006 - Google Workspace Business Standard - Archived User +``` + ### 6.61.15 Added option `contentrestrictions ownerrestricted []` to ``. diff --git a/src/GamUpdate.txt b/src/GamUpdate.txt index bde6587a..0f0b97a7 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -2,6 +2,19 @@ Merged GAM-Team version +6.61.17 + +Updated `gam print|show vaultexports|vaultholds|vaultqueries` to not set a non-zero return code +when a vault matter changes state from `OPEN` to `CLOSED|DELETED` while the command is being processed. + +Updated `gam create shareddrive ou|org|orgunit ` to handle the following error: +``` +ERROR: 403: permissionDenied - Request had insufficient authentication scopes. +``` +It's not clear what causes the error. + +6.61.16 + Added the following license SKUs. ``` 1010060005 - Google Workspace Essentials Plus diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 8371e8b7..098e2824 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -36803,10 +36803,13 @@ def warnMatterNotOpen(v, matter, matterNameId, j, jcount): matterId=matter['matterId'], view='BASIC', fields='state')['state'] except (GAPI.notFound, GAPI.forbidden): matter['state'] = 'Unknown' - printWarningMessage(DATA_NOT_AVALIABLE_RC, formatKeyValueList('', - Ent.FormatEntityValueList([Ent.VAULT_MATTER, matterNameId])+ - [Msg.MATTER_NOT_OPEN.format(matter['state'])], - currentCount(j, jcount))) + else: + setSysExitRC(DATA_NOT_AVALIABLE_RC) + message = formatKeyValueList('', + Ent.FormatEntityValueList([Ent.VAULT_MATTER, matterNameId])+ + [Msg.MATTER_NOT_OPEN.format(matter['state'])], + currentCount(j, jcount)) + writeStderr(f'\n{Ind.Spaces()}{WARNING_PREFIX}{message}\n') def _cleanVaultExport(export, cd): query = export.get('query') @@ -59319,9 +59322,10 @@ def createSharedDrive(users, useDomainAdminAccess=False): try: callGAPI(drive.drives(), 'update', bailOnInternalError=True, - throwReasons=GAPI.DRIVE_USER_THROW_REASONS+[GAPI.NOT_FOUND, GAPI.FORBIDDEN, GAPI.BAD_REQUEST, + throwReasons=GAPI.DRIVE_USER_THROW_REASONS+[GAPI.NOT_FOUND, GAPI.FORBIDDEN, GAPI.NO_MANAGE_TEAMDRIVE_ADMINISTRATOR_PRIVILEGE, - GAPI.INTERNAL_ERROR, GAPI.FILE_NOT_FOUND], + GAPI.BAD_REQUEST, GAPI.INTERNAL_ERROR, GAPI.PERMISSION_DENIED, + GAPI.FILE_NOT_FOUND], useDomainAdminAccess=useDomainAdminAccess, driveId=driveId, body=updateBody) if not returnIdOnly and not csvPF: entityActionPerformed([Ent.USER, user, Ent.SHAREDDRIVE_ID, driveId], i, count) @@ -59332,7 +59336,7 @@ def createSharedDrive(users, useDomainAdminAccess=False): entityActionFailedWarning([Ent.USER, user, Ent.REQUEST_ID, requestId], str(e), i, count) break waitingForCreationToComplete(retry*15) - except (GAPI.badRequest, GAPI.internalError) as e: + except (GAPI.badRequest, GAPI.internalError, GAPI.permissionDenied) as e: entityActionFailedWarning([Ent.USER, user, Ent.SHAREDDRIVE_ID, driveId], str(e), i, count) break except GAPI.fileNotFound as e: