gam7 7.6.4__tar.gz → 7.6.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gam7 might be problematic. Click here for more details.
- gam7-7.6.6/.github/actions/decrypt.sh +19 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/workflows/build.yml +126 -180
- {gam7-7.6.4 → gam7-7.6.6}/PKG-INFO +1 -1
- {gam7-7.6.4 → gam7-7.6.6}/src/GamUpdate.txt +9 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/__init__.py +11 -9
- {gam7-7.6.4 → gam7-7.6.6}/src/gam-install.sh +11 -12
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Authorization.md +5 -4
- {gam7-7.6.4 → gam7-7.6.6}/wiki/GamUpdates.md +5 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +3 -3
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Meta-Commands-and-File-Redirection.md +1 -1
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Shared-Drives.md +7 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Version-and-Help.md +10 -10
- gam7-7.6.4/.github/actions/creds.tar.xz.gpg +0 -0
- gam7-7.6.4/.github/actions/decrypt.sh +0 -38
- {gam7-7.6.4 → gam7-7.6.6}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/actions/entitlements.plist +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/stale.yml +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/workflows/pushwiki.yml +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.github/workflows/pypi.yml +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/.pre-commit-config.yaml +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/LICENSE +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/README.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/pyproject.toml +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/.gitignore +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/GamCommands.txt +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/LICENSE +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/cacerts.pem +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/callgam.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/__main__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/auth.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/client.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/core.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/data.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/http.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/http_core.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/service.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/token_store.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/atom/url.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/cacerts.pem +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glapi.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glclargs.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glgapi.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glmsgs.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glskus.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/glverlibs.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/service.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/_auth.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/_helpers.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/channel.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/discovery.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/errors.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/http.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/mimeparse.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/model.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/schema.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/googleapiclient/version.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/iso8601/__init__.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/iso8601/iso8601.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam/six.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam-setup.bat +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam.exe.manifest +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam.spec +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/gam.wxs +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/license.rtf +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/requirements-dev.txt +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/requirements.txt +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/setup.cfg +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/setup.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/tools/mkGamRef.py +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/tools/openssl.props +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/src/version_info.txt.in +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/00scratch.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Addresses.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Administrators.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Alert-Center.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Aliases.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/BNF-Syntax.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Basic-Items.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Bulk-Processing.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/CSV-Input-Filtering.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/CSV-Output-Filtering.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/CSV-Special-Characters.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Calendars-Access.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Calendars-Events.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Calendars.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chat-Bot.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chrome-AUE-Counts.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chrome-Installed-Apps.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chrome-Policies.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chrome-Printers.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chrome-Profile-Management.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chrome-Version-Counts.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Chrome-Version-History.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/ChromeOS-Devices.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Classroom-Courses.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Classroom-Guardians.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Classroom-Invitations.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Classroom-Membership.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Cloud-Channel.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Cloud-Identity-Devices.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Cloud-Identity-Groups.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Cloud-Identity-Policies.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Cloud-Storage.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Collections-of-Items.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Collections-of-Users.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Command-Line-Parsing.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Command-Logging-Progress.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Context-Aware-Access-Levels.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Customer.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Domain-People-Contacts-Profiles.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Domain-SharedContacts-GAL.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Domains-Verification.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Domains.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Downloads-Installs.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Drive-File-Selection.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Drive-Items.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Drive-REST-API-v3.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Email-Audit-Monitor.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Find-File-Owner.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/GAM-Public-Chat-Room.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/GAM-Return-Codes.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/GAM7-on-Android-Devices.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Google-Data-Transfers.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Google-Network-Addresses.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Groups-Membership.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Groups.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/HTTPS-Proxy.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Home.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/How-to-Install-GAM7.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/How-to-Uninstall-GAM7.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/How-to-Update-GAM7.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Inbound-SSO.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Install-GAM-as-Python-Library.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Licenses.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/List-Items.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/List.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Mobile-Devices.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Organizational-Units.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Other-Resources.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Permission-Matches.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Python-Regular-Expressions.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/README.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Rclone.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Reports.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Reseller.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Resources.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/SSL-Root-CA-Certificates.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Schemas.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Scripts.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Send-Email.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Sites.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Tag-Replace.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Todrive.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Unmanaged-Accounts.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Upgrade-Benefits.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Analytics-Admin.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Application-Specific-Passwords.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Backup-Verification-Codes.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Calendars-Access.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Calendars-Events.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Calendars.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Chat.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Classification-Labels.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Classroom-Profile.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Contacts-Delegates.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Contacts.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Deprovision.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Activity-Settings.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Cleanup.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Comments.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Copy-Move.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Files-Display.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Files-Manage.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Orphans.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Ownership.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Permissions.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Query.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Revisions.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Shortcuts.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Drive-Transfer.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Forms.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-CSE.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-Delegates.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-Filters.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-Forwarding.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-Labels.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-Messages-Threads.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-Profile.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-S-MIME.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Gmail-Settings.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Group-Membership.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Keep-Notes.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Looker-Studio.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Meet.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-People-Contacts-Profiles.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Photo.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Profile-Photo.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Profile-Sharing.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Shared-Drives.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Signout-Turnoff2SV.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Spreadsheets.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Tasks.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-Tokens.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users-YouTube.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Users.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Vault-Takeout.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/_Sidebar.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/gam.cfg.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-AdminSettingsExamples.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Android-Installation.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-BulkOperations.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-CalendarExamples.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Chat-Bot.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Chrome-Browser-Management.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Chrome-OS-Installation.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Chrome-Policy-Settings.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Cloud-Identity-Groups.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Command-Reference-Calendars.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Command-Reference-Definitions.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Command-Reference-Drive.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Command-Reference-Email.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Command-Reference-Groups.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Command-Reference-Users.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Context-Aware-Access-Levels.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-CreatingClientSecretsFile.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Custom-Schemas.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Data-Transfers.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-DomainVerification.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-ExamplesAccountAuditing.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-ExamplesCSV.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-ExamplesEmailSettings.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-ExamplesOrganizations.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-GAM-Discussion-Group.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-GAM-options-files.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-GAM3CSVListings.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-GAM3DirectoryCommands.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-GAM3GroupSettings.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-GAM7-FAQ.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-GoogleDriveManagement.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Home.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Inbound-SSO-Settings.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-LicenseExamples.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Managing-Admins.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Managing-Devices.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Managing-Google-Classroom.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-OAuthKeyManagement.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Printers.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-ResellerCommands.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-SecurityExamples.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-UnmanagedUsersExamples.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Use-a-Yubikey.md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
- {gam7-7.6.4 → gam7-7.6.6}/wiki/l-_Footer.md +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
credspath="$1"
|
|
3
|
+
if [ ! -d "$credspath" ]; then
|
|
4
|
+
echo "creating ${credspath}"
|
|
5
|
+
mkdir -p "$credspath"
|
|
6
|
+
fi
|
|
7
|
+
credsfile="${credspath}/oauth2.txt"
|
|
8
|
+
echo "$oa2" > "$credsfile"
|
|
9
|
+
echo "File size:"
|
|
10
|
+
wc -c "$credsfile"
|
|
11
|
+
echo "File type:"
|
|
12
|
+
file "$credsfile"
|
|
13
|
+
echo "Validation:"
|
|
14
|
+
jq -e . "$credsfile" > /dev/null
|
|
15
|
+
if [ $? -eq 0 ]; then
|
|
16
|
+
echo "Valid JSON"
|
|
17
|
+
else
|
|
18
|
+
echo "Invalid JSON"
|
|
19
|
+
fi
|
|
@@ -39,76 +39,69 @@ jobs:
|
|
|
39
39
|
- os: ubuntu-22.04
|
|
40
40
|
jid: 1
|
|
41
41
|
goal: build
|
|
42
|
-
|
|
43
|
-
openssl_archs: linux-x86_64
|
|
42
|
+
name: Build Intel Ubuntu Jammy
|
|
44
43
|
- os: ubuntu-24.04
|
|
45
44
|
jid: 2
|
|
46
45
|
goal: build
|
|
47
|
-
|
|
48
|
-
openssl_archs: linux-x86_64
|
|
46
|
+
name: Build Intel Ubuntu Noble
|
|
49
47
|
- os: ubuntu-24.04-arm
|
|
50
48
|
jid: 3
|
|
51
49
|
goal: build
|
|
52
|
-
|
|
53
|
-
openssl_archs: linux-aarch64
|
|
50
|
+
name: Build Arm Ubuntu Noble
|
|
54
51
|
- os: ubuntu-22.04-arm
|
|
55
52
|
jid: 4
|
|
56
53
|
goal: build
|
|
57
|
-
|
|
58
|
-
openssl_archs: linux-aarch64
|
|
54
|
+
name: Build Arm Ubuntu Jammy
|
|
59
55
|
- os: ubuntu-22.04
|
|
60
56
|
jid: 5
|
|
61
57
|
goal: build
|
|
62
|
-
arch: x86_64
|
|
63
|
-
openssl_archs: linux-x86_64
|
|
64
58
|
staticx: yes
|
|
59
|
+
name: Build Intel StaticX Legacy
|
|
65
60
|
- os: ubuntu-22.04-arm
|
|
66
61
|
jid: 6
|
|
67
62
|
goal: build
|
|
68
|
-
arch: aarch64
|
|
69
|
-
openssl_archs: linux-aarch64
|
|
70
63
|
staticx: yes
|
|
64
|
+
name: Build Arm StaticX Legacy
|
|
71
65
|
- os: macos-13
|
|
72
66
|
jid: 7
|
|
73
67
|
goal: build
|
|
74
|
-
|
|
75
|
-
openssl_archs: darwin64-x86_64
|
|
68
|
+
name: Build Intel MacOS
|
|
76
69
|
- os: macos-14
|
|
77
70
|
jid: 8
|
|
78
71
|
goal: build
|
|
79
|
-
|
|
80
|
-
openssl_archs: darwin64-arm64
|
|
72
|
+
name: Build Arm MacOS 14
|
|
81
73
|
- os: macos-15
|
|
82
74
|
jid: 9
|
|
83
75
|
goal: build
|
|
84
|
-
|
|
85
|
-
openssl_archs: darwin64-arm64
|
|
76
|
+
name: Build Arm MacOS 15
|
|
86
77
|
- os: windows-2022
|
|
87
78
|
jid: 10
|
|
88
79
|
goal: build
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
# arch: arm64
|
|
95
|
-
# openssl_archs: VC-CLANG-WIN64-CLANGASM-ARM
|
|
96
|
-
# continue-on-error: true
|
|
80
|
+
name: Build Intel Windows
|
|
81
|
+
- os: windows-11-arm
|
|
82
|
+
jid: 11
|
|
83
|
+
goal: build
|
|
84
|
+
name: Build Arm Windows
|
|
97
85
|
- os: ubuntu-24.04
|
|
98
86
|
goal: test
|
|
99
87
|
python: "3.10"
|
|
100
|
-
jid:
|
|
101
|
-
|
|
88
|
+
jid: 12
|
|
89
|
+
name: Test Python 3.10
|
|
102
90
|
- os: ubuntu-24.04
|
|
103
91
|
goal: test
|
|
104
92
|
python: "3.11"
|
|
105
|
-
jid:
|
|
106
|
-
|
|
93
|
+
jid: 13
|
|
94
|
+
name: Test Python 3.11
|
|
107
95
|
- os: ubuntu-24.04
|
|
108
96
|
goal: test
|
|
109
97
|
python: "3.12"
|
|
110
|
-
jid:
|
|
111
|
-
|
|
98
|
+
jid: 14
|
|
99
|
+
name: Test Python 3.12
|
|
100
|
+
- os: ubuntu-24.04
|
|
101
|
+
goal: test
|
|
102
|
+
python: "3.14-dev"
|
|
103
|
+
jid: 15
|
|
104
|
+
name: Test Python 3.14-dev
|
|
112
105
|
|
|
113
106
|
steps:
|
|
114
107
|
|
|
@@ -145,15 +138,25 @@ jobs:
|
|
|
145
138
|
with:
|
|
146
139
|
python-version: ${{ matrix.python }}
|
|
147
140
|
allow-prereleases: true
|
|
141
|
+
check-latest: true
|
|
148
142
|
|
|
149
143
|
- name: common variables for all runs
|
|
150
144
|
env:
|
|
151
|
-
arch: ${{ matrix.arch }}
|
|
152
145
|
JID: ${{ matrix.jid }}
|
|
153
146
|
ACTIONS_CACHE: ${{ steps.cache-python-ssl.outputs.cache-hit }}
|
|
154
147
|
ACTIONS_GOAL: ${{ matrix.goal }}
|
|
155
148
|
run: |
|
|
156
|
-
|
|
149
|
+
case $RUNNER_ARCH in
|
|
150
|
+
X64)
|
|
151
|
+
echo "arch=x86_64" >> $GITHUB_ENV
|
|
152
|
+
;;
|
|
153
|
+
ARM64)
|
|
154
|
+
echo "arch=arm64" >> $GITHUB_ENV
|
|
155
|
+
;;
|
|
156
|
+
*)
|
|
157
|
+
echo "arch=${RUNNER_ARCH}" >> $GITHUB_ENV
|
|
158
|
+
;;
|
|
159
|
+
esac
|
|
157
160
|
echo "JID=${JID}" >> $GITHUB_ENV
|
|
158
161
|
echo "ACTIONS_CACHE=${ACTIONS_CACHE}" >> $GITHUB_ENV
|
|
159
162
|
echo "ACTIONS_GOAL=${ACTIONS_GOAL}" >> $GITHUB_ENV
|
|
@@ -167,20 +170,12 @@ jobs:
|
|
|
167
170
|
echo "curl_retry=${curl_retry}" >> $GITHUB_ENV
|
|
168
171
|
# GAMCFGDIR should be recreated on every run
|
|
169
172
|
GAMCFGDIR="${RUNNER_TEMP}/.gam"
|
|
170
|
-
if [ "$
|
|
173
|
+
if [ "$RUNNER_OS" == "Windows" ]; then
|
|
171
174
|
GAMCFGDIR=$(cygpath -u "$GAMCFGDIR")
|
|
172
175
|
fi
|
|
173
176
|
echo "GAMCFGDIR=${GAMCFGDIR}" >> $GITHUB_ENV
|
|
174
177
|
echo "GAMCFGDIR is: ${GAMCFGDIR}"
|
|
175
|
-
|
|
176
|
-
GAMOS="macos"
|
|
177
|
-
elif [[ "${RUNNER_OS}" == "Linux" ]]; then
|
|
178
|
-
GAMOS="linux"
|
|
179
|
-
elif [[ "${RUNNER_OS}" == "Windows" ]]; then
|
|
180
|
-
GAMOS="windows"
|
|
181
|
-
else
|
|
182
|
-
GAMOS='unknown'
|
|
183
|
-
fi
|
|
178
|
+
export GAMOS=$(echo "$RUNNER_OS" | tr '[:upper:]' '[:lower:]')
|
|
184
179
|
echo "GAMOS=${GAMOS}" >> $GITHUB_ENV
|
|
185
180
|
echo "GAMOS is: ${GAMOS}"
|
|
186
181
|
|
|
@@ -229,23 +224,15 @@ jobs:
|
|
|
229
224
|
uses: ilammy/msvc-dev-cmd@v1
|
|
230
225
|
if: runner.os == 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
231
226
|
with:
|
|
232
|
-
arch: ${{
|
|
227
|
+
arch: ${{ runner.arch }}
|
|
233
228
|
|
|
234
229
|
- name: Set Env Variables for build
|
|
235
230
|
if: matrix.goal == 'build'
|
|
236
231
|
env:
|
|
237
|
-
openssl_archs: ${{ matrix.openssl_archs }}
|
|
238
232
|
staticx: ${{ matrix.staticx }}
|
|
239
233
|
run: |
|
|
240
234
|
echo "We are running on ${RUNNER_OS}"
|
|
241
235
|
LD_LIBRARY_PATH="${OPENSSL_INSTALL_PATH}/lib:${PYTHON_INSTALL_PATH}/lib:/usr/local/lib"
|
|
242
|
-
if [[ "${arch}" == "Win64" ]]; then
|
|
243
|
-
PYEXTERNALS_PATH="amd64"
|
|
244
|
-
PYBUILDRELEASE_ARCH="x64"
|
|
245
|
-
GAM_ARCHIVE_ARCH="x86_64"
|
|
246
|
-
WIX_ARCH="x64"
|
|
247
|
-
CHOC_OPS=""
|
|
248
|
-
fi
|
|
249
236
|
if [[ "${RUNNER_OS}" == "macOS" ]]; then
|
|
250
237
|
MAKE=make
|
|
251
238
|
MAKEOPT="-j$(sysctl -n hw.logicalcpu)"
|
|
@@ -263,16 +250,18 @@ jobs:
|
|
|
263
250
|
MAKE=nmake
|
|
264
251
|
MAKEOPT=""
|
|
265
252
|
PERL="c:\strawberry\perl\bin\perl.exe"
|
|
253
|
+
if [[ "$RUNNER_ARCH" == "ARM64" ]]; then
|
|
254
|
+
PYEXTERNALS_PATH="arm64"
|
|
255
|
+
WIX_ARCH="arm64"
|
|
256
|
+
CHOC_OPS=""
|
|
257
|
+
elif [[ "$RUNNER_ARCH" == "X64" ]]; then
|
|
258
|
+
PYEXTERNALS_PATH="amd64"
|
|
259
|
+
WIX_ARCH="x64"
|
|
260
|
+
CHOC_OPS=""
|
|
261
|
+
fi
|
|
266
262
|
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PYTHON_SOURCE_PATH}/PCbuild/${PYEXTERNALS_PATH}"
|
|
267
263
|
echo "PYTHON=${PYTHON_SOURCE_PATH}/PCbuild/${PYEXTERNALS_PATH}/python.exe" >> $GITHUB_ENV
|
|
268
|
-
echo "GAM_ARCHIVE_ARCH=${GAM_ARCHIVE_ARCH}" >> $GITHUB_ENV
|
|
269
264
|
echo "WIX_ARCH=${WIX_ARCH}" >> $GITHUB_ENV
|
|
270
|
-
if [[ "$arch" == "arm64" ]]; then
|
|
271
|
-
MAKE=make
|
|
272
|
-
MAKEOPT="-j$(nproc)"
|
|
273
|
-
echo "VSCMD_DEBUG=3" >> $GITHUB_ENV
|
|
274
|
-
echo "PATH=${PATH}:${VCINSTALLDIR}\Tools\Llvm\ARM64\bin" >> $GITHUB_ENV
|
|
275
|
-
fi
|
|
276
265
|
fi
|
|
277
266
|
echo "We'll run make with: ${MAKEOPT}"
|
|
278
267
|
echo "staticx=${staticx}" >> $GITHUB_ENV
|
|
@@ -281,8 +270,6 @@ jobs:
|
|
|
281
270
|
echo "MAKEOPT=${MAKEOPT}" >> $GITHUB_ENV
|
|
282
271
|
echo "PERL=${PERL}" >> $GITHUB_ENV
|
|
283
272
|
echo "PYEXTERNALS_PATH=${PYEXTERNALS_PATH}" >> $GITHUB_ENV
|
|
284
|
-
echo "PYBUILDRELEASE_ARCH=${PYBUILDRELEASE_ARCH}" >> $GITHUB_ENV
|
|
285
|
-
echo "openssl_archs=${openssl_archs}" >> $GITHUB_ENV
|
|
286
273
|
|
|
287
274
|
- name: Get latest stable OpenSSL source
|
|
288
275
|
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
@@ -296,29 +283,21 @@ jobs:
|
|
|
296
283
|
git checkout "${LATEST_STABLE_TAG}"
|
|
297
284
|
export COMPILED_OPENSSL_VERSION=${LATEST_STABLE_TAG:8} # Trim the openssl- prefix
|
|
298
285
|
echo "COMPILED_OPENSSL_VERSION=${COMPILED_OPENSSL_VERSION}" >> $GITHUB_ENV
|
|
299
|
-
if ([ "${RUNNER_OS}" == "macOS" ] && [ "$arch" == "universal2" ]); then
|
|
300
|
-
for openssl_arch in $openssl_archs; do
|
|
301
|
-
ssldir="${OPENSSL_SOURCE_PATH}-${openssl_arch}"
|
|
302
|
-
mkdir -v "${ssldir}"
|
|
303
|
-
cp -vrf ${OPENSSL_SOURCE_PATH}/* "${ssldir}/"
|
|
304
|
-
done
|
|
305
|
-
rm -vrf "${OPENSSL_SOURCE_PATH}"
|
|
306
|
-
else
|
|
307
|
-
mv -v "${OPENSSL_SOURCE_PATH}" "${OPENSSL_SOURCE_PATH}-${openssl_archs}"
|
|
308
|
-
fi
|
|
309
286
|
|
|
310
287
|
- name: Windows NASM Install
|
|
311
288
|
uses: ilammy/setup-nasm@v1
|
|
312
|
-
if: matrix.goal == 'build' && runner.os == 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
289
|
+
if: matrix.goal == 'build' && runner.os == 'Windows' && runner.arch == 'X64' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
313
290
|
|
|
314
291
|
- name: Config OpenSSL
|
|
315
292
|
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
316
293
|
run: |
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
294
|
+
cd "${OPENSSL_SOURCE_PATH}"
|
|
295
|
+
# TODO: remove this once https://github.com/openssl/openssl/issues/26239 is fixed.
|
|
296
|
+
if ([ "$RUNNER_OS" == "Windows" ] && [ "$RUNNER_ARCH" == "ARM64" ]); then
|
|
297
|
+
export CFLAGS=-DNO_INTERLOCKEDOR64
|
|
298
|
+
fi
|
|
299
|
+
# --libdir=lib is needed so Python can find OpenSSL libraries
|
|
300
|
+
"${PERL}" ./Configure --libdir=lib --prefix="${OPENSSL_INSTALL_PATH}" $OPENSSL_CONFIG_OPTS
|
|
322
301
|
|
|
323
302
|
- name: Rename GNU link on Windows
|
|
324
303
|
if: matrix.goal == 'build' && runner.os == 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
@@ -329,53 +308,29 @@ jobs:
|
|
|
329
308
|
- name: Make OpenSSL
|
|
330
309
|
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
331
310
|
run: |
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
311
|
+
cd "${OPENSSL_SOURCE_PATH}"
|
|
312
|
+
# TODO: remove this once https://github.com/openssl/openssl/issues/26239 is fixed.
|
|
313
|
+
if ([ "$RUNNER_OS" == "Windows" ] && [ "$RUNNER_ARCH" == "ARM64" ]); then
|
|
314
|
+
export CFLAGS=-DNO_INTERLOCKEDOR64
|
|
315
|
+
fi
|
|
316
|
+
$MAKE "$MAKEOPT"
|
|
336
317
|
|
|
337
318
|
- name: Install OpenSSL
|
|
338
319
|
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
339
320
|
run: |
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
# install_sw saves us ages processing man pages :-)
|
|
344
|
-
$MAKE install_sw
|
|
345
|
-
mv -v "${OPENSSL_INSTALL_PATH}" "${GITHUB_WORKSPACE}/bin/ssl-${openssl_arch}"
|
|
346
|
-
done
|
|
347
|
-
mkdir -vp "${OPENSSL_INSTALL_PATH}/lib"
|
|
348
|
-
mkdir -vp "${OPENSSL_INSTALL_PATH}/bin"
|
|
349
|
-
for archlib in libcrypto.3.dylib libssl.3.dylib libcrypto.a libssl.a; do
|
|
350
|
-
lipo -create "${GITHUB_WORKSPACE}/bin/ssl-darwin64-x86_64/lib/${archlib}" \
|
|
351
|
-
"${GITHUB_WORKSPACE}/bin/ssl-darwin64-arm64/lib/${archlib}" \
|
|
352
|
-
-output "${GITHUB_WORKSPACE}/bin/ssl/lib/${archlib}"
|
|
353
|
-
done
|
|
354
|
-
mv ${GITHUB_WORKSPACE}/bin/ssl-darwin64-x86_64/include ${GITHUB_WORKSPACE}/bin/ssl/
|
|
355
|
-
lipo -create "${GITHUB_WORKSPACE}/bin/ssl-darwin64-x86_64/bin/openssl" \
|
|
356
|
-
"${GITHUB_WORKSPACE}/bin/ssl-darwin64-arm64/bin/openssl" \
|
|
357
|
-
-output "${GITHUB_WORKSPACE}/bin/ssl/bin/openssl"
|
|
358
|
-
rm -rf ${GITHUB_WORKSPACE}/bin/ssl-darwin64-x86_64
|
|
359
|
-
rm -rf ${GITHUB_WORKSPACE}/bin/ssl-darwin64-arm64
|
|
360
|
-
else
|
|
361
|
-
cd "${GITHUB_WORKSPACE}/src/openssl-${openssl_archs}"
|
|
362
|
-
# install_sw saves us ages processing man pages :-)
|
|
363
|
-
$MAKE install_sw
|
|
364
|
-
fi
|
|
321
|
+
cd "${OPENSSL_SOURCE_PATH}"
|
|
322
|
+
# install_sw saves us ages processing man pages :-)
|
|
323
|
+
$MAKE install_sw
|
|
365
324
|
if [[ "${RUNNER_OS}" != "Windows" ]]; then
|
|
366
325
|
echo "LDFLAGS=-L${OPENSSL_INSTALL_PATH}/lib" >> $GITHUB_ENV
|
|
367
326
|
fi
|
|
368
327
|
echo "CRYPTOGRAPHY_SUPPRESS_LINK_FLAGS=1" >> $GITHUB_ENV
|
|
369
|
-
case $
|
|
370
|
-
|
|
371
|
-
echo "CFLAGS=-I${OPENSSL_INSTALL_PATH}/include -arch arm64 -arch x86_64 ${CFLAGS}" >> $GITHUB_ENV
|
|
372
|
-
echo "ARCHFLAGS=-arch x86_64 -arch arm64" >> $GITHUB_ENV
|
|
373
|
-
;;
|
|
374
|
-
x86_64)
|
|
328
|
+
case $RUNNER_ARCH in
|
|
329
|
+
X64)
|
|
375
330
|
echo "CFLAGS=-I${OPENSSL_INSTALL_PATH}/include ${CFLAGS}" >> $GITHUB_ENV
|
|
376
331
|
echo "ARCHFLAGS=-arch x86_64" >> $GITHUB_ENV
|
|
377
332
|
;;
|
|
378
|
-
|
|
333
|
+
ARM64)
|
|
379
334
|
echo "CFLAGS=-I${OPENSSL_INSTALL_PATH}/include ${CFLAGS}" >> $GITHUB_ENV
|
|
380
335
|
echo "ARCHFLAGS=-arch arm64" >> $GITHUB_ENV
|
|
381
336
|
;;
|
|
@@ -402,18 +357,12 @@ jobs:
|
|
|
402
357
|
if: matrix.goal == 'build' && runner.os != 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
403
358
|
run: |
|
|
404
359
|
cd "${PYTHON_SOURCE_PATH}"
|
|
405
|
-
if ([ "${RUNNER_OS}" == "macOS" ] && [ "$arch" == "universal2" ]); then
|
|
406
|
-
extra_args=( "--enable-universalsdk" "--with-universal-archs=universal2" )
|
|
407
|
-
else
|
|
408
|
-
extra_args=( )
|
|
409
|
-
fi
|
|
410
360
|
./configure --with-openssl="${OPENSSL_INSTALL_PATH}" \
|
|
411
361
|
--prefix="${PYTHON_INSTALL_PATH}" \
|
|
412
362
|
--enable-shared \
|
|
413
363
|
--with-ensurepip=upgrade \
|
|
414
364
|
--enable-optimizations \
|
|
415
|
-
--with-lto
|
|
416
|
-
"${extra_args[@]}" || : # exit 0
|
|
365
|
+
--with-lto || : # exit 0
|
|
417
366
|
cat config.log
|
|
418
367
|
|
|
419
368
|
- name: Windows Get External Python deps
|
|
@@ -433,10 +382,15 @@ jobs:
|
|
|
433
382
|
Remove-Item -recurse -force "${env:OPENSSL_EXT_PATH}*"
|
|
434
383
|
# Emulate what this script does:
|
|
435
384
|
# https://github.com/python/cpython/blob/main/PCbuild/openssl.vcxproj
|
|
436
|
-
$env:
|
|
385
|
+
if (${env:RUNNER_ARCH} -eq "X64") {
|
|
386
|
+
$env:ossl_path = "amd64"
|
|
387
|
+
} elseif (${env:RUNNER_ARCH} -eq "ARM64") {
|
|
388
|
+
$env:ossl_path = "arm64"
|
|
389
|
+
}
|
|
390
|
+
$env:OPENSSL_EXT_TARGET_PATH = "${env:OPENSSL_EXT_PATH}${env:ossl_path}"
|
|
437
391
|
echo "Copying our OpenSSL to ${env:OPENSSL_EXT_TARGET_PATH}"
|
|
438
392
|
mkdir "${env:OPENSSL_EXT_TARGET_PATH}\include\openssl\"
|
|
439
|
-
Copy-Item -Path "${env:
|
|
393
|
+
Copy-Item -Path "${env:OPENSSL_SOURCE_PATH}\LICENSE.txt" -Destination "${env:OPENSSL_EXT_TARGET_PATH}\LICENSE"
|
|
440
394
|
cp -v "$env:OPENSSL_INSTALL_PATH\lib\*" "${env:OPENSSL_EXT_TARGET_PATH}"
|
|
441
395
|
cp -v "$env:OPENSSL_INSTALL_PATH\bin\*" "${env:OPENSSL_EXT_TARGET_PATH}"
|
|
442
396
|
cp -v "$env:OPENSSL_INSTALL_PATH\include\openssl\*" "${env:OPENSSL_EXT_TARGET_PATH}\include\openssl\"
|
|
@@ -457,8 +411,15 @@ jobs:
|
|
|
457
411
|
cd "${env:PYTHON_SOURCE_PATH}"
|
|
458
412
|
# We need out custom openssl.props which uses OpenSSL 3 DLL names
|
|
459
413
|
Copy-Item -Path "${env:GITHUB_WORKSPACE}\src\tools\openssl.props" -Destination PCBuild\ -Verbose
|
|
460
|
-
|
|
461
|
-
|
|
414
|
+
if (${env:RUNNER_ARCH} -eq "X64") {
|
|
415
|
+
$env:arch = "x64"
|
|
416
|
+
PCBuild\build.bat -c Release -p $env:arch --pgo
|
|
417
|
+
} elseif (${env:RUNNER_ARCH} -eq "ARM64") {
|
|
418
|
+
$env:arch = "ARM64"
|
|
419
|
+
# TODO: figure out why Windows ARM64 isn't compat with PGO optimiazation
|
|
420
|
+
# causes 10-20% slowdown in Python
|
|
421
|
+
PCBuild\build.bat -c Release -p $env:arch
|
|
422
|
+
}
|
|
462
423
|
|
|
463
424
|
- name: Mac/Linux Build Python
|
|
464
425
|
if: matrix.goal == 'build' && runner.os != 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
|
|
@@ -485,46 +446,33 @@ jobs:
|
|
|
485
446
|
- name: Upgrade pip, wheel, etc
|
|
486
447
|
run: |
|
|
487
448
|
curl $curl_retry -O https://bootstrap.pypa.io/get-pip.py
|
|
488
|
-
"$
|
|
489
|
-
"$
|
|
490
|
-
"$
|
|
491
|
-
"$
|
|
492
|
-
|
|
449
|
+
"$PYTHON" get-pip.py
|
|
450
|
+
"$PYTHON" -m pip install --upgrade pip
|
|
451
|
+
"$PYTHON" -m pip install --upgrade wheel
|
|
452
|
+
"$PYTHON" -m pip install --upgrade setuptools
|
|
453
|
+
|
|
454
|
+
- name: Custom wheels for Win arm64
|
|
455
|
+
if: runner.os == 'Windows' && runner.arch == 'ARM64'
|
|
456
|
+
run: |
|
|
457
|
+
latest_lxml_whl=$(curl https://api.github.com/repos/GAM-team/lxml-wheel/releases/latest -s | jq -r .assets.[0].browser_download_url)
|
|
458
|
+
echo "Downloading ${latest_lxml_whl}..."
|
|
459
|
+
curl -O -L "$latest_lxml_whl"
|
|
460
|
+
"$PYTHON" -m pip install lxml*.whl
|
|
461
|
+
latest_crypt_whl=$(curl https://api.github.com/repos/jay0lee/cryptography/releases/latest -s | jq -r .assets.[0].browser_download_url)
|
|
462
|
+
echo "Downloading ${latest_crypt_whl}..."
|
|
463
|
+
curl -O -L "$latest_crypt_whl"
|
|
464
|
+
"$PYTHON" -m pip install cryptography*.whl
|
|
465
|
+
|
|
493
466
|
- name: Install pip requirements
|
|
494
467
|
run: |
|
|
495
468
|
echo "before anything..."
|
|
496
|
-
"$
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
export ARCHFLAGS="-arch x86_64 -arch arm64"
|
|
502
|
-
"${PYTHON}" -m pip install --upgrade --force-reinstall --no-binary :all: \
|
|
503
|
-
--no-cache-dir --no-deps --use-pep517 \
|
|
504
|
-
--use-feature=no-binary-enable-wheel-cache \
|
|
505
|
-
cffi
|
|
506
|
-
echo "before cryptography..."
|
|
507
|
-
"${PYTHON}" -m pip list
|
|
508
|
-
# cryptography has a universal2 wheel but getting it installed
|
|
509
|
-
# on x86-64 MacOS is a royal pain in the keester.
|
|
510
|
-
"${PYTHON}" -m pip download --only-binary :all: \
|
|
511
|
-
--dest . \
|
|
512
|
-
--no-cache \
|
|
513
|
-
--no-deps \
|
|
514
|
-
--platform macosx_10_15_universal2 \
|
|
515
|
-
cryptography
|
|
516
|
-
"${PYTHON}" -m pip install --force-reinstall --no-deps cryptography*.whl
|
|
517
|
-
echo "after cryptography..."
|
|
518
|
-
"${PYTHON}" -m pip list
|
|
519
|
-
"${PYTHON}" -m pip install --upgrade --no-binary :all: -r requirements.txt
|
|
520
|
-
else
|
|
521
|
-
"${PYTHON}" -m pip install --upgrade -r requirements.txt
|
|
522
|
-
echo "after requirements..."
|
|
523
|
-
"${PYTHON}" -m pip list
|
|
524
|
-
"${PYTHON}" -m pip install --force-reinstall --no-deps --upgrade cryptography
|
|
525
|
-
fi
|
|
469
|
+
"$PYTHON" -m pip list
|
|
470
|
+
"$PYTHON" -m pip install --upgrade -r requirements.txt
|
|
471
|
+
echo "after requirements..."
|
|
472
|
+
"$PYTHON" -m pip list
|
|
473
|
+
#"$PYTHON" -m pip install --force-reinstall --no-deps --upgrade cryptography
|
|
526
474
|
echo "after everything..."
|
|
527
|
-
"$
|
|
475
|
+
"$PYTHON" -m pip list
|
|
528
476
|
|
|
529
477
|
- name: Install PyInstaller
|
|
530
478
|
if: matrix.goal == 'build'
|
|
@@ -537,14 +485,7 @@ jobs:
|
|
|
537
485
|
# remove pre-compiled bootloaders so we fail if bootloader compile fails
|
|
538
486
|
rm -rvf PyInstaller/bootloader/*-*/*
|
|
539
487
|
cd bootloader
|
|
540
|
-
|
|
541
|
-
case "${arch}" in
|
|
542
|
-
"Win64")
|
|
543
|
-
export PYINSTALLER_BUILD_ARGS="--target-arch=64bit"
|
|
544
|
-
;;
|
|
545
|
-
esac
|
|
546
|
-
echo "PyInstaller build arguments: ${PYINSTALLER_BUILD_ARGS}"
|
|
547
|
-
"${PYTHON}" ./waf all $PYINSTALLER_BUILD_ARGS
|
|
488
|
+
"${PYTHON}" ./waf all
|
|
548
489
|
cd ..
|
|
549
490
|
echo "---- Installing PyInstaller ----"
|
|
550
491
|
"${PYTHON}" -m pip install .
|
|
@@ -655,14 +596,12 @@ jobs:
|
|
|
655
596
|
echo "GAM Version ${GAMVERSION}"
|
|
656
597
|
echo "GAMVERSION=${GAMVERSION}" >> $GITHUB_ENV
|
|
657
598
|
|
|
658
|
-
- name: Configure service account auth
|
|
599
|
+
- name: Configure user and service account auth
|
|
659
600
|
id: configserviceaccount
|
|
660
601
|
env:
|
|
661
|
-
|
|
602
|
+
oa2: ${{ secrets[format('GAM_GHA_{0}', matrix.jid)] }}
|
|
662
603
|
run: |
|
|
663
|
-
|
|
664
|
-
mv -v "${GAMCFGDIR}/oauth2.txt-gam-gha-${JID}" "${GAMCFGDIR}/oauth2.txt"
|
|
665
|
-
rm -v $GAMCFGDIR/oauth2.txt-gam*
|
|
604
|
+
../.github/actions/decrypt.sh "${GAMCFGDIR}"
|
|
666
605
|
$gam create signjwtserviceaccount
|
|
667
606
|
|
|
668
607
|
- name: Upload gam.exe Windows for signing
|
|
@@ -710,22 +649,29 @@ jobs:
|
|
|
710
649
|
else
|
|
711
650
|
libver="glibc$(ldd --version | awk '/ldd/{print $NF}')"
|
|
712
651
|
fi
|
|
713
|
-
GAM_ARCHIVE="${GITHUB_WORKSPACE}/gam-${GAMVERSION}-linux-$
|
|
652
|
+
GAM_ARCHIVE="${GITHUB_WORKSPACE}/gam-${GAMVERSION}-linux-${arch}-${libver}.tar.xz"
|
|
714
653
|
fi
|
|
715
654
|
echo "GAM Archive ${GAM_ARCHIVE}"
|
|
716
655
|
tar -C "${gampath}/.." --create --verbose --exclude-from "${GITHUB_WORKSPACE}/.github/actions/package_exclusions.txt" --file $GAM_ARCHIVE --xz gam7
|
|
717
656
|
|
|
718
|
-
- name:
|
|
657
|
+
- name: Install Wix on Win ARM64
|
|
658
|
+
if: runner.os == 'Windows' && runner.arch == 'ARM64'
|
|
659
|
+
run: |
|
|
660
|
+
choco install wixtoolset
|
|
661
|
+
|
|
662
|
+
- name: Windows package zip
|
|
719
663
|
if: runner.os == 'Windows' && matrix.goal != 'test'
|
|
720
664
|
run: |
|
|
721
665
|
echo "started in $(pwd)"
|
|
722
666
|
cd "${gampath}/.."
|
|
723
667
|
echo "moved to $(pwd)"
|
|
724
|
-
GAM_ARCHIVE="${GITHUB_WORKSPACE}/gam-${GAMVERSION}-windows-${
|
|
668
|
+
GAM_ARCHIVE="${GITHUB_WORKSPACE}/gam-${GAMVERSION}-windows-${arch}.zip"
|
|
725
669
|
/c/Program\ Files/7-Zip/7z.exe a -tzip "$GAM_ARCHIVE" gam7 "-xr@${GITHUB_WORKSPACE}/.github/actions/package_exclusions.txt" -bb3
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
670
|
+
|
|
671
|
+
- name: Windows package MSI
|
|
672
|
+
if: runner.os == 'Windows' && matrix.goal != 'test'
|
|
673
|
+
run: |
|
|
674
|
+
export MSI_FILENAME="${GITHUB_WORKSPACE}/gam-${GAMVERSION}-windows-${arch}.msi"
|
|
729
675
|
# auto-generate a lib.wxs based on the files PyInstaller created for the lib/ directory
|
|
730
676
|
/c/Program\ Files\ \(x86\)/WiX\ Toolset\ v3.14/bin/heat.exe dir "${gampath}/lib" -ke -srd -cg Lib -gg -dr lib -directoryid lib -out lib.wxs
|
|
731
677
|
$PYTHON tools/gen-wix-xml-filelist.py lib.wxs
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
7.06.06
|
|
2
|
+
|
|
3
|
+
Native support for Windows 11 Arm-based devices.
|
|
4
|
+
|
|
5
|
+
7.06.05
|
|
6
|
+
|
|
7
|
+
Updated code in `gam delete|update chromepolicy` to handle the `policyTargetKey[additionalTargetKeys]`
|
|
8
|
+
field in a more general manner for future use.
|
|
9
|
+
|
|
1
10
|
7.06.04
|
|
2
11
|
|
|
3
12
|
Fixed bug in `gam report <ActivityApplictionName>` where a report with no activities
|
|
@@ -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.06'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -28090,10 +28090,12 @@ def updatePolicyRequests(body, targetResource, printer_id, app_id):
|
|
|
28090
28090
|
for request in body['requests']:
|
|
28091
28091
|
request.setdefault('policyTargetKey', {})
|
|
28092
28092
|
request['policyTargetKey']['targetResource'] = targetResource
|
|
28093
|
-
if app_id:
|
|
28094
|
-
request['policyTargetKey']
|
|
28095
|
-
|
|
28096
|
-
|
|
28093
|
+
if app_id or printer_id:
|
|
28094
|
+
request['policyTargetKey'].setdefault('additionalTargetKeys', {})
|
|
28095
|
+
if app_id:
|
|
28096
|
+
request['policyTargetKey']['additionalTargetKeys']['app_id'] = app_id
|
|
28097
|
+
elif printer_id:
|
|
28098
|
+
request['policyTargetKey']['additionalTargetKeys']['printer_id'] = printer_id
|
|
28097
28099
|
|
|
28098
28100
|
# gam delete chromepolicy
|
|
28099
28101
|
# (<SchemaName> [<JSONData>])+
|
|
@@ -28126,9 +28128,9 @@ def doDeleteChromePolicy():
|
|
|
28126
28128
|
if checkArgumentPresent('json'):
|
|
28127
28129
|
jsonData = getJSON(['direct', 'name', 'orgUnitPath', 'parentOrgUnitPath', 'group'])
|
|
28128
28130
|
if 'additionalTargetKeys' in jsonData:
|
|
28129
|
-
body['requests'][-1].setdefault('policyTargetKey', {})
|
|
28131
|
+
body['requests'][-1].setdefault('policyTargetKey', {'additionalTargetKeys': {}})
|
|
28130
28132
|
for atk in jsonData['additionalTargetKeys']:
|
|
28131
|
-
body['requests'][-1]['policyTargetKey']['additionalTargetKeys']
|
|
28133
|
+
body['requests'][-1]['policyTargetKey']['additionalTargetKeys'][atk['name']] = atk['value']
|
|
28132
28134
|
checkPolicyArgs(targetResource, printer_id, app_id)
|
|
28133
28135
|
count = len(body['requests'])
|
|
28134
28136
|
if count != 1:
|
|
@@ -28281,9 +28283,9 @@ def doUpdateChromePolicy():
|
|
|
28281
28283
|
jsonData = getJSON(['direct', 'name', 'orgUnitPath', 'parentOrgUnitPath', 'group'])
|
|
28282
28284
|
schemaNameAppId = schemaName
|
|
28283
28285
|
if 'additionalTargetKeys' in jsonData:
|
|
28284
|
-
body['requests'][-1].setdefault('policyTargetKey', {})
|
|
28286
|
+
body['requests'][-1].setdefault('policyTargetKey', {'additionalTargetKeys': {}})
|
|
28285
28287
|
for atk in jsonData['additionalTargetKeys']:
|
|
28286
|
-
body['requests'][-1]['policyTargetKey']['additionalTargetKeys']
|
|
28288
|
+
body['requests'][-1]['policyTargetKey']['additionalTargetKeys'][atk['name']] = atk['value']
|
|
28287
28289
|
if atk['name'] == 'app_id':
|
|
28288
28290
|
schemaNameAppId += f"({atk['value']})"
|
|
28289
28291
|
schemaNameList[-1] = schemaNameAppId
|