gam7 7.27.4__tar.gz → 7.27.5__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.27.4 → gam7-7.27.5}/.github/workflows/build.yml +21 -14
- {gam7-7.27.4 → gam7-7.27.5}/PKG-INFO +1 -1
- {gam7-7.27.4 → gam7-7.27.5}/src/GamCommands.txt +1 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/GamUpdate.txt +8 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/__init__.py +19 -14
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glapi.py +0 -6
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Classroom-Courses.md +4 -1
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Cloud-Identity-Groups.md +1 -10
- {gam7-7.27.4 → gam7-7.27.5}/wiki/GamUpdates.md +8 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Reports.md +4 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Version-and-Help.md +6 -6
- {gam7-7.27.4 → gam7-7.27.5}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/actions/decrypt.sh +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/actions/entitlements.plist +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/stale.yml +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/workflows/pushwiki.yml +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/.github/workflows/pypi.yml +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/LICENSE +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/README.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/pyproject.toml +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/.gitignore +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/LICENSE +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/README.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/callgam.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/__main__.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/__init__.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/auth.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/client.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/core.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/data.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/http.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/http_core.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/service.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/token_store.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/atom/url.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/cacerts.pem +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glclargs.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glgapi.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glmsgs.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glskus.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/glverlibs.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/service.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam-install.sh +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam-setup.bat +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam.exe.manifest +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam.spec +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/gam.wxs +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/license.rtf +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/tools/hooks/hook-googleapiclient.model.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/tools/hooks/hook-httplib2.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/tools/mkGamRef.py +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/tools/openssl.props +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/tools/ssd.mjs +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/src/version_info.txt.in +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/00scratch.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Addresses.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Administrators.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Alert-Center.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Aliases.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Authorization.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/BNF-Syntax.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Basic-Items.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Bulk-Processing.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Business-Account-Management.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/CSV-Input-Filtering.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/CSV-Output-Filtering.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/CSV-Special-Characters.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Calendars-Access.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Calendars-Events.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Calendars.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chat-Bot-Setup-Use.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chrome-AUE-Counts.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chrome-Installed-Apps.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chrome-Policies.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chrome-Printers.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chrome-Profile-Management.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chrome-Version-Counts.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Chrome-Version-History.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/ChromeOS-Devices.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Classroom-Guardians.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Classroom-Invitations.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Classroom-Membership.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Classroom-StudentGroups.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Cloud-Channel.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Cloud-Identity-Devices.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Cloud-Identity-Policies.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Cloud-Storage.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Collections-of-Items.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Collections-of-Users.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Command-Line-Parsing.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Command-Logging-Progress.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Context-Aware-Access-Levels.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Customer.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Domain-People-Contacts-Profiles.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Domain-SharedContacts.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Domains-Verification.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Domains.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Downloads-Installs.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Drive-File-Selection.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Drive-Items.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Drive-REST-API-v3.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Email-Audit-Monitor.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Find-File-Owner.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/GAM-Public-Chat-Room.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/GAM-Release-Process.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/GAM-Return-Codes.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/GAM7-FAQ.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/GAM7-on-Android-Devices.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Global-Address-List.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Google-Data-Transfers.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Google-Network-Addresses.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Groups-Membership.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Groups.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/HTTPS-Proxy.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Home.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/How-to-Install-GAM7.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/How-to-Uninstall-GAM7.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/How-to-Update-GAM7.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Inbound-SSO.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Install-GAM-as-Python-Library.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Licenses.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/List-Items.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/List.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Mobile-Devices.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Organizational-Units.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Other-Resources.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Permission-Matches.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Python-Regular-Expressions.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/README.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Rclone.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Reseller.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Resources.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/SSL-Root-CA-Certificates.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Schemas.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Scripts.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Send-Email.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Shared-Drives.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Sites.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Tag-Replace.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Todrive.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Unmanaged-Accounts.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Upgrade-Benefits.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Analytics-Admin.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Application-Specific-Passwords.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Backup-Verification-Codes.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Calendars-Access.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Calendars-Events.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Calendars.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Chat.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Classification-Labels.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Classroom-Profile.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Contacts-Delegates.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Contacts.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Deprovision.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Activity-Settings.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Cleanup.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Comments.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Copy-Move.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Files-Display.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Files-Manage.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Orphans.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Ownership.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Permissions.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Query.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Revisions.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Shortcuts.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Drive-Transfer.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Forms.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-CSE.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-Delegates.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-Filters.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-Forwarding.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-Labels.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-Messages-Threads.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-Profile.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-S-MIME.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Gmail-Settings.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Group-Membership.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Keep-Notes.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Looker-Studio.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Meet.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-People-Contacts-Profiles.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Photo.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Profile-Photo.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Profile-Sharing.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Shared-Drives.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Signout-Turnoff2SV.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Spreadsheets.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Tag-Manager.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Tasks.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Tokens.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-Web-Resources-and-Sites.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users-YouTube.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Users.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Using-GAM7-with-keyless-authentication-Workload-Identity-Federation.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Vault-Takeout.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/_Sidebar.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/gam.cfg.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-AdminSettingsExamples.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Android-Installation.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-BulkOperations.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-CalendarExamples.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Chat-Bot.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Chrome-Browser-Management.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Chrome-OS-Installation.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Chrome-Policy-Settings.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Cloud-Identity-Groups.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Command-Reference-Calendar-Resources.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Command-Reference-Calendars.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Command-Reference-Definitions.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Command-Reference-Drive.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Command-Reference-Email.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Command-Reference-Group-Attributes.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Command-Reference-Groups.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Command-Reference-Users.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Context-Aware-Access-Levels.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-CreatingClientSecretsFile.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Custom-Schemas.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Data-Transfers.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-DomainVerification.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-ExamplesAccountAuditing.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-ExamplesCSV.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-ExamplesEmailSettings.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-ExamplesOrganizations.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-GAM-Discussion-Group.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-GAM-on-Android-and-Chrome-OS.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-GAM-options-files.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-GAM-with--minimal-GCP-rights.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-GAM3CSVListings.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-GAM3DirectoryCommands.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-GAM3GroupSettings.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Google-Vault---Takeout-Commands.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-GoogleDriveManagement.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Grouping-18-or-Older-Users.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Home.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-How-to-upgrade-from-Standard-GAM.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Inbound-SSO-Settings.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-LicenseExamples.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Managing-Admins.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Managing-CloudPrint-Printers.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Managing-Devices.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Managing-Google-Classroom.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-OAuthKeyManagement.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Printers.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-ResellerCommands.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-SecurityExamples.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-UnmanagedUsersExamples.md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
- {gam7-7.27.4 → gam7-7.27.5}/wiki/legacy/l-_Footer.md +0 -0
|
@@ -479,24 +479,16 @@ jobs:
|
|
|
479
479
|
"${PYTHON}" -V
|
|
480
480
|
"${PYTHON}" -c "import ssl; print(f'Using {ssl.OPENSSL_VERSION}')"
|
|
481
481
|
|
|
482
|
-
- name: Upgrade pip, wheel, etc
|
|
483
|
-
run: |
|
|
484
|
-
curl $curl_retry -O https://bootstrap.pypa.io/get-pip.py
|
|
485
|
-
"$PYTHON" get-pip.py
|
|
486
|
-
"$PYTHON" -m pip install --upgrade pip
|
|
487
|
-
"$PYTHON" -m pip install --upgrade wheel
|
|
488
|
-
"$PYTHON" -m pip install --upgrade setuptools
|
|
489
|
-
"$PYTHON" -m pip install --upgrade importlib-metadata
|
|
490
|
-
"$PYTHON" -m pip install --upgrade setuptools-scm
|
|
491
|
-
"$PYTHON" -m pip list
|
|
492
|
-
|
|
493
482
|
- name: Create and use Python venv
|
|
494
483
|
run: |
|
|
495
484
|
cd "$GITHUB_WORKSPACE"
|
|
485
|
+
curl -o get-pip.py https://bootstrap.pypa.io/get-pip.py
|
|
486
|
+
"$PYTHON" get-pip.py
|
|
496
487
|
"$PYTHON" -m venv venv
|
|
497
488
|
if [[ "$RUNNER_OS" == "Windows" ]]; then
|
|
498
|
-
#
|
|
499
|
-
|
|
489
|
+
# pyscard seems to build outside venv but not in it.
|
|
490
|
+
# build it so it's cached.
|
|
491
|
+
"$PYTHON" -m pip install --upgrade pyscard
|
|
500
492
|
export PYTHON="${GITHUB_WORKSPACE}/venv/scripts/python.exe"
|
|
501
493
|
else
|
|
502
494
|
export PYTHON="${GITHUB_WORKSPACE}/venv/bin/python3"
|
|
@@ -507,6 +499,18 @@ jobs:
|
|
|
507
499
|
echo "gam=${gam}" >> $GITHUB_ENV
|
|
508
500
|
fi
|
|
509
501
|
|
|
502
|
+
- name: Upgrade pip, wheel, etc
|
|
503
|
+
run: |
|
|
504
|
+
curl $curl_retry -O https://bootstrap.pypa.io/get-pip.py
|
|
505
|
+
"$PYTHON" get-pip.py
|
|
506
|
+
"$PYTHON" -m pip install --upgrade pip
|
|
507
|
+
"$PYTHON" -m pip install --upgrade wheel
|
|
508
|
+
"$PYTHON" -m pip install --upgrade setuptools
|
|
509
|
+
"$PYTHON" -m pip install --upgrade importlib-metadata
|
|
510
|
+
"$PYTHON" -m pip install --upgrade setuptools-scm
|
|
511
|
+
"$PYTHON" -m pip install --upgrade packaging
|
|
512
|
+
"$PYTHON" -m pip list
|
|
513
|
+
|
|
510
514
|
- name: Install pip requirements
|
|
511
515
|
run: |
|
|
512
516
|
echo "before anything..."
|
|
@@ -515,7 +519,10 @@ jobs:
|
|
|
515
519
|
"$PYTHON" -m pip cache info
|
|
516
520
|
echo "--list--"
|
|
517
521
|
"$PYTHON" -m pip cache list
|
|
518
|
-
"
|
|
522
|
+
echo "--pip debug verbose--"
|
|
523
|
+
"$PYTHON" -m pip debug --verbose
|
|
524
|
+
echo "--------"
|
|
525
|
+
"$PYTHON" -m pip install -vvv --upgrade ..[yubikey]
|
|
519
526
|
echo "after everything..."
|
|
520
527
|
"$PYTHON" -m pip list
|
|
521
528
|
|
|
@@ -3279,6 +3279,7 @@ gam print courses [todrive <ToDriveAttribute>*]
|
|
|
3279
3279
|
[show all|students|teachers] [countsonly]
|
|
3280
3280
|
[timefilter creationtime|updatetime] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>]
|
|
3281
3281
|
[fields <CourseFieldNameList>] [skipfields <CourseFieldNameList>]
|
|
3282
|
+
(addcsvdata <FieldName> <String>)*
|
|
3282
3283
|
[formatjson [quotechar <Character>]]
|
|
3283
3284
|
[showitemcountonly]
|
|
3284
3285
|
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
7.27.05
|
|
2
|
+
|
|
3
|
+
Added option `addcsvdata <FieldName> <String>` to `gam print courses`
|
|
4
|
+
that adds additional columns of data to the CSV file output.
|
|
5
|
+
|
|
6
|
+
The following scope is no longer necessary: `Cloud Identity API - Groups Beta (Enables group locking/unlocking)`
|
|
7
|
+
as this scope `Cloud Identity API - Groups` now provides group locking/unlocking.
|
|
8
|
+
|
|
1
9
|
7.27.04
|
|
2
10
|
|
|
3
11
|
Added options to `gam <UserTypeEntity> create delegate` that support
|
|
@@ -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.27.
|
|
28
|
+
__version__ = '7.27.05'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -35921,7 +35921,7 @@ def doPrintShowGroupTree():
|
|
|
35921
35921
|
# gam create cigroup <EmailAddress>
|
|
35922
35922
|
# [copyfrom <GroupItem>] <GroupAttribute>
|
|
35923
35923
|
# [makeowner] [alias|aliases <CIGroupAliasList>]
|
|
35924
|
-
# [security|makesecuritygroup]
|
|
35924
|
+
# [security|makesecuritygroup] [locked]
|
|
35925
35925
|
# [dynamic <QueryDynamicGroup>]
|
|
35926
35926
|
def doCreateCIGroup():
|
|
35927
35927
|
doCreateGroup(ciGroupsAPI=True)
|
|
@@ -36105,7 +36105,6 @@ def doUpdateCIGroups():
|
|
|
36105
36105
|
|
|
36106
36106
|
cd = buildGAPIObject(API.DIRECTORY)
|
|
36107
36107
|
ci = buildGAPIObject(API.CLOUDIDENTITY_GROUPS)
|
|
36108
|
-
cib = None
|
|
36109
36108
|
entityType = Ent.CLOUD_IDENTITY_GROUP
|
|
36110
36109
|
csvPF = None
|
|
36111
36110
|
getBeforeUpdate = preview = False
|
|
@@ -36214,7 +36213,6 @@ def doUpdateCIGroups():
|
|
|
36214
36213
|
_, name, _ = convertGroupEmailToCloudID(ci, group, i, count)
|
|
36215
36214
|
if not name:
|
|
36216
36215
|
continue
|
|
36217
|
-
cipl = ci
|
|
36218
36216
|
twoUpdates = False
|
|
36219
36217
|
if 'labels' in ci_body or lockGroup is not None:
|
|
36220
36218
|
try:
|
|
@@ -36243,20 +36241,16 @@ def doUpdateCIGroups():
|
|
|
36243
36241
|
else:
|
|
36244
36242
|
if CIGROUP_LOCKED_LABEL in ci_body['labels']:
|
|
36245
36243
|
ci_body['labels'].pop(CIGROUP_LOCKED_LABEL)
|
|
36246
|
-
if CIGROUP_LOCKED_LABEL in ci_body['labels']:
|
|
36247
|
-
if cib is None:
|
|
36248
|
-
cib = buildGAPIObject(API.CLOUDIDENTITY_GROUPS_BETA)
|
|
36249
|
-
cipl = cib
|
|
36250
36244
|
if ci_body:
|
|
36251
36245
|
try:
|
|
36252
36246
|
if twoUpdates:
|
|
36253
36247
|
ci_body['labels'].pop(CIGROUP_LOCKED_LABEL)
|
|
36254
|
-
callGAPI(
|
|
36248
|
+
callGAPI(ci.groups(), 'patch',
|
|
36255
36249
|
throwReasons=GAPI.CIGROUP_UPDATE_THROW_REASONS,
|
|
36256
36250
|
retryReasons=GAPI.CIGROUP_RETRY_REASONS,
|
|
36257
36251
|
name=name, body=ci_body, updateMask=','.join(list(ci_body.keys())))
|
|
36258
36252
|
ci_body['labels'][CIGROUP_LOCKED_LABEL] = ''
|
|
36259
|
-
callGAPI(
|
|
36253
|
+
callGAPI(ci.groups(), 'patch',
|
|
36260
36254
|
throwReasons=GAPI.CIGROUP_UPDATE_THROW_REASONS,
|
|
36261
36255
|
retryReasons=GAPI.CIGROUP_RETRY_REASONS,
|
|
36262
36256
|
name=name, body=ci_body, updateMask=','.join(list(ci_body.keys())))
|
|
@@ -37240,20 +37234,17 @@ def doPrintCIGroups():
|
|
|
37240
37234
|
else:
|
|
37241
37235
|
getFullFieldsList = list(CIGROUP_FULL_FIELDS)
|
|
37242
37236
|
getFullFields = ','.join(getFullFieldsList)#
|
|
37243
|
-
cipl = ci
|
|
37244
37237
|
if query:
|
|
37245
37238
|
method = 'search'
|
|
37246
37239
|
if 'parent' not in query:
|
|
37247
37240
|
query += f" && parent == '{parent}'"
|
|
37248
37241
|
kwargs = {'query': query}
|
|
37249
|
-
if CIGROUP_LOCKED_LABEL in query:
|
|
37250
|
-
cipl = buildGAPIObject(API.CLOUDIDENTITY_GROUPS_BETA)
|
|
37251
37242
|
else:
|
|
37252
37243
|
method = 'list'
|
|
37253
37244
|
kwargs = {'parent': parent}
|
|
37254
37245
|
printGettingAllAccountEntities(Ent.CLOUD_IDENTITY_GROUP, query)
|
|
37255
37246
|
try:
|
|
37256
|
-
entityList = callGAPIpages(
|
|
37247
|
+
entityList = callGAPIpages(ci.groups(), method, 'groups',
|
|
37257
37248
|
pageMessage=getPageMessage(showFirstLastItems=True), messageAttribute=['groupKey', 'id'],
|
|
37258
37249
|
throwReasons=GAPI.CIGROUP_LIST_THROW_REASONS, retryReasons=GAPI.CIGROUP_RETRY_REASONS,
|
|
37259
37250
|
view='FULL', fields=fieldsnp, pageSize=pageSize, **kwargs)
|
|
@@ -49166,6 +49157,7 @@ def _getCoursesInfo(croom, courseSelectionParameters, courseShowProperties, getO
|
|
|
49166
49157
|
# [show none|all|students|teachers] [countsonly]
|
|
49167
49158
|
# [fields <CourseFieldNameList>] [skipfields <CourseFieldNameList>]
|
|
49168
49159
|
# [timefilter creationtime|updatetime] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>]
|
|
49160
|
+
# (addcsvdata <FieldName> <String>)*
|
|
49169
49161
|
# [showitemcountonly] [formatjson [quotechar <Character>]]
|
|
49170
49162
|
def doPrintCourses():
|
|
49171
49163
|
def _saveParticipants(course, participants, role, rtitles):
|
|
@@ -49209,6 +49201,7 @@ def doPrintCourses():
|
|
|
49209
49201
|
delimiter = GC.Values[GC.CSV_OUTPUT_FIELD_DELIMITER]
|
|
49210
49202
|
showItemCountOnly = False
|
|
49211
49203
|
useOwnerAccess = GC.Values[GC.USE_COURSE_OWNER_ACCESS]
|
|
49204
|
+
addCSVData = {}
|
|
49212
49205
|
while Cmd.ArgumentsRemaining():
|
|
49213
49206
|
myarg = getArgument()
|
|
49214
49207
|
if myarg == 'todrive':
|
|
@@ -49223,6 +49216,9 @@ def doPrintCourses():
|
|
|
49223
49216
|
pass
|
|
49224
49217
|
elif myarg == 'showitemcountonly':
|
|
49225
49218
|
showItemCountOnly = True
|
|
49219
|
+
elif myarg == 'addcsvdata':
|
|
49220
|
+
k = getString(Cmd.OB_STRING)
|
|
49221
|
+
addCSVData[k] = getString(Cmd.OB_STRING, minLen=0)
|
|
49226
49222
|
else:
|
|
49227
49223
|
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
|
49228
49224
|
applyCourseItemFilter = _setApplyCourseItemFilter(courseItemFilter, None)
|
|
@@ -49234,6 +49230,11 @@ def doPrintCourses():
|
|
|
49234
49230
|
if showItemCountOnly:
|
|
49235
49231
|
writeStdout('0\n')
|
|
49236
49232
|
return
|
|
49233
|
+
if addCSVData:
|
|
49234
|
+
csvPF.AddTitles(sorted(addCSVData.keys()))
|
|
49235
|
+
if FJQC.formatJSON:
|
|
49236
|
+
csvPF.AddJSONTitles(sorted(addCSVData.keys()))
|
|
49237
|
+
csvPF.MoveJSONTitlesToEnd(['JSON'])
|
|
49237
49238
|
if courseShowProperties['aliases']:
|
|
49238
49239
|
if FJQC.formatJSON:
|
|
49239
49240
|
csvPF.AddJSONTitles('JSON-aliases')
|
|
@@ -49291,11 +49292,15 @@ def doPrintCourses():
|
|
|
49291
49292
|
if courseShowProperties['members'] != 'teachers':
|
|
49292
49293
|
_saveParticipants(course, students, 'students', stitles)
|
|
49293
49294
|
row = flattenJSON(course, timeObjects=COURSE_TIME_OBJECTS, noLenObjects=COURSE_NOLEN_OBJECTS)
|
|
49295
|
+
if addCSVData:
|
|
49296
|
+
row.update(addCSVData)
|
|
49294
49297
|
if not FJQC.formatJSON:
|
|
49295
49298
|
csvPF.WriteRowTitles(row)
|
|
49296
49299
|
elif csvPF.CheckRowTitles(row):
|
|
49297
49300
|
row = {'id': courseId, 'JSON': json.dumps(cleanJSON(course, timeObjects=COURSE_TIME_OBJECTS),
|
|
49298
49301
|
ensure_ascii=False, sort_keys=True)}
|
|
49302
|
+
if addCSVData:
|
|
49303
|
+
row.update(addCSVData)
|
|
49299
49304
|
if courseShowProperties['aliases']:
|
|
49300
49305
|
row['JSON-aliases'] = json.dumps(list(aliases))
|
|
49301
49306
|
if courseShowProperties['members'] != 'none':
|
|
@@ -46,7 +46,6 @@ CLASSROOM = 'classroom'
|
|
|
46
46
|
CLOUDCHANNEL = 'cloudchannel'
|
|
47
47
|
CLOUDIDENTITY_DEVICES = 'cloudidentitydevices'
|
|
48
48
|
CLOUDIDENTITY_GROUPS = 'cloudidentitygroups'
|
|
49
|
-
CLOUDIDENTITY_GROUPS_BETA = 'cloudidentitygroupsbeta'
|
|
50
49
|
CLOUDIDENTITY_INBOUND_SSO = 'cloudidentityinboundsso'
|
|
51
50
|
CLOUDIDENTITY_ORGUNITS = 'cloudidentityorgunits'
|
|
52
51
|
CLOUDIDENTITY_ORGUNITS_BETA = 'cloudidentityorgunitsbeta'
|
|
@@ -242,7 +241,6 @@ _INFO = {
|
|
|
242
241
|
CLOUDCHANNEL: {'name': 'Cloud Channel API', 'version': 'v1', 'v2discovery': True},
|
|
243
242
|
CLOUDIDENTITY_DEVICES: {'name': 'Cloud Identity API - Devices', 'version': 'v1', 'v2discovery': True, 'mappedAPI': 'cloudidentity'},
|
|
244
243
|
CLOUDIDENTITY_GROUPS: {'name': 'Cloud Identity API - Groups', 'version': 'v1', 'v2discovery': True, 'mappedAPI': 'cloudidentity'},
|
|
245
|
-
CLOUDIDENTITY_GROUPS_BETA: {'name': 'Cloud Identity API - Groups Beta', 'version': 'v1beta1', 'v2discovery': True, 'mappedAPI': 'cloudidentity'},
|
|
246
244
|
CLOUDIDENTITY_INBOUND_SSO: {'name': 'Cloud Identity API - Inbound SSO Settings', 'version': 'v1', 'v2discovery': True, 'mappedAPI': 'cloudidentity'},
|
|
247
245
|
CLOUDIDENTITY_ORGUNITS: {'name': 'Cloud Identity API - OrgUnits', 'version': 'v1', 'v2discovery': True, 'mappedAPI': 'cloudidentity'},
|
|
248
246
|
CLOUDIDENTITY_ORGUNITS_BETA: {'name': 'Cloud Identity API - OrgUnits Beta', 'version': 'v1beta1', 'v2discovery': True, 'mappedAPI': 'cloudidentity'},
|
|
@@ -387,10 +385,6 @@ _CLIENT_SCOPES = [
|
|
|
387
385
|
'api': CLOUDIDENTITY_GROUPS,
|
|
388
386
|
'subscopes': READONLY,
|
|
389
387
|
'scope': 'https://www.googleapis.com/auth/cloud-identity.groups'},
|
|
390
|
-
{'name': 'Cloud Identity API - Groups Beta (Enables group locking/unlocking)',
|
|
391
|
-
'api': CLOUDIDENTITY_GROUPS_BETA,
|
|
392
|
-
'subscopes': [],
|
|
393
|
-
'scope': 'https://www.googleapis.com/auth/cloud-identity.groups'},
|
|
394
388
|
{'name': 'Cloud Identity API - Inbound SSO Settings',
|
|
395
389
|
'api': CLOUDIDENTITY_INBOUND_SSO,
|
|
396
390
|
'subscopes': READONLY,
|
|
@@ -441,8 +441,10 @@ gam print courses [todrive <ToDriveAttribute>*]
|
|
|
441
441
|
[owneremail] [owneremailmatchpattern <REMatchPattern>]
|
|
442
442
|
[alias|aliases|aliasesincolumns [delimiter <Character>]]
|
|
443
443
|
[show all|students|teachers] [countsonly]
|
|
444
|
-
[fields <CourseFieldNameList>] [skipfields <CourseFieldNameList>] [formatjson [quotechar <Character>]]
|
|
445
444
|
[timefilter creationtime|updatetime] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>]
|
|
445
|
+
[fields <CourseFieldNameList>] [skipfields <CourseFieldNameList>] [formatjson [quotechar <Character>]]
|
|
446
|
+
(addcsvdata <FieldName> <String>)*
|
|
447
|
+
[formatjson [quotechar <Character>]]
|
|
446
448
|
```
|
|
447
449
|
By default, the `print courses` command displays information about all courses.
|
|
448
450
|
|
|
@@ -477,6 +479,7 @@ By default, all basic course fields are displayed; use the following options to
|
|
|
477
479
|
* `countsonly` - Eliminates the student/teacher profile information and outputs only the student/teacher counts.
|
|
478
480
|
* `fields <CourseFieldNameList>` - Select specific basic fields to display.
|
|
479
481
|
* `skipfields <CourseFieldNameList>` - Select specific basic fields to eliminate from display; typically used with `coursematerialsets`.
|
|
482
|
+
* `addcsvdata <FieldName> <String>` - Add additional columns of data from the command line to the output
|
|
480
483
|
|
|
481
484
|
By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format,
|
|
482
485
|
* `formatjson` - Display the fields in JSON format.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
## API documentation
|
|
13
13
|
* [Cloud Identity Groups Overview](https://cloud.google.com/identity/docs/groups)
|
|
14
|
-
* [Create and Manage Groups
|
|
14
|
+
* [Create and Manage Groups using API](https://support.google.com/a/answer/10427204)
|
|
15
15
|
* [Cloud Identity Groups API - Groups](https://cloud.google.com/identity/docs/reference/rest/v1/groups)
|
|
16
16
|
* [Restrict Group Membership](https://support.google.com/a/answer/11192679)
|
|
17
17
|
* [Lock Groups Beta](https://workspaceupdates.googleblog.com/2024/12/locked-groups-open-beta.html)
|
|
@@ -26,15 +26,6 @@
|
|
|
26
26
|
|
|
27
27
|
## Notes
|
|
28
28
|
|
|
29
|
-
In version 7.02.01 options `locked` and `unlocked` wre added to `gam update cigroups` that allow locking groups.
|
|
30
|
-
|
|
31
|
-
* See: https://workspaceupdates.googleblog.com/2024/12/locked-groups-open-beta.html
|
|
32
|
-
|
|
33
|
-
You'll have to do a `gam oauth create` and enable the following scope to use these options:
|
|
34
|
-
```
|
|
35
|
-
[*] 22) Cloud Identity Groups API Beta (Enables group locking/unlocking)
|
|
36
|
-
```
|
|
37
|
-
|
|
38
29
|
In the Admin Directory API a group has the following characteristics:
|
|
39
30
|
* `id` - The unique ID of a group
|
|
40
31
|
* `email` - The group's email address
|
|
@@ -10,6 +10,14 @@ 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.27.05
|
|
14
|
+
|
|
15
|
+
Added option `addcsvdata <FieldName> <String>` to `gam print courses`
|
|
16
|
+
that adds additional columns of data to the CSV file output.
|
|
17
|
+
|
|
18
|
+
The following scope is no longer necessary: `Cloud Identity API - Groups Beta (Enables group locking/unlocking)`
|
|
19
|
+
as this scope `Cloud Identity API - Groups` now provides group locking/unlocking.
|
|
20
|
+
|
|
13
21
|
### 7.27.04
|
|
14
22
|
|
|
15
23
|
Added options to `gam <UserTypeEntity> create delegate` that support
|
|
@@ -252,7 +252,7 @@ writes the credentials into the file oauth2.txt.
|
|
|
252
252
|
admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
|
|
253
253
|
admin@server:/Users/admin$ gam version
|
|
254
254
|
WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
|
|
255
|
-
GAM 7.27.
|
|
255
|
+
GAM 7.27.05 - https://github.com/GAM-team/GAM - pyinstaller
|
|
256
256
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
257
257
|
Python 3.14.0 64-bit final
|
|
258
258
|
macOS Tahoe 26.0.1 x86_64
|
|
@@ -990,7 +990,7 @@ writes the credentials into the file oauth2.txt.
|
|
|
990
990
|
C:\>del C:\GAMConfig\oauth2.txt
|
|
991
991
|
C:\>gam version
|
|
992
992
|
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
|
|
993
|
-
GAM 7.27.
|
|
993
|
+
GAM 7.27.05 - https://github.com/GAM-team/GAM - pythonsource
|
|
994
994
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
995
995
|
Python 3.14.0 64-bit final
|
|
996
996
|
Windows-10-10.0.17134 AMD64
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
- [User reports](#user-reports)
|
|
13
13
|
|
|
14
14
|
## API documentation
|
|
15
|
+
Changes starting 2025-10-29.
|
|
16
|
+
|
|
17
|
+
* [Reports API - Admin log event changes]https://support.google.com/a/answer/16601511
|
|
18
|
+
|
|
15
19
|
These pages show event/parameter names; scroll down in the left column to: Reports.
|
|
16
20
|
|
|
17
21
|
* [Reports API - Activities](https://developers.google.com/admin-sdk/reports/v1/reference/activities)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Print the current version of Gam with details
|
|
4
4
|
```
|
|
5
5
|
gam version
|
|
6
|
-
GAM 7.27.
|
|
6
|
+
GAM 7.27.05 - https://github.com/GAM-team/GAM - pyinstaller
|
|
7
7
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
8
8
|
Python 3.14.0 64-bit final
|
|
9
9
|
macOS Tahoe 26.0.1 x86_64
|
|
@@ -15,7 +15,7 @@ Time: 2023-06-02T21:10:00-07:00
|
|
|
15
15
|
Print the current version of Gam with details and time offset information
|
|
16
16
|
```
|
|
17
17
|
gam version timeoffset
|
|
18
|
-
GAM 7.27.
|
|
18
|
+
GAM 7.27.05 - https://github.com/GAM-team/GAM - pyinstaller
|
|
19
19
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
20
20
|
Python 3.14.0 64-bit final
|
|
21
21
|
macOS Tahoe 26.0.1 x86_64
|
|
@@ -27,7 +27,7 @@ Your system time differs from www.googleapis.com by less than 1 second
|
|
|
27
27
|
Print the current version of Gam with extended details and SSL information
|
|
28
28
|
```
|
|
29
29
|
gam version extended
|
|
30
|
-
GAM 7.27.
|
|
30
|
+
GAM 7.27.05 - https://github.com/GAM-team/GAM - pyinstaller
|
|
31
31
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
32
32
|
Python 3.14.0 64-bit final
|
|
33
33
|
macOS Tahoe 26.0.1 x86_64
|
|
@@ -68,7 +68,7 @@ MacOS High Sierra 10.13.6 x86_64
|
|
|
68
68
|
Path: /Users/Admin/bin/gam7
|
|
69
69
|
Version Check:
|
|
70
70
|
Current: 5.35.08
|
|
71
|
-
Latest: 7.27.
|
|
71
|
+
Latest: 7.27.05
|
|
72
72
|
echo $?
|
|
73
73
|
1
|
|
74
74
|
```
|
|
@@ -76,7 +76,7 @@ echo $?
|
|
|
76
76
|
Print the current version number without details
|
|
77
77
|
```
|
|
78
78
|
gam version simple
|
|
79
|
-
7.27.
|
|
79
|
+
7.27.05
|
|
80
80
|
```
|
|
81
81
|
In Linux/MacOS you can do:
|
|
82
82
|
```
|
|
@@ -86,7 +86,7 @@ echo $VER
|
|
|
86
86
|
Print the current version of Gam and address of this Wiki
|
|
87
87
|
```
|
|
88
88
|
gam help
|
|
89
|
-
GAM 7.27.
|
|
89
|
+
GAM 7.27.05 - https://github.com/GAM-team/GAM
|
|
90
90
|
GAM Team <google-apps-manager@googlegroups.com>
|
|
91
91
|
Python 3.14.0 64-bit final
|
|
92
92
|
macOS Tahoe 26.0.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
|