From ef14359d9bcbd3b27c80d41091462e5c9667a01a Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Sun, 20 Oct 2024 11:14:50 -0700 Subject: [PATCH] Updated `gam print|show projects ... showiampolicies 0|1|3` to use non-service account authentication. --- docs/Authorization.md | 14 +++++++------- docs/GamUpdates.md | 4 ++++ docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md | 4 ++-- docs/Version-and-Help.md | 12 ++++++------ src/GamUpdate.txt | 4 ++++ src/gam/__init__.py | 7 ++++--- 6 files changed, 27 insertions(+), 18 deletions(-) diff --git a/docs/Authorization.md b/docs/Authorization.md index f5559358..94d99f81 100644 --- a/docs/Authorization.md +++ b/docs/Authorization.md @@ -362,7 +362,7 @@ gam update project [[admin] ] [] * `` - A Google Workspace admin/GCP project manager; if omitted, you will be prompted for the address Use these options to select projects. -* `current` - The project referenced in `client_secret.json`; this is the default +* `current` - The project referenced in `client_secrets.json`; this is the default * `gam` - Projects accessible by the administrator that were created by Gam, i.e, their project ID begins with `gam-project-` * `` - A Google API project ID * `filter ` - A filter to select projects accessible by the administrator; see the API documentation @@ -374,7 +374,7 @@ gam delete project [[admin] ] [] * `` - A Google Workspace admin/GCP project manager; if omitted, you will be prompted for the address Use these options to select projects. -* `current` - The project referenced in `client_secret.json`; this is the default +* `current` - The project referenced in `client_secrets.json`; this is the default * `gam` - Projects accessible by the administrator that were created by Gam, i.e, their project ID begins with `gam-project-` * `` - A Google API project ID * `filter ` - A filter to select projects accessible by the administrator; see the API documentation @@ -394,7 +394,7 @@ gam show projects [[admin] ] [all|] Use these options to select projects. * `all` - All projects accessible by the administrator; this is the default -* `current` - The project referenced in `client_secret.json` +* `current` - The project referenced in `client_secrets.json` * `gam` - Projects accessible by the administrator that were created by Gam, i.e, their project ID begins with `gam-project-` * `` - A Google API project ID * `filter ` - A filter to select projects accessible by the administrator; see the API documentation @@ -412,7 +412,7 @@ gam print projects [[admin] ] [all|] [todrive ` - A Google API project ID * `filter ` - A filter to select projects accessible by the administrator; see the API documentation @@ -698,7 +698,7 @@ gam create|add svcacct [[admin] ] [] * `` - Google Workspace admin/GCP project manager; if omitted, you will be prompted for the address Use these options to select projects. -* `current` - The project referenced in `client_secret.json`; this is the default +* `current` - The project referenced in `client_secrets.json`; this is the default * `gam` - Projects accessible by the administrator that were created by Gam, i.e, their project ID begins with `gam-project-` * `` - A Google API project ID * `filter ` - A filter to select projects accessible by the administrator; see the API documentation @@ -721,7 +721,7 @@ gam delete svcacct [[admin] ] [] * `` - Google Workspace admin/GCP project manager; if omitted, you will be prompted for the address Use these options to select projects. -* `current` - The project referenced in `client_secret.json`; this is the default +* `current` - The project referenced in `client_secrets.json`; this is the default * `gam` - Projects accessible by the administrator that were created by Gam, i.e, their project ID begins with `gam-project-` * `` - A Google API project ID * `filter ` - A filter to select projects accessible by the administrator; see the API documentation @@ -742,7 +742,7 @@ gam print svcaccts [[admin] ] [all|] Use these options to select projects. * `all` - All projects accessible by the administrator; this is the default -* `current` - The project referenced in `client_secret.json` +* `current` - The project referenced in `client_secrets.json` * `gam` - Projects accessible by the administrator that were created by Gam, i.e, their project ID begins with `gam-project-` * `` - A Google API project ID * `filter ` - A filter to select projects accessible by the administrator; see the API documentation diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index b7f2ad6e..07cafa0b 100644 --- a/docs/GamUpdates.md +++ b/docs/GamUpdates.md @@ -10,6 +10,10 @@ Add the `-s` option to the end of the above commands to suppress creating the `g See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation +### 7.00.24 + +Updated `gam print|show projects ... showiampolicies 0|1|3` to use non-service account authentication. + ### 7.00.23 Updated `gam create|delete chatmember` to accept external (non-domain) email addresses. diff --git a/docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md b/docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md index 343fe848..2ca24085 100644 --- a/docs/How-to-Upgrade-Legacy-GAM-to-GAM7.md +++ b/docs/How-to-Upgrade-Legacy-GAM-to-GAM7.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 -GAM 7.00.23 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.00.24 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.13.0 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 -GAM7 7.00.23 - https://github.com/GAM-team/GAM - pythonsource +GAM7 7.00.24 - https://github.com/GAM-team/GAM - pythonsource GAM Team Python 3.13.0 64-bit final Windows-10-10.0.17134 AMD64 diff --git a/docs/Version-and-Help.md b/docs/Version-and-Help.md index 5ebaa81f..f32d013b 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 -GAM 7.00.23 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.00.24 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.13.0 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 -GAM 7.00.23 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.00.24 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.13.0 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 -GAM 7.00.23 - https://github.com/GAM-team/GAM - pyinstaller +GAM 7.00.24 - https://github.com/GAM-team/GAM - pyinstaller GAM Team Python 3.13.0 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/gam7 Version Check: Current: 5.35.08 - Latest: 7.00.23 + Latest: 7.00.24 echo $? 1 ``` @@ -72,7 +72,7 @@ echo $? Print the current version number without details ``` gam version simple -7.00.23 +7.00.24 ``` 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 7.00.23 - https://github.com/GAM-team/GAM +GAM 7.00.24 - https://github.com/GAM-team/GAM GAM Team Python 3.13.0 64-bit final MacOS Sonoma 14.5 x86_64 diff --git a/src/GamUpdate.txt b/src/GamUpdate.txt index fcc5fe80..f9d53c1e 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -1,3 +1,7 @@ +7.00.24 + +Updated `gam print|show projects ... showiampolicies 0|1|3` to use non-service account authentication. + 7.00.23 Updated `gam create|delete chatmember` to accept external (non-domain) email addresses. diff --git a/src/gam/__init__.py b/src/gam/__init__.py index e7d45235..9815f22e 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki """ __author__ = 'GAM Team ' -__version__ = '7.00.23' +__version__ = '7.00.24' __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)' #pylint: disable=wrong-import-position @@ -11851,10 +11851,11 @@ def doPrintShowProjects(): resource=project['name'], body=policyBody) return policy except (GAPI.forbidden, GAPI.permissionDenied) as e: - entityActionFailedWarning([Ent.PROJECT, project['projectId'], Ent.IAM_POLICY], str(e), i, count) + entityActionFailedWarning([Ent.PROJECT, project['projectId'], Ent.IAM_POLICY, None], str(e), i, count) return {} - crm, _, login_hint, projects = _getLoginHintProjects(printShowCmd=True, readOnly=True) + readOnly = not Cmd.ArgumentIsAhead('showiampolicies') + crm, _, login_hint, projects = _getLoginHintProjects(printShowCmd=True, readOnly=readOnly) csvPF = CSVPrintFile(['User', 'projectId']) if Act.csvFormat() else None FJQC = FormatJSONQuoteChar(csvPF) oneMemberPerRow = False