diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 18938e36..90bbf466 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -955,7 +955,7 @@ jobs: run_gam create group $newgroup name "GHA $JID group" description "This is a description" isarchived true run_gam user $gam_user sendemail recipient dev-null@pdl.jaylee.us subject "test message $newbase" message "GHA test message" run_gam user $newuser add license workspaceenterpriseplus - run_gam update user $newuser ou / + run_gam update user $newuser ou root # GAM synonym for / root OU run_gam update user $newuser ou "$newou" run_gam config enable_dasa false save # don't expose policy output diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 4a2a9ccf..6c34c2b8 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -1667,6 +1667,12 @@ def encodeOrgUnitPath(path): def getOrgUnitItem(pathOnly=False, absolutePath=True, cd=None): if Cmd.ArgumentsRemaining(): path = Cmd.Current().strip() + # Some shells like Bash for Windows interpret / as the filesystem root. + # Let user specify "root" instead to indicate /. "/root", "Root" and "ROOT" + # will still work for an OU actually named "root" as we are being + # case-sensitive here for "root" but Google is not case sensitive about OUs + if path == 'root': + path = '/' if path: if pathOnly and (path.startswith('id:') or path.startswith('uid:')) and cd is not None: try: