gam7 7.14.3__tar.gz → 7.14.4__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.14.3 → gam7-7.14.4}/.github/workflows/build.yml +4 -5
- {gam7-7.14.3 → gam7-7.14.4}/PKG-INFO +1 -1
- {gam7-7.14.3 → gam7-7.14.4}/pyproject.toml +0 -1
- {gam7-7.14.3 → gam7-7.14.4}/src/GamUpdate.txt +15 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/__init__.py +16 -10
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glgapi.py +4 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Install-GAM-as-Python-Library.md +5 -11
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Permissions.md +16 -0
- gam7-7.14.3/src/requirements.txt +0 -14
- gam7-7.14.3/src/setup.cfg +0 -55
- gam7-7.14.3/src/setup.py +0 -3
- {gam7-7.14.3 → gam7-7.14.4}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/actions/decrypt.sh +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/actions/entitlements.plist +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/stale.yml +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/workflows/pushwiki.yml +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.github/workflows/pypi.yml +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/.pre-commit-config.yaml +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/LICENSE +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/README.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/.gitignore +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/GamCommands.txt +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/LICENSE +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/README.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/cacerts.pem +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/callgam.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/__main__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/auth.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/client.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/core.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/data.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/http.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/http_core.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/service.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/token_store.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/atom/url.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/cacerts.pem +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glapi.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glclargs.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glmsgs.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glskus.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/glverlibs.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/service.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/_auth.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/_helpers.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/channel.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/discovery.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/errors.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/http.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/mimeparse.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/model.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/schema.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/googleapiclient/version.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/iso8601/__init__.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/iso8601/iso8601.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam/six.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam-install.sh +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam-setup.bat +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam.exe.manifest +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam.spec +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/gam.wxs +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/license.rtf +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/requirements-dev.txt +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/tools/mkGamRef.py +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/tools/openssl.props +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/src/version_info.txt.in +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/00scratch.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Addresses.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Administrators.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Alert-Center.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Aliases.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Authorization.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/BNF-Syntax.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Basic-Items.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Bulk-Processing.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/CSV-Input-Filtering.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/CSV-Output-Filtering.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/CSV-Special-Characters.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Calendars-Access.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Calendars-Events.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Calendars.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chat-Bot.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chrome-AUE-Counts.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chrome-Installed-Apps.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chrome-Policies.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chrome-Printers.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chrome-Profile-Management.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chrome-Version-Counts.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Chrome-Version-History.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/ChromeOS-Devices.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Classroom-Courses.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Classroom-Guardians.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Classroom-Invitations.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Classroom-Membership.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Cloud-Channel.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Cloud-Identity-Devices.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Cloud-Identity-Groups.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Cloud-Identity-Policies.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Cloud-Storage.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Collections-of-Items.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Collections-of-Users.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Command-Line-Parsing.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Command-Logging-Progress.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Context-Aware-Access-Levels.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Customer.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Domain-People-Contacts-Profiles.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Domain-SharedContacts.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Domains-Verification.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Domains.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Downloads-Installs.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Drive-File-Selection.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Drive-Items.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Drive-REST-API-v3.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Email-Audit-Monitor.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Find-File-Owner.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/GAM-Public-Chat-Room.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/GAM-Return-Codes.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/GAM7-on-Android-Devices.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/GamUpdates.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Global-Address-List.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Google-Data-Transfers.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Google-Network-Addresses.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Groups-Membership.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Groups.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/HTTPS-Proxy.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Home.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/How-to-Install-GAM7.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/How-to-Uninstall-GAM7.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/How-to-Update-GAM7.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Inbound-SSO.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Licenses.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/List-Items.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/List.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Mobile-Devices.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Organizational-Units.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Other-Resources.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Permission-Matches.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Python-Regular-Expressions.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/README.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Rclone.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Reports.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Reseller.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Resources.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/SSL-Root-CA-Certificates.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Schemas.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Scripts.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Send-Email.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Shared-Drives.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Sites.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Tag-Replace.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Todrive.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Unmanaged-Accounts.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Upgrade-Benefits.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Analytics-Admin.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Application-Specific-Passwords.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Backup-Verification-Codes.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Calendars-Access.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Calendars-Events.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Calendars.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Chat.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Classification-Labels.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Classroom-Profile.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Contacts-Delegates.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Contacts.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Deprovision.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Activity-Settings.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Cleanup.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Comments.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Copy-Move.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Files-Display.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Files-Manage.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Orphans.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Ownership.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Query.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Revisions.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Shortcuts.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Drive-Transfer.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Forms.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-CSE.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-Delegates.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-Filters.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-Forwarding.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-Labels.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-Messages-Threads.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-Profile.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-S-MIME.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Gmail-Settings.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Group-Membership.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Keep-Notes.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Looker-Studio.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Meet.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-People-Contacts-Profiles.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Photo.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Profile-Photo.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Profile-Sharing.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Shared-Drives.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Signout-Turnoff2SV.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Spreadsheets.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Tag-Manager.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Tasks.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-Tokens.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users-YouTube.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Users.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Vault-Takeout.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/Version-and-Help.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/_Sidebar.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/gam.cfg.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-AdminSettingsExamples.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Android-Installation.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-BulkOperations.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-CalendarExamples.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Chat-Bot.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Chrome-Browser-Management.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Chrome-OS-Installation.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Chrome-Policy-Settings.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Cloud-Identity-Groups.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Command-Reference-Calendars.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Command-Reference-Definitions.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Command-Reference-Drive.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Command-Reference-Email.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Command-Reference-Groups.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Command-Reference-Users.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Context-Aware-Access-Levels.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-CreatingClientSecretsFile.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Custom-Schemas.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Data-Transfers.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-DomainVerification.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-ExamplesAccountAuditing.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-ExamplesCSV.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-ExamplesEmailSettings.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-ExamplesOrganizations.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-GAM-Discussion-Group.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-GAM-options-files.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-GAM3CSVListings.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-GAM3DirectoryCommands.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-GAM3GroupSettings.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-GAM7-FAQ.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-GoogleDriveManagement.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Home.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Inbound-SSO-Settings.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-LicenseExamples.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Managing-Admins.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Managing-Devices.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Managing-Google-Classroom.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-OAuthKeyManagement.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Printers.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-ResellerCommands.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-SecurityExamples.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-UnmanagedUsersExamples.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Use-a-Yubikey.md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
- {gam7-7.14.3 → gam7-7.14.4}/wiki/l-_Footer.md +0 -0
|
@@ -292,10 +292,10 @@ jobs:
|
|
|
292
292
|
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
293
293
|
run: |
|
|
294
294
|
cd "${OPENSSL_SOURCE_PATH}"
|
|
295
|
-
if ([ "$RUNNER_OS" == "Windows" ] && [ "$RUNNER_ARCH" == "ARM64" ]); then
|
|
295
|
+
#if ([ "$RUNNER_OS" == "Windows" ] && [ "$RUNNER_ARCH" == "ARM64" ]); then
|
|
296
296
|
# https://github.com/openssl/openssl/issues/26239
|
|
297
297
|
export CFLAGS=-DNO_INTERLOCKEDOR64
|
|
298
|
-
fi
|
|
298
|
+
#fi
|
|
299
299
|
# --libdir=lib is needed so Python can find OpenSSL libraries
|
|
300
300
|
"${PERL}" ./Configure --libdir=lib --prefix="${OPENSSL_INSTALL_PATH}" $OPENSSL_CONFIG_OPTS
|
|
301
301
|
|
|
@@ -462,7 +462,7 @@ jobs:
|
|
|
462
462
|
curl -O -L "$latest_crypt_whl"
|
|
463
463
|
"$PYTHON" -m pip install cryptography*.whl
|
|
464
464
|
|
|
465
|
-
|
|
465
|
+
#- uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
466
466
|
|
|
467
467
|
# - name: Compile cryptography from source (no legacy)
|
|
468
468
|
# if: runner.os != 'Windows' || runner.arch != 'ARM64'
|
|
@@ -473,8 +473,7 @@ jobs:
|
|
|
473
473
|
run: |
|
|
474
474
|
echo "before anything..."
|
|
475
475
|
"$PYTHON" -m pip list
|
|
476
|
-
"$PYTHON" -m pip install --upgrade
|
|
477
|
-
echo "after requirements..."
|
|
476
|
+
"$PYTHON" -m pip install --upgrade ..[yubikey]
|
|
478
477
|
"$PYTHON" -m pip list
|
|
479
478
|
#"$PYTHON" -m pip install --force-reinstall --no-deps --upgrade cryptography
|
|
480
479
|
echo "after everything..."
|
|
@@ -7,7 +7,6 @@ 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 deps and optional deps should be edited to match: setup.cfg, requirements.txt
|
|
11
10
|
# notice that yubikey-manager remains optional further down since it is less command and adds
|
|
12
11
|
#significant compile dependencies.
|
|
13
12
|
dependencies = [
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
7.14.04
|
|
2
|
+
|
|
3
|
+
Fixed bug in `gam print|show cigroups cimember <UserItem>` that generated the following error:
|
|
4
|
+
```
|
|
5
|
+
ERROR: Cloud Identity Group: groups/-, Print Failed: Error(4013): Insufficient permissions to retrieve memberships.
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Updated `gam <UserTypeEntity> update user suspended off` and `gam <UserTypeEntity> unsuspend users`
|
|
9
|
+
to handle the following error that occurs when trying to unsuspend a user that has been suspended for abuse.
|
|
10
|
+
```
|
|
11
|
+
ERROR: 412: adminCannotUnsuspend - Cannot restore a user suspended for abuse.
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
* See: https://support.google.com/a/answer/1110339
|
|
15
|
+
|
|
1
16
|
7.14.03
|
|
2
17
|
|
|
3
18
|
Fixed bug in `gam print cigroup-members includederivedmembership` that 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.14.
|
|
28
|
+
__version__ = '7.14.04'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -36832,11 +36832,11 @@ def doPrintCIGroups():
|
|
|
36832
36832
|
|
|
36833
36833
|
ci = buildGAPIObject(API.CLOUDIDENTITY_GROUPS)
|
|
36834
36834
|
setTrueCustomerId()
|
|
36835
|
+
parent = f'customers/{GC.Values[GC.CUSTOMER_ID]}'
|
|
36835
36836
|
delimiter = GC.Values[GC.CSV_OUTPUT_FIELD_DELIMITER]
|
|
36836
36837
|
memberRestrictions = sortHeaders = False
|
|
36837
36838
|
memberDisplayOptions = initPGGroupMemberDisplayOptions()
|
|
36838
36839
|
pageSize = 500
|
|
36839
|
-
parent = f'customers/{GC.Values[GC.CUSTOMER_ID]}'
|
|
36840
36840
|
groupFieldsLists = {'ci': ['groupKey']}
|
|
36841
36841
|
csvPF = CSVPrintFile(['email'])
|
|
36842
36842
|
FJQC = FormatJSONQuoteChar(csvPF)
|
|
@@ -36854,7 +36854,7 @@ def doPrintCIGroups():
|
|
|
36854
36854
|
showOwnedBy = convertUIDtoEmailAddress(getEmailAddress(), emailTypes=['user'])
|
|
36855
36855
|
elif myarg in {'cimember', 'enterprisemember', 'ciowner'}:
|
|
36856
36856
|
emailAddress = convertUIDtoEmailAddress(getEmailAddress(), emailTypes=['user', 'group'])
|
|
36857
|
-
memberQuery = f"member_key_id == '{emailAddress}' && '{CIGROUP_DISCUSSION_FORUM_LABEL}' in labels"
|
|
36857
|
+
memberQuery = f"member_key_id == '{emailAddress}' && '{CIGROUP_DISCUSSION_FORUM_LABEL}' in labels && parent == '{parent}'"
|
|
36858
36858
|
entitySelection = None
|
|
36859
36859
|
if myarg == 'ciowner':
|
|
36860
36860
|
showOwnedBy = emailAddress
|
|
@@ -37256,6 +37256,7 @@ def _getCIListGroupMembersArgs(listView):
|
|
|
37256
37256
|
def doPrintCIGroupMembers():
|
|
37257
37257
|
ci = buildGAPIObject(API.CLOUDIDENTITY_GROUPS)
|
|
37258
37258
|
setTrueCustomerId()
|
|
37259
|
+
parent = f'customers/{GC.Values[GC.CUSTOMER_ID]}'
|
|
37259
37260
|
memberOptions = initMemberOptions()
|
|
37260
37261
|
memberDisplayOptions = initIPSGMGroupMemberDisplayOptions()
|
|
37261
37262
|
groupColumn = True
|
|
@@ -37277,7 +37278,7 @@ def doPrintCIGroupMembers():
|
|
|
37277
37278
|
showOwnedBy = convertUIDtoEmailAddress(getEmailAddress(), emailTypes=['user'])
|
|
37278
37279
|
elif myarg in {'cimember', 'enterprisemember', 'ciowner'}:
|
|
37279
37280
|
emailAddress = convertUIDtoEmailAddress(getEmailAddress(), emailTypes=['user', 'group'])
|
|
37280
|
-
query = f"member_key_id == '{emailAddress}' && '{CIGROUP_DISCUSSION_FORUM_LABEL}' in labels"
|
|
37281
|
+
query = f"member_key_id == '{emailAddress}' && '{CIGROUP_DISCUSSION_FORUM_LABEL}' in labels && parent == '{parent}'"
|
|
37281
37282
|
entityList = None
|
|
37282
37283
|
if myarg == 'ciowner':
|
|
37283
37284
|
showOwnedBy = emailAddress
|
|
@@ -37479,6 +37480,7 @@ def doShowCIGroupMembers():
|
|
|
37479
37480
|
|
|
37480
37481
|
ci = buildGAPIObject(API.CLOUDIDENTITY_GROUPS)
|
|
37481
37482
|
setTrueCustomerId()
|
|
37483
|
+
parent = f'customers/{GC.Values[GC.CUSTOMER_ID]}'
|
|
37482
37484
|
subTitle = f'{Msg.ALL} {Ent.Plural(Ent.CLOUD_IDENTITY_GROUP)}'
|
|
37483
37485
|
groupFieldsLists = {'ci': ['groupKey', 'name']}
|
|
37484
37486
|
entityList = query = showOwnedBy = None
|
|
@@ -37496,7 +37498,7 @@ def doShowCIGroupMembers():
|
|
|
37496
37498
|
showOwnedBy = convertUIDtoEmailAddress(getEmailAddress(), emailTypes=['user'])
|
|
37497
37499
|
elif myarg in {'cimember', 'enterprisemember', 'ciowner'}:
|
|
37498
37500
|
emailAddress = convertUIDtoEmailAddress(getEmailAddress(), emailTypes=['user', 'group'])
|
|
37499
|
-
query = f"member_key_id == '{emailAddress}' && '{CIGROUP_DISCUSSION_FORUM_LABEL}' in labels"
|
|
37501
|
+
query = f"member_key_id == '{emailAddress}' && '{CIGROUP_DISCUSSION_FORUM_LABEL}' in labels parent == '{parent}'"
|
|
37500
37502
|
entityList = None
|
|
37501
37503
|
if myarg == 'ciowner':
|
|
37502
37504
|
showOwnedBy = emailAddress
|
|
@@ -44425,7 +44427,7 @@ def updateUsers(entityList):
|
|
|
44425
44427
|
try:
|
|
44426
44428
|
result = callGAPI(cd.users(), 'update',
|
|
44427
44429
|
throwReasons=[GAPI.CONDITION_NOT_MET, GAPI.USER_NOT_FOUND, GAPI.DOMAIN_NOT_FOUND,
|
|
44428
|
-
GAPI.FORBIDDEN, GAPI.BAD_REQUEST,
|
|
44430
|
+
GAPI.FORBIDDEN, GAPI.BAD_REQUEST, GAPI.ADMIN_CANNOT_UNSUSPEND,
|
|
44429
44431
|
GAPI.INVALID, GAPI.INVALID_INPUT, GAPI.INVALID_PARAMETER,
|
|
44430
44432
|
GAPI.INVALID_ORGUNIT, GAPI.INVALID_SCHEMA_VALUE, GAPI.DUPLICATE,
|
|
44431
44433
|
GAPI.INSUFFICIENT_ARCHIVED_USER_LICENSES, GAPI.CONFLICT],
|
|
@@ -44487,7 +44489,8 @@ def updateUsers(entityList):
|
|
|
44487
44489
|
entityActionFailedWarning([Ent.USER, user, Ent.USER, body['primaryEmail']], str(e), i, count)
|
|
44488
44490
|
except GAPI.invalidOrgunit:
|
|
44489
44491
|
entityActionFailedWarning([Ent.USER, user], Msg.INVALID_ORGUNIT, i, count)
|
|
44490
|
-
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
|
44492
|
+
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
|
44493
|
+
GAPI.forbidden, GAPI.badRequest, GAPI.adminCannotUnsuspend,
|
|
44491
44494
|
GAPI.invalid, GAPI.invalidInput, GAPI.invalidParameter, GAPI.insufficientArchivedUserLicenses,
|
|
44492
44495
|
GAPI.conflict, GAPI.badRequest, GAPI.backendError, GAPI.systemError, GAPI.conditionNotMet) as e:
|
|
44493
44496
|
entityActionFailedWarning([Ent.USER, user], str(e), i, count)
|
|
@@ -44655,12 +44658,14 @@ def suspendUnsuspendUsers(entityList):
|
|
|
44655
44658
|
try:
|
|
44656
44659
|
callGAPI(cd.users(), 'update',
|
|
44657
44660
|
throwReasons=[GAPI.USER_NOT_FOUND, GAPI.DOMAIN_NOT_FOUND,
|
|
44658
|
-
GAPI.DOMAIN_CANNOT_USE_APIS, GAPI.FORBIDDEN, GAPI.BAD_REQUEST
|
|
44661
|
+
GAPI.DOMAIN_CANNOT_USE_APIS, GAPI.FORBIDDEN, GAPI.BAD_REQUEST,
|
|
44662
|
+
GAPI.ADMIN_CANNOT_UNSUSPEND],
|
|
44659
44663
|
userKey=user, body=body)
|
|
44660
44664
|
entityActionPerformed([Ent.USER, user], i, count)
|
|
44661
44665
|
except GAPI.userNotFound:
|
|
44662
44666
|
entityUnknownWarning(Ent.USER, user, i, count)
|
|
44663
|
-
except (GAPI.domainNotFound, GAPI.domainCannotUseApis, GAPI.forbidden,
|
|
44667
|
+
except (GAPI.domainNotFound, GAPI.domainCannotUseApis, GAPI.forbidden,
|
|
44668
|
+
GAPI.badRequest, GAPI.adminCannotUnsuspend) as e:
|
|
44664
44669
|
entityActionFailedWarning([Ent.USER, user], str(e), i, count)
|
|
44665
44670
|
|
|
44666
44671
|
# gam suspend users <UserTypeEntity> [noactionifalias]
|
|
@@ -45044,6 +45049,7 @@ def infoUsers(entityList):
|
|
|
45044
45049
|
|
|
45045
45050
|
cd = buildGAPIObject(API.DIRECTORY)
|
|
45046
45051
|
ci = None
|
|
45052
|
+
setTrueCustomerId()
|
|
45047
45053
|
getAliases = getBuildingNames = getCIGroupsTree = getGroups = getLicenses = getSchemas = not GC.Values[GC.QUICK_INFO_USER]
|
|
45048
45054
|
getGroupsTree = False
|
|
45049
45055
|
FJQC = FormatJSONQuoteChar()
|
|
@@ -49545,7 +49551,7 @@ def doCourseAddItems(courseIdList, getEntityListArg):
|
|
|
49545
49551
|
addItems = getStringReturnInList(Cmd.OB_COURSE_ALIAS)
|
|
49546
49552
|
elif addType == Ent.COURSE_TOPIC:
|
|
49547
49553
|
addItems = getStringReturnInList(Cmd.OB_COURSE_TOPIC)
|
|
49548
|
-
else: # addType == Ent.COURSE_ANNOUNCEMENT:
|
|
49554
|
+
else: #elif addType == Ent.COURSE_ANNOUNCEMENT:
|
|
49549
49555
|
addItems = [getCourseAnnouncement(True)]
|
|
49550
49556
|
courseParticipantLists = None
|
|
49551
49557
|
else:
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
ABORTED = 'aborted'
|
|
24
24
|
ABUSIVE_CONTENT_RESTRICTION = 'abusiveContentRestriction'
|
|
25
25
|
ACCESS_NOT_CONFIGURED = 'accessNotConfigured'
|
|
26
|
+
ADMIN_CANNOT_UNSUSPEND = 'adminCannotUnsuspend'
|
|
26
27
|
ALREADY_EXISTS = 'alreadyExists'
|
|
27
28
|
APPLY_LABEL_FORBIDDEN = 'applyLabelForbidden'
|
|
28
29
|
AUTH_ERROR = 'authError'
|
|
@@ -368,6 +369,8 @@ class abusiveContentRestriction(Exception):
|
|
|
368
369
|
pass
|
|
369
370
|
class accessNotConfigured(Exception):
|
|
370
371
|
pass
|
|
372
|
+
class adminCannotUnsuspend(Exception):
|
|
373
|
+
pass
|
|
371
374
|
class alreadyExists(Exception):
|
|
372
375
|
pass
|
|
373
376
|
class applyLabelForbidden(Exception):
|
|
@@ -689,6 +692,7 @@ REASON_EXCEPTION_MAP = {
|
|
|
689
692
|
ABORTED: aborted,
|
|
690
693
|
ABUSIVE_CONTENT_RESTRICTION: abusiveContentRestriction,
|
|
691
694
|
ACCESS_NOT_CONFIGURED: accessNotConfigured,
|
|
695
|
+
ADMIN_CANNOT_UNSUSPEND: adminCannotUnsuspend,
|
|
692
696
|
ALREADY_EXISTS: alreadyExists,
|
|
693
697
|
APPLY_LABEL_FORBIDDEN: applyLabelForbidden,
|
|
694
698
|
AUTH_ERROR: authError,
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
# Install GAM as Python Library
|
|
2
2
|
|
|
3
|
-
Thanks to Jay Lee for showing me how to do this.
|
|
4
|
-
|
|
5
|
-
On Windows, you need to install Git to use the pip command.
|
|
6
|
-
* See: https://pythoninoffice.com/python-pip-install-from-github/
|
|
7
|
-
|
|
8
|
-
Scroll down to Install Git
|
|
9
3
|
|
|
10
4
|
You can install GAM as a Python library with pip.
|
|
11
5
|
```
|
|
12
|
-
pip install
|
|
6
|
+
pip install gam7
|
|
13
7
|
```
|
|
14
8
|
|
|
15
9
|
Or as a PEP 508 Requirement Specifier, e.g. in requirements.txt file:
|
|
16
10
|
```
|
|
17
|
-
|
|
11
|
+
gam7
|
|
18
12
|
```
|
|
19
13
|
|
|
20
14
|
Or a pyproject.toml file:
|
|
@@ -23,13 +17,13 @@ Or a pyproject.toml file:
|
|
|
23
17
|
name = "your-project"
|
|
24
18
|
# ...
|
|
25
19
|
dependencies = [
|
|
26
|
-
"
|
|
20
|
+
"gam7"
|
|
27
21
|
]
|
|
28
22
|
```
|
|
29
23
|
|
|
30
|
-
Target a specific
|
|
24
|
+
Target a specific version:
|
|
31
25
|
```
|
|
32
|
-
|
|
26
|
+
gam7==/7.13.3
|
|
33
27
|
```
|
|
34
28
|
|
|
35
29
|
## Using the library
|
|
@@ -214,6 +214,12 @@ The option `updatesheetprotectedranges` only applies to items in `<DriveFileEnti
|
|
|
214
214
|
* ACLs with role reader or commenter will be removed from existing protected ranges
|
|
215
215
|
* ACLs with role writer or higher will be added to existing protected ranges
|
|
216
216
|
|
|
217
|
+
`
|
|
218
|
+
`enforceexpansiveaccess` defaults to the value of `gam.cfg/enforce_expansive_access` that controls
|
|
219
|
+
the ability to update inherited ACLs.
|
|
220
|
+
* False - Inherited ACLs can be updated
|
|
221
|
+
* True = Inherited ACLs can not be updated
|
|
222
|
+
|
|
217
223
|
By default, the file ID is displayed in the output; to see the file name, use the `showtitles`
|
|
218
224
|
option; this requires an additional API call per file.
|
|
219
225
|
|
|
@@ -234,6 +240,11 @@ The option `updatesheetprotectedranges` only applies to items in `<DriveFileEnti
|
|
|
234
240
|
* Sheet Protected Ranges are updated to reflect the deleted ACL; additional API calls are required.
|
|
235
241
|
* ACLs with any role will be removed from existing protected ranges
|
|
236
242
|
|
|
243
|
+
`enforceexpansiveaccess` defaults to the value of `gam.cfg/enforce_expansive_access` that controls
|
|
244
|
+
the ability to delete delete inherited ACLs.
|
|
245
|
+
* False - Inherited ACLs can be deleted
|
|
246
|
+
* True = Inherited ACLs can not be deleted
|
|
247
|
+
|
|
237
248
|
By default, the file ID is displayed in the output; to see the file name, use the `showtitles`
|
|
238
249
|
option; this requires an additional API call per file.
|
|
239
250
|
|
|
@@ -266,6 +277,11 @@ gam <UserTypeEntity> delete permissions <DriveFileEntity> <DriveFilePermissionID
|
|
|
266
277
|
<PermissionMatch>* [<PermissionMatchAction>]
|
|
267
278
|
[enforceexpansiveaccess [<Boolean>]]
|
|
268
279
|
```
|
|
280
|
+
`enforceexpansiveaccess` defaults to the value of `gam.cfg/enforce_expansive_access` that controls
|
|
281
|
+
the ability to delete delete inherited ACLs.
|
|
282
|
+
* False - Inherited ACLs can be deleted
|
|
283
|
+
* True = Inherited ACLs can not be deleted
|
|
284
|
+
|
|
269
285
|
When deleting permissions from JSON data, permissions with role `owner` true are never processed.
|
|
270
286
|
|
|
271
287
|
## Display file permissions/sharing
|
gam7-7.14.3/src/requirements.txt
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
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
|
-
python-dateutil
|
|
14
|
-
yubikey-manager>=5.6.1
|
gam7-7.14.3/src/setup.cfg
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
[metadata]
|
|
2
|
-
name = GAM for Google Workspace
|
|
3
|
-
version = attr: gam__version__
|
|
4
|
-
description = Command line management for Google Workspaces
|
|
5
|
-
long_description = file: readme.md
|
|
6
|
-
long_description_content_type = text/markdown
|
|
7
|
-
url = https://github.com/GAM-team/GAM
|
|
8
|
-
author = GAM Team
|
|
9
|
-
author_email = google-apps-manager@googlegroups.com
|
|
10
|
-
license = Apache
|
|
11
|
-
license_files = LICENSE
|
|
12
|
-
keywords = google, oauth2, gsuite, google-apps, google-admin-sdk, google-drive, google-cloud, google-calendar, gam, google-api, oauth2-client, google-workspace
|
|
13
|
-
classifiers =
|
|
14
|
-
Programming Language :: Python :: 3
|
|
15
|
-
Programming Language :: Python :: 3 :: Only
|
|
16
|
-
Programming Language :: Python :: 3.9
|
|
17
|
-
Programming Language :: Python :: 3.10
|
|
18
|
-
Programming Language :: Python :: 3.11
|
|
19
|
-
Programming Language :: Python :: 3.12
|
|
20
|
-
Programming Language :: Python :: 3.13
|
|
21
|
-
License :: OSI Approved :: Apache License
|
|
22
|
-
|
|
23
|
-
[options]
|
|
24
|
-
packages = find:
|
|
25
|
-
python_requires = >= 3.9
|
|
26
|
-
# The following files should be edited to match: pyproject.toml, requirements.txt
|
|
27
|
-
install_requires =
|
|
28
|
-
chardet >= 5.2.0
|
|
29
|
-
cryptography >= 44.0.2
|
|
30
|
-
distro; sys_platform == 'linux'
|
|
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
|
|
38
|
-
passlib >= 1.7.4
|
|
39
|
-
pathvalidate >= 3.2.3
|
|
40
|
-
python-dateutil
|
|
41
|
-
yubikey-manager >= 5.6.1
|
|
42
|
-
|
|
43
|
-
[options.package_data]
|
|
44
|
-
* = *.pem
|
|
45
|
-
|
|
46
|
-
# used during pip install .[test]
|
|
47
|
-
[options.extras_require]
|
|
48
|
-
test = pre-commit
|
|
49
|
-
|
|
50
|
-
[options.entry_points]
|
|
51
|
-
console_scripts =
|
|
52
|
-
gam = gam.__main__:main
|
|
53
|
-
|
|
54
|
-
[bdist_wheel]
|
|
55
|
-
universal = True
|
gam7-7.14.3/src/setup.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|