gam7 7.6.6__tar.gz → 7.6.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gam7 might be problematic. Click here for more details.
- {gam7-7.6.6 → gam7-7.6.9}/.github/workflows/build.yml +1 -1
- {gam7-7.6.6 → gam7-7.6.9}/PKG-INFO +2 -1
- {gam7-7.6.6 → gam7-7.6.9}/pyproject.toml +1 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/GamUpdate.txt +17 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/__init__.py +28 -13
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glmsgs.py +7 -3
- {gam7-7.6.6 → gam7-7.6.9}/src/gam-install.sh +1 -1
- {gam7-7.6.6 → gam7-7.6.9}/src/requirements.txt +1 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/setup.cfg +1 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Downloads-Installs.md +15 -4
- {gam7-7.6.6 → gam7-7.6.9}/wiki/GamUpdates.md +21 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Version-and-Help.md +6 -6
- {gam7-7.6.6 → gam7-7.6.9}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/actions/decrypt.sh +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/actions/entitlements.plist +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/stale.yml +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/workflows/pushwiki.yml +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.github/workflows/pypi.yml +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/.pre-commit-config.yaml +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/LICENSE +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/README.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/.gitignore +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/GamCommands.txt +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/LICENSE +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/cacerts.pem +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/callgam.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/__main__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/auth.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/client.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/core.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/data.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/http.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/http_core.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/service.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/token_store.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/atom/url.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/cacerts.pem +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glapi.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glclargs.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glgapi.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glskus.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/glverlibs.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/service.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/_auth.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/_helpers.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/channel.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/discovery.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/errors.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/http.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/mimeparse.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/model.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/schema.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/googleapiclient/version.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/iso8601/__init__.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/iso8601/iso8601.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam/six.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam-setup.bat +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam.exe.manifest +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam.spec +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/gam.wxs +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/license.rtf +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/requirements-dev.txt +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/setup.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/tools/mkGamRef.py +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/tools/openssl.props +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/src/version_info.txt.in +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/00scratch.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Addresses.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Administrators.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Alert-Center.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Aliases.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Authorization.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/BNF-Syntax.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Basic-Items.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Bulk-Processing.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/CSV-Input-Filtering.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/CSV-Output-Filtering.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/CSV-Special-Characters.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Calendars-Access.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Calendars-Events.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Calendars.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chat-Bot.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chrome-AUE-Counts.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chrome-Installed-Apps.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chrome-Policies.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chrome-Printers.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chrome-Profile-Management.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chrome-Version-Counts.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Chrome-Version-History.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/ChromeOS-Devices.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Classroom-Courses.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Classroom-Guardians.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Classroom-Invitations.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Classroom-Membership.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Cloud-Channel.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Cloud-Identity-Devices.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Cloud-Identity-Groups.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Cloud-Identity-Policies.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Cloud-Storage.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Collections-of-Items.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Collections-of-Users.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Command-Line-Parsing.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Command-Logging-Progress.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Context-Aware-Access-Levels.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Customer.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Domain-People-Contacts-Profiles.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Domain-SharedContacts-GAL.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Domains-Verification.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Domains.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Drive-File-Selection.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Drive-Items.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Drive-REST-API-v3.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Email-Audit-Monitor.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Find-File-Owner.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/GAM-Public-Chat-Room.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/GAM-Return-Codes.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/GAM7-on-Android-Devices.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Google-Data-Transfers.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Google-Network-Addresses.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Groups-Membership.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Groups.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/HTTPS-Proxy.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Home.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/How-to-Install-GAM7.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/How-to-Uninstall-GAM7.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/How-to-Update-GAM7.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Inbound-SSO.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Install-GAM-as-Python-Library.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Licenses.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/List-Items.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/List.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Mobile-Devices.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Organizational-Units.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Other-Resources.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Permission-Matches.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Python-Regular-Expressions.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/README.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Rclone.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Reports.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Reseller.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Resources.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/SSL-Root-CA-Certificates.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Schemas.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Scripts.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Send-Email.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Shared-Drives.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Sites.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Tag-Replace.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Todrive.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Unmanaged-Accounts.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Upgrade-Benefits.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Analytics-Admin.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Application-Specific-Passwords.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Backup-Verification-Codes.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Calendars-Access.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Calendars-Events.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Calendars.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Chat.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Classification-Labels.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Classroom-Profile.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Contacts-Delegates.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Contacts.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Deprovision.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Activity-Settings.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Cleanup.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Comments.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Copy-Move.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Files-Display.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Files-Manage.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Orphans.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Ownership.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Permissions.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Query.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Revisions.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Shortcuts.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Drive-Transfer.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Forms.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-CSE.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-Delegates.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-Filters.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-Forwarding.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-Labels.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-Messages-Threads.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-Profile.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-S-MIME.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Gmail-Settings.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Group-Membership.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Keep-Notes.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Looker-Studio.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Meet.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-People-Contacts-Profiles.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Photo.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Profile-Photo.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Profile-Sharing.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Shared-Drives.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Signout-Turnoff2SV.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Spreadsheets.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Tasks.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-Tokens.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users-YouTube.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Users.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Vault-Takeout.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/_Sidebar.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/gam.cfg.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-AdminSettingsExamples.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Android-Installation.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-BulkOperations.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-CalendarExamples.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Chat-Bot.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Chrome-Browser-Management.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Chrome-OS-Installation.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Chrome-Policy-Settings.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Cloud-Identity-Groups.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Command-Reference-Calendars.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Command-Reference-Definitions.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Command-Reference-Drive.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Command-Reference-Email.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Command-Reference-Groups.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Command-Reference-Users.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Context-Aware-Access-Levels.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-CreatingClientSecretsFile.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Custom-Schemas.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Data-Transfers.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-DomainVerification.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-ExamplesAccountAuditing.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-ExamplesCSV.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-ExamplesEmailSettings.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-ExamplesOrganizations.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-GAM-Discussion-Group.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-GAM-options-files.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-GAM3CSVListings.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-GAM3DirectoryCommands.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-GAM3GroupSettings.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-GAM7-FAQ.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-GoogleDriveManagement.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Home.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Inbound-SSO-Settings.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-LicenseExamples.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Managing-Admins.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Managing-Devices.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Managing-Google-Classroom.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-OAuthKeyManagement.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Printers.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-ResellerCommands.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-SecurityExamples.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-UnmanagedUsersExamples.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Use-a-Yubikey.md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
- {gam7-7.6.6 → gam7-7.6.9}/wiki/l-_Footer.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gam7
|
|
3
|
-
Version: 7.6.
|
|
3
|
+
Version: 7.6.9
|
|
4
4
|
Summary: CLI tool to manage Google Workspace
|
|
5
5
|
Project-URL: Homepage, https://github.com/GAM-team/GAM
|
|
6
6
|
Project-URL: Issues, https://github.com/GAM-team/GAM/issues
|
|
@@ -30,6 +30,7 @@ Requires-Dist: httplib2>=0.17.0
|
|
|
30
30
|
Requires-Dist: lxml
|
|
31
31
|
Requires-Dist: passlib>=1.7.2
|
|
32
32
|
Requires-Dist: pathvalidate
|
|
33
|
+
Requires-Dist: pyscard==2.2.1
|
|
33
34
|
Requires-Dist: python-dateutil
|
|
34
35
|
Provides-Extra: yubikey
|
|
35
36
|
Requires-Dist: yubikey-manager>=5.0; extra == 'yubikey'
|
|
@@ -1,7 +1,24 @@
|
|
|
1
|
+
7.06.08
|
|
2
|
+
|
|
3
|
+
Fixed problem where Yubikeys caused a trap.
|
|
4
|
+
|
|
5
|
+
7.06.07
|
|
6
|
+
|
|
7
|
+
Updated private key rotation progress messages in `gam create|use|update project`
|
|
8
|
+
and `gam upload sakey`.
|
|
9
|
+
|
|
10
|
+
Updated `gam use project` to display the following error message when the specifed project
|
|
11
|
+
already has a service account.
|
|
12
|
+
```
|
|
13
|
+
Re-run the command specify a new service account name with: saname <ServiceAccountName>'
|
|
14
|
+
```
|
|
15
|
+
|
|
1
16
|
7.06.06
|
|
2
17
|
|
|
3
18
|
Native support for Windows 11 Arm-based devices.
|
|
4
19
|
|
|
20
|
+
Renamed some MacOS and Linux binary installer files to align on terminology. Everything is "arm64" now, no "aarch64".
|
|
21
|
+
|
|
5
22
|
7.06.05
|
|
6
23
|
|
|
7
24
|
Updated code in `gam delete|update chromepolicy` to handle the `policyTargetKey[additionalTargetKeys]`
|
|
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
|
28
|
-
__version__ = '7.06.
|
|
28
|
+
__version__ = '7.06.09'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -11384,25 +11384,26 @@ def _waitForSvcAcctCompletion(i):
|
|
|
11384
11384
|
sys.stdout.write(Msg.WAITING_FOR_ITEM_CREATION_TO_COMPLETE_SLEEPING.format(Ent.Singular(Ent.SVCACCT), sleep_time))
|
|
11385
11385
|
time.sleep(sleep_time)
|
|
11386
11386
|
|
|
11387
|
-
def _grantRotateRights(iam, projectId, service_account,
|
|
11387
|
+
def _grantRotateRights(iam, projectId, service_account, account_type='serviceAccount'):
|
|
11388
11388
|
body = {'policy': {'bindings': [{'role': 'roles/iam.serviceAccountKeyAdmin',
|
|
11389
|
-
'members': [f'{account_type}:{
|
|
11389
|
+
'members': [f'{account_type}:{service_account}']}]}}
|
|
11390
11390
|
maxRetries = 10
|
|
11391
|
-
|
|
11392
|
-
|
|
11391
|
+
kvList = [Ent.PROJECT, projectId, Ent.SVCACCT, service_account]
|
|
11392
|
+
printEntityMessage(kvList, Msg.GRANTING_RIGHTS_TO_ROTATE_ITS_OWN_PRIVATE_KEY.format('Granting'))
|
|
11393
11393
|
for retry in range(1, maxRetries+1):
|
|
11394
11394
|
try:
|
|
11395
11395
|
callGAPI(iam.projects().serviceAccounts(), 'setIamPolicy',
|
|
11396
11396
|
throwReasons=[GAPI.INVALID_ARGUMENT],
|
|
11397
11397
|
resource=f'projects/{projectId}/serviceAccounts/{service_account}', body=body)
|
|
11398
|
+
printEntityMessage(kvList, Msg.GRANTING_RIGHTS_TO_ROTATE_ITS_OWN_PRIVATE_KEY.format('Granted'))
|
|
11398
11399
|
return True
|
|
11399
11400
|
except GAPI.invalidArgument as e:
|
|
11400
|
-
entityActionFailedWarning(
|
|
11401
|
+
entityActionFailedWarning(kvList, str(e))
|
|
11401
11402
|
if 'does not exist' not in str(e) or retry == maxRetries:
|
|
11402
11403
|
return False
|
|
11403
11404
|
_waitForSvcAcctCompletion(retry)
|
|
11404
11405
|
except Exception as e:
|
|
11405
|
-
entityActionFailedWarning(
|
|
11406
|
+
entityActionFailedWarning(kvList, str(e))
|
|
11406
11407
|
return False
|
|
11407
11408
|
|
|
11408
11409
|
def _createOauth2serviceJSON(httpObj, projectInfo, svcAcctInfo, create_key=True):
|
|
@@ -11420,6 +11421,7 @@ def _createOauth2serviceJSON(httpObj, projectInfo, svcAcctInfo, create_key=True)
|
|
|
11420
11421
|
return False
|
|
11421
11422
|
except GAPI.alreadyExists as e:
|
|
11422
11423
|
entityActionFailedWarning([Ent.PROJECT, projectInfo['projectId'], Ent.SVCACCT, svcAcctInfo['name']], str(e))
|
|
11424
|
+
writeStderr(Msg.RERUN_THE_COMMAND_AND_SPECIFY_A_NEW_SANAME)
|
|
11423
11425
|
return False
|
|
11424
11426
|
GM.Globals[GM.SVCACCT_SCOPES_DEFINED] = False
|
|
11425
11427
|
if create_key and not doProcessSvcAcctKeys(mode='retainexisting', iam=iam,
|
|
@@ -11428,7 +11430,7 @@ def _createOauth2serviceJSON(httpObj, projectInfo, svcAcctInfo, create_key=True)
|
|
|
11428
11430
|
clientId=service_account['uniqueId']):
|
|
11429
11431
|
return False
|
|
11430
11432
|
sa_email = service_account['name'].rsplit('/', 1)[-1]
|
|
11431
|
-
return _grantRotateRights(iam, projectInfo['projectId'], sa_email
|
|
11433
|
+
return _grantRotateRights(iam, projectInfo['projectId'], sa_email)
|
|
11432
11434
|
|
|
11433
11435
|
def _createClientSecretsOauth2service(httpObj, login_hint, appInfo, projectInfo, svcAcctInfo, create_key=True):
|
|
11434
11436
|
def _checkClientAndSecret(csHttpObj, client_id, client_secret):
|
|
@@ -11921,9 +11923,7 @@ def doUpdateProject():
|
|
|
11921
11923
|
continue
|
|
11922
11924
|
iam = getAPIService(API.IAM, httpObj)
|
|
11923
11925
|
_getSvcAcctData() # needed to read in GM.OAUTH2SERVICE_JSON_DATA
|
|
11924
|
-
_grantRotateRights(iam, projectId,
|
|
11925
|
-
GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['client_email'],
|
|
11926
|
-
GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['client_email'])
|
|
11926
|
+
_grantRotateRights(iam, projectId, GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['client_email'])
|
|
11927
11927
|
Ind.Decrement()
|
|
11928
11928
|
|
|
11929
11929
|
# gam delete project [[admin] <EmailAddress>] [<ProjectIDEntity>]
|
|
@@ -12786,7 +12786,7 @@ def doUploadSvcAcctKeys():
|
|
|
12786
12786
|
iam = getAPIService(API.IAM, httpObj)
|
|
12787
12787
|
if doProcessSvcAcctKeys(mode='upload', iam=iam):
|
|
12788
12788
|
sa_email = GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['client_email']
|
|
12789
|
-
_grantRotateRights(iam, GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['project_id'], sa_email
|
|
12789
|
+
_grantRotateRights(iam, GM.Globals[GM.OAUTH2SERVICE_JSON_DATA]['project_id'], sa_email)
|
|
12790
12790
|
sys.stdout.write(Msg.YOUR_GAM_PROJECT_IS_CREATED_AND_READY_TO_USE)
|
|
12791
12791
|
|
|
12792
12792
|
# gam delete sakeys <ServiceAccountKeyList>
|
|
@@ -13491,6 +13491,8 @@ REPORT_CHOICE_MAP = {
|
|
|
13491
13491
|
'drive': 'drive',
|
|
13492
13492
|
'enterprisegroups': 'groups_enterprise',
|
|
13493
13493
|
'gcp': 'gcp',
|
|
13494
|
+
'gemini': 'gemini_for_workspace',
|
|
13495
|
+
'geminiforworkspace': 'gemini_for_workspace',
|
|
13494
13496
|
'gplus': 'gplus',
|
|
13495
13497
|
'google+': 'gplus',
|
|
13496
13498
|
'group': 'groups',
|
|
@@ -13788,6 +13790,20 @@ def doReport():
|
|
|
13788
13790
|
csvPF.WriteRow(row)
|
|
13789
13791
|
return (True, lastDate)
|
|
13790
13792
|
|
|
13793
|
+
# dynamically extend our choices with other reports Google dynamically adds
|
|
13794
|
+
rep = buildGAPIObject(API.REPORTS)
|
|
13795
|
+
dyn_choices = rep._rootDesc \
|
|
13796
|
+
.get('resources', {}) \
|
|
13797
|
+
.get('activities', {}) \
|
|
13798
|
+
.get('methods', {}) \
|
|
13799
|
+
.get('list', {}) \
|
|
13800
|
+
.get('parameters', {}) \
|
|
13801
|
+
.get('applicationName', {}) \
|
|
13802
|
+
.get('enum', [])
|
|
13803
|
+
for dyn_choice in dyn_choices:
|
|
13804
|
+
if dyn_choice.replace('_', '') not in REPORT_CHOICE_MAP and \
|
|
13805
|
+
dyn_choice not in REPORT_CHOICE_MAP.values():
|
|
13806
|
+
REPORT_CHOICE_MAP[dyn_choice.replace('_', '')] = dyn_choice
|
|
13791
13807
|
report = getChoice(REPORT_CHOICE_MAP, mapChoice=True)
|
|
13792
13808
|
if report == 'usage':
|
|
13793
13809
|
doReportUsage()
|
|
@@ -13795,7 +13811,6 @@ def doReport():
|
|
|
13795
13811
|
if report == 'usageparameters':
|
|
13796
13812
|
doReportUsageParameters()
|
|
13797
13813
|
return
|
|
13798
|
-
rep = buildGAPIObject(API.REPORTS)
|
|
13799
13814
|
customerId = GC.Values[GC.CUSTOMER_ID]
|
|
13800
13815
|
if customerId == GC.MY_CUSTOMER:
|
|
13801
13816
|
customerId = None
|
|
@@ -72,7 +72,7 @@ Please go to:
|
|
|
72
72
|
24. Paste it at the "Enter your Client Secret: " prompt in your terminal
|
|
73
73
|
25. Press return/enter in your terminal
|
|
74
74
|
26. Switch back to the browser
|
|
75
|
-
27. Click "
|
|
75
|
+
27. Click "OK"
|
|
76
76
|
28. These steps are complete
|
|
77
77
|
'''
|
|
78
78
|
ENTER_YOUR_CLIENT_ID = '\nEnter your Client ID: '
|
|
@@ -287,6 +287,7 @@ GAM_OUT_OF_MEMORY = 'GAM has run out of memory. If this is a large Google Worksp
|
|
|
287
287
|
GENERATING_NEW_PRIVATE_KEY = 'Generating new private key'
|
|
288
288
|
GETTING = 'Getting'
|
|
289
289
|
GETTING_ALL = 'Getting all'
|
|
290
|
+
GRANTING_RIGHTS_TO_ROTATE_ITS_OWN_PRIVATE_KEY = '{0} rights to rotate its own private key'
|
|
290
291
|
GOOGLE_DELEGATION_ERROR = 'Google delegation error, delegator and delegate both exist and are valid for delegation'
|
|
291
292
|
GOT = 'Got'
|
|
292
293
|
GROUP_MAPS_TO_MULTIPLE_OUS = 'File: {0}, Group: {1} references multiple OUs: {2}'
|
|
@@ -294,13 +295,12 @@ GROUP_MAPS_TO_OU_INVALID_ROW = 'File: {0}, Invalid row, must contain non-blank <
|
|
|
294
295
|
GUARDIAN_INVITATION_STATUS_NOT_PENDING = 'Guardian invitation status is not PENDING'
|
|
295
296
|
HAS_CHILD_ORGS = 'Has child {0}'
|
|
296
297
|
HAS_INVALID_FORMAT = '{0}: {1}, Has invalid format'
|
|
297
|
-
HAS_RIGHTS_TO_ROTATE_OWN_PRIVATE_KEY = 'Giving account {0} rights to rotate {1} private key'
|
|
298
298
|
HEADER_NOT_FOUND_IN_CSV_HEADERS = 'Header "{0}" not found in CSV headers of "{1}".'
|
|
299
299
|
HELP_SYNTAX = 'Help: Syntax in file {0}\n'
|
|
300
300
|
HELP_WIKI = 'Help: Documentation is at {0}\n'
|
|
301
301
|
IGNORED = 'Ignored'
|
|
302
302
|
INSTRUCTIONS_CLIENT_SECRETS_JSON = 'Please run\n\ngam create|use project\ngam oauth create\n\nto create and authorize a Client account.\n'
|
|
303
|
-
INSTRUCTIONS_OAUTH2SERVICE_JSON = 'Please run\n\ngam create|use project\ngam user <user>
|
|
303
|
+
INSTRUCTIONS_OAUTH2SERVICE_JSON = 'Please run\n\ngam create|use project\ngam user <user> update serviceaccount\n\nto create and authorize a Service account.\n'
|
|
304
304
|
INSUFFICIENT_PERMISSIONS_TO_PERFORM_TASK = 'Insufficient permissions to perform this task'
|
|
305
305
|
INTER_BATCH_WAIT_INCREASED = 'inter_batch_wait increased to {0:.2f}'
|
|
306
306
|
INVALID = 'Invalid'
|
|
@@ -468,6 +468,10 @@ REFUSING_TO_DEPROVISION_DEVICES = 'Refusing to deprovision {0} devices because a
|
|
|
468
468
|
REPLY_TO_CUSTOM_REQUIRES_EMAIL_ADDRESS = 'replyto REPLY_TO_CUSTOM requires customReplyTo <EmailAddress>'
|
|
469
469
|
REQUEST_COMPLETED_NO_FILES = 'Request completed but no results/files were returned, try requesting again'
|
|
470
470
|
REQUEST_NOT_COMPLETE = 'Request needs to be completed before downloading, current status is: {0}'
|
|
471
|
+
RERUN_THE_COMMAND_AND_SPECIFY_A_NEW_SANAME = """
|
|
472
|
+
Re-run the command specify a new service account name with: saname <ServiceAccountName>
|
|
473
|
+
See: https://github.com/GAM-team/GAM/wiki/Authorization#advanced-use
|
|
474
|
+
"""
|
|
471
475
|
RESOURCE_CAPACITY_FLOOR_REQUIRED = 'Options "capacity <Number>" (<Number> > 0) and "floor <String>" required'
|
|
472
476
|
RESOURCE_FLOOR_REQUIRED = 'Option "floor <String>" required'
|
|
473
477
|
RESULTS_TOO_LARGE_FOR_GOOGLE_SPREADSHEET = 'Results are too large for Google Spreadsheets. Uploading as a regular CSV file.'
|
|
@@ -8,7 +8,7 @@ GAM installation script.
|
|
|
8
8
|
OPTIONS:
|
|
9
9
|
-h show help.
|
|
10
10
|
-d Directory where gam folder will be installed. Default is \$HOME/bin/
|
|
11
|
-
-a Architecture to install (
|
|
11
|
+
-a Architecture to install (x86_64, arm64). Default is to detect your arch with "uname -m".
|
|
12
12
|
-o OS we are running (linux, macos). Default is to detect your OS with "uname -s".
|
|
13
13
|
-b OS version. Default is to detect on MacOS and Linux.
|
|
14
14
|
-l Just upgrade GAM to latest version. Skips project creation and auth.
|
|
@@ -24,18 +24,19 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
|
|
|
24
24
|
- Start a terminal session.
|
|
25
25
|
|
|
26
26
|
* Executable Archive, Manual, Raspberry Pi/ChromeOS ARM devices
|
|
27
|
-
- `gam-7.wx.yz-linux-
|
|
28
|
-
- `gam-7.wx.yz-linux-
|
|
27
|
+
- `gam-7.wx.yz-linux-arm64-glibc2.35.tar.xz`
|
|
28
|
+
- `gam-7.wx.yz-linux-arm64-glibc2.39.tar.xz`
|
|
29
|
+
- `gam-7.wx.yz-linux-arm64-legacy.tar.xz`
|
|
29
30
|
- Download the archive, extract the contents into some directory.
|
|
30
31
|
- Start a terminal session.
|
|
31
32
|
|
|
32
33
|
* Executable Archive, Manual, Mac OS versions Sonoma, Sequoia - M1/M2
|
|
33
|
-
- `gam-7.wx.yz-macos14.7-
|
|
34
|
+
- `gam-7.wx.yz-macos14.7-arm64.tar.xz`
|
|
34
35
|
- Download the archive, extract the contents into some directory.
|
|
35
36
|
- Start a terminal session.
|
|
36
37
|
|
|
37
38
|
* Executable Archive, Manual, Mac OS versions Sequoia - M3
|
|
38
|
-
- `gam-7.wx.yz-macos15.
|
|
39
|
+
- `gam-7.wx.yz-macos15.4-arm64.tar.xz`
|
|
39
40
|
- Download the archive, extract the contents into some directory.
|
|
40
41
|
- Start a terminal session.
|
|
41
42
|
|
|
@@ -54,6 +55,16 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
|
|
|
54
55
|
- Download the installer and run it.
|
|
55
56
|
- Start a Command Prompt/PowerShell session.
|
|
56
57
|
|
|
58
|
+
* Executable Archive, Manual, Windows 11 ARM
|
|
59
|
+
- `gam-7.wx.yz-windows-arm64.zip`
|
|
60
|
+
- Download the archive, extract the contents into some directory.
|
|
61
|
+
- Start a Command Prompt/PowerShell session.
|
|
62
|
+
|
|
63
|
+
* Executable Installer, Manual, Windows 11 ARM
|
|
64
|
+
- `gam-7.wx.yz-windows-arm64.msi`
|
|
65
|
+
- Download the installer and run it.
|
|
66
|
+
- Start a Command Prompt/PowerShell session.
|
|
67
|
+
|
|
57
68
|
* Source, all platforms
|
|
58
69
|
- `Source code(zip)`
|
|
59
70
|
- `Source code(tar.gz)`
|
|
@@ -10,6 +10,27 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
|
|
|
10
10
|
|
|
11
11
|
See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
|
|
12
12
|
|
|
13
|
+
### 7.06.08
|
|
14
|
+
|
|
15
|
+
Fixed problem where Yubikeys caused a trap.
|
|
16
|
+
|
|
17
|
+
### 7.06.07
|
|
18
|
+
|
|
19
|
+
Updated private key rotation progress messages in `gam create|use|update project`
|
|
20
|
+
and `gam upload sakey`.
|
|
21
|
+
|
|
22
|
+
Updated `gam use project` to display the following error message when the specifed project
|
|
23
|
+
already has a service account.
|
|
24
|
+
```
|
|
25
|
+
Re-run the command specify a new service account name with: saname <ServiceAccountName>'
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 7.06.06
|
|
29
|
+
|
|
30
|
+
Native support for Windows 11 Arm-based devices.
|
|
31
|
+
|
|
32
|
+
Renamed some MacOS and Linux binary installer files to align on terminology. Everything is "arm64" now, no "aarch64".
|
|
33
|
+
|
|
13
34
|
### 7.06.05
|
|
14
35
|
|
|
15
36
|
Updated code in `gam delete|update chromepolicy` to handle the `policyTargetKey[additionalTargetKeys]`
|
|
@@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt.
|
|
|
251
251
|
admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
|
|
252
252
|
admin@server:/Users/admin$ gam version
|
|
253
253
|
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
|
|
254
|
-
GAM 7.06.
|
|
254
|
+
GAM 7.06.08 - https://github.com/GAM-team/GAM - pyinstaller
|
|
255
255
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
256
256
|
Python 3.13.3 64-bit final
|
|
257
257
|
MacOS Sequoia 15.4.1 x86_64
|
|
@@ -989,7 +989,7 @@ writes the credentials into the file oauth2.txt.
|
|
|
989
989
|
C:\>del C:\GAMConfig\oauth2.txt
|
|
990
990
|
C:\>gam version
|
|
991
991
|
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
|
|
992
|
-
GAM 7.06.
|
|
992
|
+
GAM 7.06.08 - https://github.com/GAM-team/GAM - pythonsource
|
|
993
993
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
994
994
|
Python 3.13.3 64-bit final
|
|
995
995
|
Windows-10-10.0.17134 AMD64
|
|
@@ -4,7 +4,7 @@ k
|
|
|
4
4
|
Print the current version of Gam with details
|
|
5
5
|
```
|
|
6
6
|
gam version
|
|
7
|
-
GAM 7.06.
|
|
7
|
+
GAM 7.06.08 - https://github.com/GAM-team/GAM - pyinstaller
|
|
8
8
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
9
9
|
Python 3.13.3 64-bit final
|
|
10
10
|
MacOS Sequoia 15.4.1 x86_64
|
|
@@ -16,7 +16,7 @@ Time: 2023-06-02T21:10:00-07:00
|
|
|
16
16
|
Print the current version of Gam with details and time offset information
|
|
17
17
|
```
|
|
18
18
|
gam version timeoffset
|
|
19
|
-
GAM 7.06.
|
|
19
|
+
GAM 7.06.08 - https://github.com/GAM-team/GAM - pyinstaller
|
|
20
20
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
21
21
|
Python 3.13.3 64-bit final
|
|
22
22
|
MacOS Sequoia 15.4.1 x86_64
|
|
@@ -28,7 +28,7 @@ Your system time differs from www.googleapis.com by less than 1 second
|
|
|
28
28
|
Print the current version of Gam with extended details and SSL information
|
|
29
29
|
```
|
|
30
30
|
gam version extended
|
|
31
|
-
GAM 7.06.
|
|
31
|
+
GAM 7.06.08 - https://github.com/GAM-team/GAM - pyinstaller
|
|
32
32
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
33
33
|
Python 3.13.3 64-bit final
|
|
34
34
|
MacOS Sequoia 15.4.1 x86_64
|
|
@@ -65,7 +65,7 @@ MacOS High Sierra 10.13.6 x86_64
|
|
|
65
65
|
Path: /Users/Admin/bin/gam7
|
|
66
66
|
Version Check:
|
|
67
67
|
Current: 5.35.08
|
|
68
|
-
Latest: 7.06.
|
|
68
|
+
Latest: 7.06.08
|
|
69
69
|
echo $?
|
|
70
70
|
1
|
|
71
71
|
```
|
|
@@ -73,7 +73,7 @@ echo $?
|
|
|
73
73
|
Print the current version number without details
|
|
74
74
|
```
|
|
75
75
|
gam version simple
|
|
76
|
-
7.06.
|
|
76
|
+
7.06.08
|
|
77
77
|
```
|
|
78
78
|
In Linux/MacOS you can do:
|
|
79
79
|
```
|
|
@@ -83,7 +83,7 @@ echo $VER
|
|
|
83
83
|
Print the current version of Gam and address of this Wiki
|
|
84
84
|
```
|
|
85
85
|
gam help
|
|
86
|
-
GAM 7.06.
|
|
86
|
+
GAM 7.06.08 - https://github.com/GAM-team/GAM
|
|
87
87
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
88
88
|
Python 3.13.3 64-bit final
|
|
89
89
|
MacOS Sequoia 15.4.1 x86_64
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|