gam7 7.6.9__tar.gz → 7.6.11__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.9 → gam7-7.6.11}/.github/workflows/build.yml +14 -2
- {gam7-7.6.9 → gam7-7.6.11}/.github/workflows/pypi.yml +2 -0
- {gam7-7.6.9 → gam7-7.6.11}/PKG-INFO +13 -13
- {gam7-7.6.9 → gam7-7.6.11}/pyproject.toml +13 -12
- {gam7-7.6.9 → gam7-7.6.11}/src/GamCommands.txt +5 -3
- {gam7-7.6.9 → gam7-7.6.11}/src/GamUpdate.txt +20 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/__init__.py +64 -34
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glapi.py +1 -1
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glskus.py +2 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glverlibs.py +16 -11
- gam7-7.6.11/src/license.rtf +25 -0
- gam7-7.6.11/src/requirements.txt +15 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/setup.cfg +15 -13
- {gam7-7.6.9 → gam7-7.6.11}/wiki/GamUpdates.md +20 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Licenses.md +1 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Reports.md +1 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Chat.md +3 -3
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Version-and-Help.md +6 -6
- gam7-7.6.9/src/license.rtf +0 -0
- gam7-7.6.9/src/requirements.txt +0 -15
- {gam7-7.6.9 → gam7-7.6.11}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/actions/decrypt.sh +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/actions/entitlements.plist +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/stale.yml +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.github/workflows/pushwiki.yml +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/.pre-commit-config.yaml +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/LICENSE +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/README.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/.gitignore +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/LICENSE +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/cacerts.pem +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/callgam.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/__main__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/auth.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/client.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/core.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/data.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/http.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/http_core.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/service.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/token_store.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/atom/url.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/cacerts.pem +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glclargs.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glgapi.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/glmsgs.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/service.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/_auth.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/_helpers.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/channel.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/discovery.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/errors.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/http.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/mimeparse.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/model.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/schema.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/googleapiclient/version.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/iso8601/__init__.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/iso8601/iso8601.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam/six.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam-install.sh +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam-setup.bat +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam.exe.manifest +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam.spec +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/gam.wxs +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/requirements-dev.txt +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/setup.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/tools/mkGamRef.py +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/tools/openssl.props +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/src/version_info.txt.in +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/00scratch.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Addresses.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Administrators.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Alert-Center.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Aliases.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Authorization.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/BNF-Syntax.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Basic-Items.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Bulk-Processing.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/CSV-Input-Filtering.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/CSV-Output-Filtering.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/CSV-Special-Characters.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Calendars-Access.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Calendars-Events.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Calendars.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chat-Bot.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chrome-AUE-Counts.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chrome-Installed-Apps.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chrome-Policies.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chrome-Printers.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chrome-Profile-Management.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chrome-Version-Counts.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Chrome-Version-History.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/ChromeOS-Devices.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Classroom-Courses.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Classroom-Guardians.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Classroom-Invitations.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Classroom-Membership.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Cloud-Channel.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Cloud-Identity-Devices.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Cloud-Identity-Groups.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Cloud-Identity-Policies.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Cloud-Storage.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Collections-of-Items.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Collections-of-Users.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Command-Line-Parsing.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Command-Logging-Progress.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Context-Aware-Access-Levels.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Customer.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Domain-People-Contacts-Profiles.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Domain-SharedContacts-GAL.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Domains-Verification.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Domains.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Downloads-Installs.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Drive-File-Selection.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Drive-Items.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Drive-REST-API-v3.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Email-Audit-Monitor.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Find-File-Owner.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/GAM-Public-Chat-Room.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/GAM-Return-Codes.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/GAM7-on-Android-Devices.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Google-Data-Transfers.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Google-Network-Addresses.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Groups-Membership.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Groups.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/HTTPS-Proxy.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Home.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/How-to-Install-GAM7.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/How-to-Uninstall-GAM7.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/How-to-Update-GAM7.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Inbound-SSO.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Install-GAM-as-Python-Library.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/List-Items.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/List.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Mobile-Devices.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Organizational-Units.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Other-Resources.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Permission-Matches.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Python-Regular-Expressions.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/README.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Rclone.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Reseller.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Resources.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/SSL-Root-CA-Certificates.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Schemas.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Scripts.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Send-Email.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Shared-Drives.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Sites.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Tag-Replace.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Todrive.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Unmanaged-Accounts.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Upgrade-Benefits.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Analytics-Admin.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Application-Specific-Passwords.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Backup-Verification-Codes.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Calendars-Access.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Calendars-Events.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Calendars.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Classification-Labels.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Classroom-Profile.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Contacts-Delegates.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Contacts.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Deprovision.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Activity-Settings.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Cleanup.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Comments.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Copy-Move.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Files-Display.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Files-Manage.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Orphans.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Ownership.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Permissions.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Query.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Revisions.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Shortcuts.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Drive-Transfer.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Forms.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-CSE.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-Delegates.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-Filters.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-Forwarding.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-Labels.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-Messages-Threads.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-Profile.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-S-MIME.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Gmail-Settings.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Group-Membership.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Keep-Notes.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Looker-Studio.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Meet.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-People-Contacts-Profiles.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Photo.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Profile-Photo.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Profile-Sharing.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Shared-Drives.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Signout-Turnoff2SV.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Spreadsheets.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Tasks.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-Tokens.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users-YouTube.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Users.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Vault-Takeout.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/_Sidebar.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/gam.cfg.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-AdminSettingsExamples.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Android-Installation.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-BulkOperations.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-CalendarExamples.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Chat-Bot.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Chrome-Browser-Management.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Chrome-OS-Installation.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Chrome-Policy-Settings.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Cloud-Identity-Groups.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Command-Reference-Calendars.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Command-Reference-Definitions.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Command-Reference-Drive.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Command-Reference-Email.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Command-Reference-Groups.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Command-Reference-Users.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Context-Aware-Access-Levels.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-CreatingClientSecretsFile.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Custom-Schemas.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Data-Transfers.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-DomainVerification.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-ExamplesAccountAuditing.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-ExamplesCSV.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-ExamplesEmailSettings.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-ExamplesOrganizations.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-GAM-Discussion-Group.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-GAM-options-files.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-GAM3CSVListings.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-GAM3DirectoryCommands.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-GAM3GroupSettings.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-GAM7-FAQ.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-GoogleDriveManagement.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Home.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Inbound-SSO-Settings.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-LicenseExamples.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Managing-Admins.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Managing-Devices.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Managing-Google-Classroom.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-OAuthKeyManagement.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Printers.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-ResellerCommands.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-SecurityExamples.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-UnmanagedUsersExamples.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Use-a-Yubikey.md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
- {gam7-7.6.9 → gam7-7.6.11}/wiki/l-_Footer.md +0 -0
|
@@ -28,6 +28,8 @@ env:
|
|
|
28
28
|
OPENSSL_SOURCE_PATH: ${{ github.workspace }}/src/openssl
|
|
29
29
|
PYTHON_INSTALL_PATH: ${{ github.workspace }}/bin/python
|
|
30
30
|
PYTHON_SOURCE_PATH: ${{ github.workspace }}/src/cpython
|
|
31
|
+
CRYPTOGRAPHY_BUILD_OPENSSL_NO_LEGACY: 1
|
|
32
|
+
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
|
|
31
33
|
|
|
32
34
|
jobs:
|
|
33
35
|
build:
|
|
@@ -197,7 +199,7 @@ jobs:
|
|
|
197
199
|
run: |
|
|
198
200
|
echo "RUNNING: apt update..."
|
|
199
201
|
sudo apt-get -qq --yes update
|
|
200
|
-
sudo apt-get -qq --yes install swig libpcsclite-dev libxslt1-dev libsqlite3-dev
|
|
202
|
+
sudo apt-get -qq --yes install swig libpcsclite-dev libxslt1-dev libsqlite3-dev libffi-dev pkg-config
|
|
201
203
|
|
|
202
204
|
- name: MacOS install tools
|
|
203
205
|
if: runner.os == 'macOS'
|
|
@@ -450,6 +452,9 @@ jobs:
|
|
|
450
452
|
"$PYTHON" -m pip install --upgrade pip
|
|
451
453
|
"$PYTHON" -m pip install --upgrade wheel
|
|
452
454
|
"$PYTHON" -m pip install --upgrade setuptools
|
|
455
|
+
"$PYTHON" -m pip install --upgrade importlib-metadata
|
|
456
|
+
"$PYTHON" -m pip install --upgrade setuptools-scm
|
|
457
|
+
"$PYTHON" -m pip list
|
|
453
458
|
|
|
454
459
|
- name: Custom wheels for Win arm64
|
|
455
460
|
if: runner.os == 'Windows' && runner.arch == 'ARM64'
|
|
@@ -462,7 +467,14 @@ jobs:
|
|
|
462
467
|
echo "Downloading ${latest_crypt_whl}..."
|
|
463
468
|
curl -O -L "$latest_crypt_whl"
|
|
464
469
|
"$PYTHON" -m pip install cryptography*.whl
|
|
465
|
-
|
|
470
|
+
|
|
471
|
+
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
472
|
+
|
|
473
|
+
# - name: Compile cryptography from source (no legacy)
|
|
474
|
+
# if: runner.os != 'Windows' || runner.arch != 'ARM64'
|
|
475
|
+
# run: |
|
|
476
|
+
# pip install --no-binary ":all:" --force cryptography
|
|
477
|
+
|
|
466
478
|
- name: Install pip requirements
|
|
467
479
|
run: |
|
|
468
480
|
echo "before anything..."
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gam7
|
|
3
|
-
Version: 7.6.
|
|
3
|
+
Version: 7.6.11
|
|
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
|
|
@@ -18,22 +18,22 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
20
20
|
Requires-Python: >=3.9
|
|
21
|
-
Requires-Dist: chardet
|
|
22
|
-
Requires-Dist: cryptography
|
|
21
|
+
Requires-Dist: chardet>=5.2.0
|
|
22
|
+
Requires-Dist: cryptography>=44.0.2
|
|
23
23
|
Requires-Dist: distro; sys_platform == 'linux'
|
|
24
|
-
Requires-Dist: filelock
|
|
25
|
-
Requires-Dist: google-api-python-client>=2.
|
|
26
|
-
Requires-Dist: google-auth-httplib2
|
|
27
|
-
Requires-Dist: google-auth-oauthlib>=
|
|
28
|
-
Requires-Dist: google-auth>=2.
|
|
29
|
-
Requires-Dist: httplib2>=0.
|
|
30
|
-
Requires-Dist: lxml
|
|
31
|
-
Requires-Dist: passlib>=1.7.
|
|
32
|
-
Requires-Dist: pathvalidate
|
|
24
|
+
Requires-Dist: filelock>=3.18.0
|
|
25
|
+
Requires-Dist: google-api-python-client>=2.167.0
|
|
26
|
+
Requires-Dist: google-auth-httplib2>=0.2.0
|
|
27
|
+
Requires-Dist: google-auth-oauthlib>=1.2.2
|
|
28
|
+
Requires-Dist: google-auth>=2.39.0
|
|
29
|
+
Requires-Dist: httplib2>=0.22.0
|
|
30
|
+
Requires-Dist: lxml>=5.4.0
|
|
31
|
+
Requires-Dist: passlib>=1.7.4
|
|
32
|
+
Requires-Dist: pathvalidate>=3.2.3
|
|
33
33
|
Requires-Dist: pyscard==2.2.1
|
|
34
34
|
Requires-Dist: python-dateutil
|
|
35
35
|
Provides-Extra: yubikey
|
|
36
|
-
Requires-Dist: yubikey-manager>=5.
|
|
36
|
+
Requires-Dist: yubikey-manager>=5.6.1; extra == 'yubikey'
|
|
37
37
|
Description-Content-Type: text/markdown
|
|
38
38
|
|
|
39
39
|
GAM is a command line tool for Google Workspace admins to manage domain and user settings quickly and easily.
|
|
@@ -7,19 +7,20 @@ authors = [
|
|
|
7
7
|
{ name="Jay Lee", email="jay0lee@gmail.com" },
|
|
8
8
|
{ name="Ross Scroggs", email="Ross.Scroggs@gmail.com" },
|
|
9
9
|
]
|
|
10
|
+
# # The following files should be edited to match: setup.cfg, requirements.txt
|
|
10
11
|
dependencies = [
|
|
11
|
-
"chardet",
|
|
12
|
-
"cryptography",
|
|
12
|
+
"chardet>=5.2.0",
|
|
13
|
+
"cryptography>=44.0.2",
|
|
13
14
|
"distro; sys_platform=='linux'",
|
|
14
|
-
"filelock",
|
|
15
|
-
"google-api-python-client>=2.
|
|
16
|
-
"google-auth-httplib2",
|
|
17
|
-
"google-auth-oauthlib>=
|
|
18
|
-
"google-auth>=2.
|
|
19
|
-
"httplib2>=0.
|
|
20
|
-
"lxml",
|
|
21
|
-
"passlib>=1.7.
|
|
22
|
-
"pathvalidate",
|
|
15
|
+
"filelock>=3.18.0",
|
|
16
|
+
"google-api-python-client>=2.167.0",
|
|
17
|
+
"google-auth-httplib2>=0.2.0",
|
|
18
|
+
"google-auth-oauthlib>=1.2.2",
|
|
19
|
+
"google-auth>=2.39.0",
|
|
20
|
+
"httplib2>=0.22.0",
|
|
21
|
+
"lxml>=5.4.0",
|
|
22
|
+
"passlib>=1.7.4",
|
|
23
|
+
"pathvalidate>=3.2.3",
|
|
23
24
|
"pyscard==2.2.1",
|
|
24
25
|
"python-dateutil",
|
|
25
26
|
]
|
|
@@ -40,7 +41,7 @@ license = {text = "Apache License (2.0)"}
|
|
|
40
41
|
license-files = ["LICEN[CS]E*"]
|
|
41
42
|
|
|
42
43
|
[project.optional-dependencies]
|
|
43
|
-
yubikey = ["yubikey-manager>=5.
|
|
44
|
+
yubikey = ["yubikey-manager>=5.6.1"]
|
|
44
45
|
|
|
45
46
|
[project.scripts]
|
|
46
47
|
gam = "gam.__main__:main"
|
|
@@ -322,7 +322,8 @@ If an item contains spaces, it should be surrounded by ".
|
|
|
322
322
|
wsess | workspaceesentials | gsuiteessentials | essentials | d4e | driveenterprise | drive4enterprise | 1010060001 | Google Workspace Essentials |
|
|
323
323
|
wsessplus | workspaceessentialsplus | 1010060005 | Google Workspace Essentials Plus |
|
|
324
324
|
wsflw | workspacefrontline | workspacefrontlineworker | 1010020030 | Google Workspace Frontline Starter |
|
|
325
|
-
wsflwstan | workspacefrontlinestan | workspacefrontlineworkerstan | 1010020031 | Google Workspace Frontline Standard
|
|
325
|
+
wsflwstan | workspacefrontlinestan | workspacefrontlineworkerstan | 1010020031 | Google Workspace Frontline Standard |
|
|
326
|
+
wsflwplus | workspacefrontlineplus | workspacefrontlineworkerplus | 1010020034 | Google Workspace Frontline Plus
|
|
326
327
|
|
|
327
328
|
## Items built from primitives
|
|
328
329
|
|
|
@@ -782,7 +783,7 @@ Items, separated by spaces, with spaces, commas or single quotes in the items th
|
|
|
782
783
|
|
|
783
784
|
## Collections of ChromeOS Devices
|
|
784
785
|
|
|
785
|
-
Specify a collection of ChromeOS devices by directly specifying them or by
|
|
786
|
+
Specify a collection of ChromeOS devices by directly specifying them or by specifying items that will yield a list of ChromeOS devices.
|
|
786
787
|
|
|
787
788
|
<CrOSTypeEntity> ::=
|
|
788
789
|
(all cros)|
|
|
@@ -865,7 +866,7 @@ Specify a collection of ChromeOS devices by directly specifying them or by speci
|
|
|
865
866
|
|
|
866
867
|
## Collections of Users
|
|
867
868
|
|
|
868
|
-
Specify a collection of Users by directly specifying them or by
|
|
869
|
+
Specify a collection of Users by directly specifying them or by specifying items that will yield a list of users.
|
|
869
870
|
|
|
870
871
|
<UserTypeEntity> ::=
|
|
871
872
|
(all users|users_ns|users_susp|users_ns_susp)|
|
|
@@ -4458,6 +4459,7 @@ gam report usage customer [todrive <ToDriveAttribute>*]
|
|
|
4458
4459
|
domain|
|
|
4459
4460
|
drive|doc|docs|
|
|
4460
4461
|
gcp|
|
|
4462
|
+
gemini|geminiforworkspace|
|
|
4461
4463
|
groups|group|
|
|
4462
4464
|
groupsenterprise|enterprisegroups|
|
|
4463
4465
|
jamboard|
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
7.06.11
|
|
2
|
+
|
|
3
|
+
Improved `gam checkconn`.
|
|
4
|
+
|
|
5
|
+
Updated `gam print group-members` and `gam print cigroup-members` to recognize members
|
|
6
|
+
that are groups representing chat spaces. For now, these groups are not expanded when
|
|
7
|
+
`recursive` is specified.
|
|
8
|
+
|
|
9
|
+
7.06.10
|
|
10
|
+
|
|
11
|
+
Added the following license SKU.
|
|
12
|
+
```
|
|
13
|
+
1010020034 - Google Workspace Frontline Plus
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
7.06.09
|
|
17
|
+
|
|
18
|
+
Added `gemini` and `geminiforworkspace` to `<ActivityApplicationName>` for use in
|
|
19
|
+
`gam report <ActivityApplicationName>`.
|
|
20
|
+
|
|
1
21
|
7.06.08
|
|
2
22
|
|
|
3
23
|
Fixed problem where Yubikeys caused a trap.
|
|
@@ -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.11'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -95,6 +95,8 @@ import wsgiref.simple_server
|
|
|
95
95
|
import wsgiref.util
|
|
96
96
|
import zipfile
|
|
97
97
|
|
|
98
|
+
# disable legacy stuff we don't use and isn't secure
|
|
99
|
+
os.environ['CRYPTOGRAPHY_OPENSSL_NO_LEGACY'] = "1"
|
|
98
100
|
from cryptography import x509
|
|
99
101
|
from cryptography.hazmat.backends import default_backend
|
|
100
102
|
from cryptography.hazmat.primitives import hashes, serialization
|
|
@@ -9358,32 +9360,9 @@ def getOSPlatform():
|
|
|
9358
9360
|
|
|
9359
9361
|
# gam checkconnection
|
|
9360
9362
|
def doCheckConnection():
|
|
9361
|
-
|
|
9362
|
-
|
|
9363
|
-
|
|
9364
|
-
'workspace.google.com',
|
|
9365
|
-
'oauth2.googleapis.com',
|
|
9366
|
-
'www.googleapis.com']
|
|
9367
|
-
fix_hosts = {'calendar-json.googleapis.com': 'www.googleapis.com',
|
|
9368
|
-
'storage-api.googleapis.com': 'storage.googleapis.com'}
|
|
9369
|
-
api_hosts = ['apps-apis.google.com',
|
|
9370
|
-
'sites.google.com',
|
|
9371
|
-
'versionhistory.googleapis.com',
|
|
9372
|
-
'www.google.com']
|
|
9373
|
-
for host in API.PROJECT_APIS:
|
|
9374
|
-
host = fix_hosts.get(host, host)
|
|
9375
|
-
if host not in api_hosts and host not in hosts:
|
|
9376
|
-
api_hosts.append(host)
|
|
9377
|
-
hosts.extend(sorted(api_hosts))
|
|
9378
|
-
host_count = len(hosts)
|
|
9379
|
-
httpObj = getHttpObj(timeout=30)
|
|
9380
|
-
httpObj.follow_redirects = False
|
|
9381
|
-
headers = {'user-agent': GAM_USER_AGENT}
|
|
9382
|
-
okay = createGreenText('OK')
|
|
9383
|
-
not_okay = createRedText('ERROR')
|
|
9384
|
-
try_count = 0
|
|
9385
|
-
success_count = 0
|
|
9386
|
-
for host in hosts:
|
|
9363
|
+
|
|
9364
|
+
def check_host(host):
|
|
9365
|
+
nonlocal try_count, okay, not_okay, success_count
|
|
9387
9366
|
try_count += 1
|
|
9388
9367
|
dns_err = None
|
|
9389
9368
|
ip = 'unknown'
|
|
@@ -9393,12 +9372,12 @@ def doCheckConnection():
|
|
|
9393
9372
|
dns_err = f'{not_okay}\n DNS failure: {str(e)}\n'
|
|
9394
9373
|
except Exception as e:
|
|
9395
9374
|
dns_err = f'{not_okay}\n Unknown DNS failure: {str(e)}\n'
|
|
9396
|
-
check_line = f'Checking {host} ({ip}) ({try_count}
|
|
9375
|
+
check_line = f'Checking {host} ({ip}) ({try_count})...'
|
|
9397
9376
|
writeStdout(f'{check_line:<100}')
|
|
9398
9377
|
flushStdout()
|
|
9399
9378
|
if dns_err:
|
|
9400
9379
|
writeStdout(dns_err)
|
|
9401
|
-
|
|
9380
|
+
return
|
|
9402
9381
|
gen_firewall = 'You probably have security software or a firewall on your machine or network that is preventing GAM from making Internet connections. Check your network configuration or try running GAM on a hotspot or home network to see if the problem exists only on your organization\'s network.'
|
|
9403
9382
|
try:
|
|
9404
9383
|
if host.startswith('http'):
|
|
@@ -9427,7 +9406,54 @@ def doCheckConnection():
|
|
|
9427
9406
|
writeStdout(f'{not_okay}\n Timed out trying to connect to host\n')
|
|
9428
9407
|
except Exception as e:
|
|
9429
9408
|
writeStdout(f'{not_okay}\n {str(e)}\n')
|
|
9430
|
-
|
|
9409
|
+
|
|
9410
|
+
try_count = 0
|
|
9411
|
+
httpObj = getHttpObj(timeout=30)
|
|
9412
|
+
httpObj.follow_redirects = False
|
|
9413
|
+
headers = {'user-agent': GAM_USER_AGENT}
|
|
9414
|
+
okay = createGreenText('OK')
|
|
9415
|
+
not_okay = createRedText('ERROR')
|
|
9416
|
+
success_count = 0
|
|
9417
|
+
initial_hosts = ['api.github.com',
|
|
9418
|
+
'raw.githubusercontent.com',
|
|
9419
|
+
'accounts.google.com',
|
|
9420
|
+
'oauth2.googleapis.com',
|
|
9421
|
+
'www.googleapis.com']
|
|
9422
|
+
for host in initial_hosts:
|
|
9423
|
+
check_host(host)
|
|
9424
|
+
api_hosts = ['apps-apis.google.com',
|
|
9425
|
+
'www.google.com']
|
|
9426
|
+
for host in api_hosts:
|
|
9427
|
+
check_host(host)
|
|
9428
|
+
# For v2 discovery APIs, GAM gets discovery file from <api>.googleapis.com so
|
|
9429
|
+
# add those domains.
|
|
9430
|
+
disc_hosts = []
|
|
9431
|
+
for api, config in API._INFO.items():
|
|
9432
|
+
if config.get('v2discovery') and not config.get('localdiscovery'):
|
|
9433
|
+
if mapped_api := config.get('mappedAPI'):
|
|
9434
|
+
api = mapped_api
|
|
9435
|
+
host = f'{api}.googleapis.com'
|
|
9436
|
+
if host not in disc_hosts:
|
|
9437
|
+
disc_hosts.append(host)
|
|
9438
|
+
for host in disc_hosts:
|
|
9439
|
+
check_host(host)
|
|
9440
|
+
checked_hosts = initial_hosts + api_hosts + disc_hosts
|
|
9441
|
+
# now we need to "build" each API and check it's base URL host
|
|
9442
|
+
# if we haven't already. This may not be any hosts at all but
|
|
9443
|
+
# to ensure we are checking all hosts GAM may use we should
|
|
9444
|
+
# keep this.
|
|
9445
|
+
for api in API._INFO:
|
|
9446
|
+
if api in [API.CONTACTS, API.EMAIL_AUDIT]:
|
|
9447
|
+
continue
|
|
9448
|
+
svc = getService(api, httpObj)
|
|
9449
|
+
base_url = svc._rootDesc.get('baseUrl')
|
|
9450
|
+
parsed_base_url = urlparse(base_url)
|
|
9451
|
+
base_host = parsed_base_url.netloc
|
|
9452
|
+
if base_host not in checked_hosts:
|
|
9453
|
+
print(f'checking {base_host} for {api}')
|
|
9454
|
+
check_host(base_host)
|
|
9455
|
+
checked_hosts.append(base_host)
|
|
9456
|
+
if success_count == try_count:
|
|
9431
9457
|
writeStdout(createGreenText('All hosts passed!\n'))
|
|
9432
9458
|
else:
|
|
9433
9459
|
systemErrorExit(3, createYellowText('Some hosts failed to connect! Please follow the recommendations for those hosts to correct any issues and try again.'))
|
|
@@ -34179,7 +34205,8 @@ def getGroupMembers(cd, groupEmail, memberRoles, membersList, membersSet, i, cou
|
|
|
34179
34205
|
elif memberOptions[MEMBEROPTION_NODUPLICATES]:
|
|
34180
34206
|
groupMemberList = []
|
|
34181
34207
|
for member in groupMembers:
|
|
34182
|
-
|
|
34208
|
+
namespace = member['email'].find('@') == -1
|
|
34209
|
+
if member['type'] != Ent.TYPE_GROUP or namespace:
|
|
34183
34210
|
if ((member['type'] in typesSet and
|
|
34184
34211
|
checkMemberMatch(member, memberOptions) and
|
|
34185
34212
|
_checkMemberRoleIsSuspendedIsArchived(member, validRoles, memberOptions[MEMBEROPTION_ISSUSPENDED], memberOptions[MEMBEROPTION_ISARCHIVED]) and
|
|
@@ -34208,7 +34235,8 @@ def getGroupMembers(cd, groupEmail, memberRoles, membersList, membersSet, i, cou
|
|
|
34208
34235
|
memberOptions, memberDisplayOptions, level+1, typesSet)
|
|
34209
34236
|
else:
|
|
34210
34237
|
for member in groupMembers:
|
|
34211
|
-
|
|
34238
|
+
namespace = member['email'].find('@') == -1
|
|
34239
|
+
if member['type'] != Ent.TYPE_GROUP or namespace:
|
|
34212
34240
|
if ((member['type'] in typesSet) and
|
|
34213
34241
|
checkMemberMatch(member, memberOptions) and
|
|
34214
34242
|
_checkMemberRoleIsSuspendedIsArchived(member, validRoles,
|
|
@@ -36307,7 +36335,8 @@ def getCIGroupMembers(ci, groupName, memberRoles, membersList, membersSet, i, co
|
|
|
36307
36335
|
for member in groupMembers:
|
|
36308
36336
|
getCIGroupMemberRoleFixType(member)
|
|
36309
36337
|
memberName = member.get('preferredMemberKey', {}).get('id', '')
|
|
36310
|
-
|
|
36338
|
+
namespace = member.get('preferredMemberKey', {}).get('namespace', '')
|
|
36339
|
+
if member['type'] != Ent.TYPE_GROUP or namespace:
|
|
36311
36340
|
if (member['type'] in typesSet and
|
|
36312
36341
|
checkCIMemberMatch(member, memberOptions) and
|
|
36313
36342
|
_checkMemberRole(member, validRoles) and
|
|
@@ -36335,7 +36364,8 @@ def getCIGroupMembers(ci, groupName, memberRoles, membersList, membersSet, i, co
|
|
|
36335
36364
|
for member in groupMembers:
|
|
36336
36365
|
getCIGroupMemberRoleFixType(member)
|
|
36337
36366
|
memberName = member.get('preferredMemberKey', {}).get('id', '')
|
|
36338
|
-
|
|
36367
|
+
namespace = member.get('preferredMemberKey', {}).get('namespace', '')
|
|
36368
|
+
if member['type'] != Ent.TYPE_GROUP or namespace:
|
|
36339
36369
|
if (member['type'] in typesSet and
|
|
36340
36370
|
checkCIMemberMatch(member, memberOptions) and
|
|
36341
36371
|
_checkMemberRole(member, validRoles) and
|
|
@@ -244,7 +244,7 @@ _INFO = {
|
|
|
244
244
|
EMAIL_AUDIT: {'name': 'Email Audit API', 'version': 'v1', 'v2discovery': False},
|
|
245
245
|
FORMS: {'name': 'Forms API', 'version': 'v1', 'v2discovery': True},
|
|
246
246
|
GMAIL: {'name': 'Gmail API', 'version': 'v1', 'v2discovery': True},
|
|
247
|
-
GROUPSMIGRATION: {'name': 'Groups Migration API', 'version': 'v1', 'v2discovery':
|
|
247
|
+
GROUPSMIGRATION: {'name': 'Groups Migration API', 'version': 'v1', 'v2discovery': True},
|
|
248
248
|
GROUPSSETTINGS: {'name': 'Groups Settings API', 'version': 'v1', 'v2discovery': True},
|
|
249
249
|
IAM: {'name': 'Identity and Access Management API', 'version': 'v1', 'v2discovery': True},
|
|
250
250
|
IAM_CREDENTIALS: {'name': 'Identity and Access Management Credentials API', 'version': 'v1', 'v2discovery': True},
|
|
@@ -144,6 +144,8 @@ _SKUS = {
|
|
|
144
144
|
'product': 'Google-Apps', 'aliases': ['wsflw', 'workspacefrontline', 'workspacefrontlineworker'], 'displayName': 'Google Workspace Frontline Starter'},
|
|
145
145
|
'1010020031': {
|
|
146
146
|
'product': 'Google-Apps', 'aliases': ['wsflwstan', 'workspacefrontlinestan', 'workspacefrontlineworkerstan'], 'displayName': 'Google Workspace Frontline Standard'},
|
|
147
|
+
'1010020034': {
|
|
148
|
+
'product': 'Google-Apps', 'aliases': ['wsflwplus', 'workspacefrontlineplus', 'workspacefrontlineworkerplus'], 'displayName': 'Google Workspace Frontline Plus'},
|
|
147
149
|
'1010340001': {
|
|
148
150
|
'product': '101034', 'aliases': ['gseau', 'enterprisearchived', 'gsuiteenterprisearchived'], 'displayName': 'Google Workspace Enterprise Plus - Archived User'},
|
|
149
151
|
'1010340002': {
|
|
@@ -20,14 +20,19 @@
|
|
|
20
20
|
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
|
-
GAM_VER_LIBS = [
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
GAM_VER_LIBS = [
|
|
24
|
+
'chardet',
|
|
25
|
+
'cryptography',
|
|
26
|
+
'filelock',
|
|
27
|
+
'google-api-python-client',
|
|
28
|
+
'google-auth-httplib2',
|
|
29
|
+
'google-auth-oauthlib',
|
|
30
|
+
'google-auth',
|
|
31
|
+
'lxml',
|
|
32
|
+
'httplib2',
|
|
33
|
+
'passlib',
|
|
34
|
+
'pathvalidate',
|
|
35
|
+
'pyscard',
|
|
36
|
+
'python-dateutil',
|
|
37
|
+
'yubikey-manager',
|
|
38
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{\rtf1\ansi\ansicpg1252\cocoartf2822
|
|
2
|
+
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fswiss\fcharset0 Helvetica-Bold;}
|
|
3
|
+
{\colortbl;\red255\green255\blue255;}
|
|
4
|
+
{\*\expandedcolortbl;;}
|
|
5
|
+
\vieww12000\viewh15840\viewkind0
|
|
6
|
+
\deftab720
|
|
7
|
+
\pard\pardeftab720\sl276\slmult1\sa200\qc\partightenfactor0
|
|
8
|
+
|
|
9
|
+
\f0\fs22 \cf0 Copyright 2025 Jay Lee\
|
|
10
|
+
\pard\pardeftab720\sa200\qc\partightenfactor0
|
|
11
|
+
|
|
12
|
+
\f1\b \cf0 Licensed under the Apache License, Version 2.0 (the "License");\
|
|
13
|
+
\pard\pardeftab720\sl276\slmult1\sa200\qc\partightenfactor0
|
|
14
|
+
|
|
15
|
+
\f0\b0 \cf0 you may not use this file except in compliance with the License.\
|
|
16
|
+
You may obtain a copy of the License at\
|
|
17
|
+
\
|
|
18
|
+
{\field{\*\fldinst{HYPERLINK "http://www.apache.org/licenses/LICENSE-2.0"}}{\fldrslt http://www.apache.org/licenses/LICENSE-2.0}}\
|
|
19
|
+
\
|
|
20
|
+
Unless required by applicable law or agreed to in writing, software\
|
|
21
|
+
distributed under the License is distributed on an "AS IS" BASIS,\
|
|
22
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\
|
|
23
|
+
See the License for the specific language governing permissions and\
|
|
24
|
+
limitations under the License.\
|
|
25
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
chardet>=5.2.0
|
|
2
|
+
cryptography>=44.0.2
|
|
3
|
+
distro; sys_platform=='linux'
|
|
4
|
+
filelock>=3.18.0
|
|
5
|
+
google-api-python-client>=2.167.0
|
|
6
|
+
google-auth-httplib2>=0.2.0
|
|
7
|
+
google-auth-oauthlib>=1.2.2
|
|
8
|
+
google-auth>=2.39.0
|
|
9
|
+
httplib2>=0.22.0
|
|
10
|
+
lxml>=5.4.0
|
|
11
|
+
passlib>=1.7.4
|
|
12
|
+
pathvalidate>=3.2.3
|
|
13
|
+
pyscard==2.2.1
|
|
14
|
+
python-dateutil
|
|
15
|
+
yubikey-manager>=5.6.1
|
|
@@ -17,27 +17,29 @@ classifiers =
|
|
|
17
17
|
Programming Language :: Python :: 3.10
|
|
18
18
|
Programming Language :: Python :: 3.11
|
|
19
19
|
Programming Language :: Python :: 3.12
|
|
20
|
+
Programming Language :: Python :: 3.13
|
|
20
21
|
License :: OSI Approved :: Apache License
|
|
21
22
|
|
|
22
23
|
[options]
|
|
23
24
|
packages = find:
|
|
24
|
-
python_requires = >= 3.
|
|
25
|
+
python_requires = >= 3.9
|
|
26
|
+
# The following files should be edited to match: pyproject.toml, requirements.txt
|
|
25
27
|
install_requires =
|
|
26
|
-
chardet
|
|
27
|
-
cryptography
|
|
28
|
+
chardet >= 5.2.0
|
|
29
|
+
cryptography >= 44.0.2
|
|
28
30
|
distro; sys_platform == 'linux'
|
|
29
|
-
filelock
|
|
30
|
-
google-api-python-client >= 2.
|
|
31
|
-
google-auth-httplib2
|
|
32
|
-
google-auth-oauthlib >=
|
|
33
|
-
google-auth >= 2.
|
|
34
|
-
httplib2 >= 0.
|
|
35
|
-
lxml
|
|
31
|
+
filelock >= 3.18.0
|
|
32
|
+
google-api-python-client >= 2.167.0
|
|
33
|
+
google-auth-httplib2 >= 0.2.0
|
|
34
|
+
google-auth-oauthlib >= 1.2.2
|
|
35
|
+
google-auth >= 2.39.0
|
|
36
|
+
httplib2 >= 0.22.0
|
|
37
|
+
lxml >= 5.4.0
|
|
36
38
|
passlib >= 1.7.4
|
|
37
|
-
pathvalidate
|
|
38
|
-
pyscard==2.2.1
|
|
39
|
+
pathvalidate >= 3.2.3
|
|
40
|
+
pyscard == 2.2.1
|
|
39
41
|
python-dateutil
|
|
40
|
-
yubikey-manager >= 5.
|
|
42
|
+
yubikey-manager >= 5.6.1
|
|
41
43
|
|
|
42
44
|
[options.package_data]
|
|
43
45
|
* = *.pem
|
|
@@ -10,6 +10,26 @@ 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.11
|
|
14
|
+
|
|
15
|
+
Improved `gam checkconn`.
|
|
16
|
+
|
|
17
|
+
Updated `gam print group-members` and `gam print cigroup-members` to recognize members
|
|
18
|
+
that are groups representing chat spaces. For now, these groups are not expanded when
|
|
19
|
+
`recursive` is specified.
|
|
20
|
+
|
|
21
|
+
### 7.06.10
|
|
22
|
+
|
|
23
|
+
Added the following license SKU.
|
|
24
|
+
```
|
|
25
|
+
1010020034 - Google Workspace Frontline Plus
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 7.06.09
|
|
29
|
+
|
|
30
|
+
Added `gemini` and `geminiforworkspace` to `<ActivityApplicationName>` for use in
|
|
31
|
+
`gam report <ActivityApplicationName>`.
|
|
32
|
+
|
|
13
33
|
### 7.06.08
|
|
14
34
|
|
|
15
35
|
Fixed problem where Yubikeys caused a trap.
|
|
@@ -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.11 - 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.11 - 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
|
|
@@ -110,6 +110,7 @@
|
|
|
110
110
|
| Google Workspace for Education: Teaching and Learning Upgrade | 1010370001 | gwetlu |
|
|
111
111
|
| Google Workspace Frontline Starter | 1010020030 | wsflw |
|
|
112
112
|
| Google Workspace Frontline Standard | 1010020031 | wsflwstan |
|
|
113
|
+
| Google Workspace Frontline Plus | 1010020034 | wsflwplus |
|
|
113
114
|
| Google Workspace Government | Google-Apps-For-Government | gsuitegov |
|
|
114
115
|
| Google Workspace Labs | 1010470002 | gwlabs | workspacelabs |
|
|
115
116
|
|
|
@@ -42,12 +42,12 @@ Google requires that you have a Chat Bot configured in order to use the Chat API
|
|
|
42
42
|
|
|
43
43
|
## Set up a Chat Bot
|
|
44
44
|
|
|
45
|
-
* Run the command `gam setup chat`; it will point you to a URL to configure your Chat Bot
|
|
45
|
+
* Run the command `gam setup chat`; it will point you to a URL to configure your Chat Bot.
|
|
46
46
|
* Enter an App name and Description of your choosing.
|
|
47
47
|
* For the Avatar URL you can use `https://dummyimage.com/384x256/4d4d4d/0011ff.png&text=+GAM` or a public URL to an image of your own choosing.
|
|
48
48
|
* In Functionality, uncheck both "Receive 1:1 messages" and "Join spaces and group conversations"
|
|
49
|
-
* In Connection settings, choose "Cloud Pub/Sub" and enter
|
|
50
|
-
* In Visibility, uncheck "Make this Chat app available to specific people and groups in
|
|
49
|
+
* In Connection settings, choose "Cloud Pub/Sub" and enter `projects/<ProjectID>/topics/no-topic` for the topic name. Replace `<ProjectID>` with your GAM project ID. GAM doesn't yet listen to pub/sub so this option is not used.
|
|
50
|
+
* In Visibility, uncheck "Make this Chat app available to specific people and groups in Domain Workspace".
|
|
51
51
|
* Click Save.
|
|
52
52
|
|
|
53
53
|
## API documentation
|
|
@@ -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.11 - 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.11 - 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.11 - 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.11
|
|
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.11
|
|
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.11 - 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
|
gam7-7.6.9/src/license.rtf
DELETED
|
Binary file
|
gam7-7.6.9/src/requirements.txt
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
chardet
|
|
2
|
-
cryptography
|
|
3
|
-
distro; sys_platform=='linux'
|
|
4
|
-
filelock
|
|
5
|
-
google-api-python-client>=2.166.0
|
|
6
|
-
google-auth-httplib2>=0.2.0
|
|
7
|
-
google-auth-oauthlib>=1.2.1
|
|
8
|
-
google-auth>=2.38.0
|
|
9
|
-
httplib2>=0.22.0
|
|
10
|
-
lxml
|
|
11
|
-
passlib>=1.7.4
|
|
12
|
-
pathvalidate
|
|
13
|
-
pyscard==2.2.1
|
|
14
|
-
python-dateutil
|
|
15
|
-
yubikey-manager[yubikey]>=5.6.1
|
|
File without changes
|
|
File without changes
|