From f6d0f14b49b8ab7ab16a03921f315eeed50b93ec Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Sat, 6 Jul 2024 17:00:38 -0700 Subject: [PATCH] Updated `gam update ou ... parent ` --- docs/GamUpdates.md | 8 ++++++++ docs/How-to-Upgrade-from-Standard-GAM.md | 4 ++-- docs/Version-and-Help.md | 12 ++++++------ src/GamCommands.txt | 1 + src/GamUpdate.txt | 8 ++++++++ src/gam/__init__.py | 5 ++++- 6 files changed, 29 insertions(+), 9 deletions(-) diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index 6b296f91..122a9b13 100644 --- a/docs/GamUpdates.md +++ b/docs/GamUpdates.md @@ -10,6 +10,14 @@ 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.77.06 + +Updated `gam update ou ... parent ` to handle the following error +that occurs when `parent ` is the same as or a sub-OU of `ou `. +``` +ERROR: 412: conditionNotMet - OrgUnit hierarchy has cycle +``` + ### 6.77.05 Added option `onlyusers ` to `gam claim ownership ` diff --git a/docs/How-to-Upgrade-from-Standard-GAM.md b/docs/How-to-Upgrade-from-Standard-GAM.md index f5578681..da247e86 100644 --- a/docs/How-to-Upgrade-from-Standard-GAM.md +++ b/docs/How-to-Upgrade-from-Standard-GAM.md @@ -335,7 +335,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.77.05 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.06 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -1009,7 +1009,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.77.05 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.06 - 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 57fd2e61..0178962c 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.77.05 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.06 - 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.77.05 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.06 - 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.77.05 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.77.06 - 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.77.05 + Latest: 6.77.06 echo $? 1 ``` @@ -72,7 +72,7 @@ echo $? Print the current version number without details ``` gam version simple -6.77.05 +6.77.06 ``` 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.77.05 - https://github.com/taers232c/GAMADV-XTD3 +GAM 6.77.06 - 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/GamCommands.txt b/src/GamCommands.txt index 562d0589..264eb890 100644 --- a/src/GamCommands.txt +++ b/src/GamCommands.txt @@ -6462,6 +6462,7 @@ gam get drivefile [revision )|(gsheet|csvsheet )] [exportsheetaspdf ] [targetfolder ] [targetname |-] [donotfollowshortcuts []] [overwrite []] [showprogress []] + [acknowledgeabuse []] gam delete drivefile [purge|untrash|trash] gam purge drivefile diff --git a/src/GamUpdate.txt b/src/GamUpdate.txt index e34b96a3..706fc6e2 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -2,6 +2,14 @@ Merged GAM-Team version +6.77.06 + +Updated `gam update ou ... parent ` to handle the following error +that occurs when `parent ` is the same as or a sub-OU of `ou `. +``` +ERROR: 412: conditionNotMet - OrgUnit hierarchy has cycle +``` + 6.77.05 Added option `onlyusers ` to `gam claim ownership ` diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 1b3bda4c..17af56b3 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -17213,13 +17213,15 @@ def _doUpdateOrgs(entityList): try: callGAPI(cd.orgunits(), 'update', throwReasons=[GAPI.INVALID_ORGUNIT, GAPI.ORGUNIT_NOT_FOUND, GAPI.BACKEND_ERROR, GAPI.INVALID_ORGUNIT_NAME, - GAPI.BAD_REQUEST, GAPI.INVALID_CUSTOMER_ID, GAPI.LOGIN_REQUIRED], + GAPI.CONDITION_NOT_MET, GAPI.BAD_REQUEST, GAPI.INVALID_CUSTOMER_ID, GAPI.LOGIN_REQUIRED], customerId=GC.Values[GC.CUSTOMER_ID], orgUnitPath=encodeOrgUnitPath(makeOrgUnitPathRelative(orgUnitPath)), body=body, fields='') entityActionPerformed([Ent.ORGANIZATIONAL_UNIT, orgUnitPath], i, count) except (GAPI.invalidOrgunit, GAPI.orgunitNotFound, GAPI.backendError): entityActionFailedWarning([Ent.ORGANIZATIONAL_UNIT, orgUnitPath], Msg.DOES_NOT_EXIST, i, count) except GAPI.invalidOrgunitName as e: entityActionFailedWarning([Ent.ORGANIZATIONAL_UNIT, orgUnitPath, Ent.NAME, body['name']], str(e), i, count) + except GAPI.conditionNotMet as e: + entityActionFailedWarning([Ent.ORGANIZATIONAL_UNIT, orgUnitPath], str(e), i, count) except (GAPI.badRequest, GAPI.invalidCustomerId, GAPI.loginRequired): checkEntityAFDNEorAccessErrorExit(cd, Ent.ORGANIZATIONAL_UNIT, orgUnitPath) @@ -59160,6 +59162,7 @@ HTTP_ERROR_PATTERN = re.compile(r'^.*returned "(.*)">$') # [(format )|(gsheet|csvsheet )] [exportsheetaspdf ] # [targetfolder ] [targetname -|] # [donotfollowshortcuts []] [overwrite []] [showprogress []] +# [acknowledgeabuse []] def getDriveFile(users): def closeRemoveTargetFile(f): if f and not targetStdout: