gam7 7.10.5__tar.gz → 7.10.7__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.

Files changed (318) hide show
  1. {gam7-7.10.5 → gam7-7.10.7}/.github/workflows/build.yml +2 -6
  2. {gam7-7.10.5 → gam7-7.10.7}/PKG-INFO +1 -1
  3. {gam7-7.10.5 → gam7-7.10.7}/src/GamCommands.txt +2 -0
  4. {gam7-7.10.5 → gam7-7.10.7}/src/GamUpdate.txt +14 -1
  5. {gam7-7.10.5 → gam7-7.10.7}/src/gam/__init__.py +34 -5
  6. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glgapi.py +1 -0
  7. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glskus.py +2 -0
  8. {gam7-7.10.5 → gam7-7.10.7}/wiki/Cloud-Identity-Devices.md +1 -0
  9. {gam7-7.10.5 → gam7-7.10.7}/wiki/GamUpdates.md +9 -0
  10. {gam7-7.10.5 → gam7-7.10.7}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
  11. {gam7-7.10.5 → gam7-7.10.7}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -7
  12. {gam7-7.10.5 → gam7-7.10.7}/wiki/Version-and-Help.md +6 -6
  13. {gam7-7.10.5 → gam7-7.10.7}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
  14. {gam7-7.10.5 → gam7-7.10.7}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
  15. {gam7-7.10.5 → gam7-7.10.7}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
  16. {gam7-7.10.5 → gam7-7.10.7}/.github/ISSUE_TEMPLATE.txt +0 -0
  17. {gam7-7.10.5 → gam7-7.10.7}/.github/actions/decrypt.sh +0 -0
  18. {gam7-7.10.5 → gam7-7.10.7}/.github/actions/entitlements.plist +0 -0
  19. {gam7-7.10.5 → gam7-7.10.7}/.github/actions/package_exclusions.txt +0 -0
  20. {gam7-7.10.5 → gam7-7.10.7}/.github/stale.yml +0 -0
  21. {gam7-7.10.5 → gam7-7.10.7}/.github/workflows/codeql-analysis.yml +0 -0
  22. {gam7-7.10.5 → gam7-7.10.7}/.github/workflows/get-cacerts.yml +0 -0
  23. {gam7-7.10.5 → gam7-7.10.7}/.github/workflows/pushwiki.yml +0 -0
  24. {gam7-7.10.5 → gam7-7.10.7}/.github/workflows/pypi.yml +0 -0
  25. {gam7-7.10.5 → gam7-7.10.7}/.pre-commit-config.yaml +0 -0
  26. {gam7-7.10.5 → gam7-7.10.7}/LICENSE +0 -0
  27. {gam7-7.10.5 → gam7-7.10.7}/README.md +0 -0
  28. {gam7-7.10.5 → gam7-7.10.7}/pyproject.toml +0 -0
  29. {gam7-7.10.5 → gam7-7.10.7}/src/.gitignore +0 -0
  30. {gam7-7.10.5 → gam7-7.10.7}/src/LICENSE +0 -0
  31. {gam7-7.10.5 → gam7-7.10.7}/src/cacerts.pem +0 -0
  32. {gam7-7.10.5 → gam7-7.10.7}/src/callgam.py +0 -0
  33. {gam7-7.10.5 → gam7-7.10.7}/src/gam/__main__.py +0 -0
  34. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/__init__.py +0 -0
  35. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/auth.py +0 -0
  36. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/client.py +0 -0
  37. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/core.py +0 -0
  38. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/data.py +0 -0
  39. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/http.py +0 -0
  40. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/http_core.py +0 -0
  41. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/http_interface.py +0 -0
  42. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/mock_http.py +0 -0
  43. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/mock_http_core.py +0 -0
  44. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/mock_service.py +0 -0
  45. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/service.py +0 -0
  46. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/token_store.py +0 -0
  47. {gam7-7.10.5 → gam7-7.10.7}/src/gam/atom/url.py +0 -0
  48. {gam7-7.10.5 → gam7-7.10.7}/src/gam/cacerts.pem +0 -0
  49. {gam7-7.10.5 → gam7-7.10.7}/src/gam/cbcm-v1.1beta1.json +0 -0
  50. {gam7-7.10.5 → gam7-7.10.7}/src/gam/contactdelegation-v1.json +0 -0
  51. {gam7-7.10.5 → gam7-7.10.7}/src/gam/datastudio-v1.json +0 -0
  52. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/__init__.py +0 -0
  53. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glaction.py +0 -0
  54. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glapi.py +0 -0
  55. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glcfg.py +0 -0
  56. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glclargs.py +0 -0
  57. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glentity.py +0 -0
  58. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glgdata.py +0 -0
  59. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glglobals.py +0 -0
  60. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glindent.py +0 -0
  61. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glmsgs.py +0 -0
  62. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/gluprop.py +0 -0
  63. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/glverlibs.py +0 -0
  64. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gamlib/yubikey.py +0 -0
  65. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/__init__.py +0 -0
  66. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/alt/__init__.py +0 -0
  67. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/alt/app_engine.py +0 -0
  68. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/alt/appengine.py +0 -0
  69. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/apps/__init__.py +0 -0
  70. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/apps/audit/__init__.py +0 -0
  71. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/apps/audit/service.py +0 -0
  72. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/apps/contacts/__init__.py +0 -0
  73. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/apps/contacts/service.py +0 -0
  74. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/apps/service.py +0 -0
  75. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/service.py +0 -0
  76. {gam7-7.10.5 → gam7-7.10.7}/src/gam/gdata/urlfetch.py +0 -0
  77. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/__init__.py +0 -0
  78. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/_auth.py +0 -0
  79. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/_helpers.py +0 -0
  80. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/channel.py +0 -0
  81. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/discovery.py +0 -0
  82. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
  83. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
  84. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
  85. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
  86. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/errors.py +0 -0
  87. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/http.py +0 -0
  88. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/mimeparse.py +0 -0
  89. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/model.py +0 -0
  90. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/schema.py +0 -0
  91. {gam7-7.10.5 → gam7-7.10.7}/src/gam/googleapiclient/version.py +0 -0
  92. {gam7-7.10.5 → gam7-7.10.7}/src/gam/iso8601/__init__.py +0 -0
  93. {gam7-7.10.5 → gam7-7.10.7}/src/gam/iso8601/iso8601.py +0 -0
  94. {gam7-7.10.5 → gam7-7.10.7}/src/gam/meet-v2beta.json +0 -0
  95. {gam7-7.10.5 → gam7-7.10.7}/src/gam/serviceaccountlookup-v1.json +0 -0
  96. {gam7-7.10.5 → gam7-7.10.7}/src/gam/six.py +0 -0
  97. {gam7-7.10.5 → gam7-7.10.7}/src/gam-install.sh +0 -0
  98. {gam7-7.10.5 → gam7-7.10.7}/src/gam-setup.bat +0 -0
  99. {gam7-7.10.5 → gam7-7.10.7}/src/gam.exe.manifest +0 -0
  100. {gam7-7.10.5 → gam7-7.10.7}/src/gam.py +0 -0
  101. {gam7-7.10.5 → gam7-7.10.7}/src/gam.spec +0 -0
  102. {gam7-7.10.5 → gam7-7.10.7}/src/gam.wxs +0 -0
  103. {gam7-7.10.5 → gam7-7.10.7}/src/license.rtf +0 -0
  104. {gam7-7.10.5 → gam7-7.10.7}/src/requirements-dev.txt +0 -0
  105. {gam7-7.10.5 → gam7-7.10.7}/src/requirements.txt +0 -0
  106. {gam7-7.10.5 → gam7-7.10.7}/src/setup.cfg +0 -0
  107. {gam7-7.10.5 → gam7-7.10.7}/src/setup.py +0 -0
  108. {gam7-7.10.5 → gam7-7.10.7}/src/tools/a_atleast_b.py +0 -0
  109. {gam7-7.10.5 → gam7-7.10.7}/src/tools/gen-wix-xml-filelist.py +0 -0
  110. {gam7-7.10.5 → gam7-7.10.7}/src/tools/mkGamRef.py +0 -0
  111. {gam7-7.10.5 → gam7-7.10.7}/src/tools/openssl.props +0 -0
  112. {gam7-7.10.5 → gam7-7.10.7}/src/version_info.txt.in +0 -0
  113. {gam7-7.10.5 → gam7-7.10.7}/wiki/00scratch.md +0 -0
  114. {gam7-7.10.5 → gam7-7.10.7}/wiki/Addresses.md +0 -0
  115. {gam7-7.10.5 → gam7-7.10.7}/wiki/Administrators.md +0 -0
  116. {gam7-7.10.5 → gam7-7.10.7}/wiki/Alert-Center.md +0 -0
  117. {gam7-7.10.5 → gam7-7.10.7}/wiki/Aliases.md +0 -0
  118. {gam7-7.10.5 → gam7-7.10.7}/wiki/Authorization.md +0 -0
  119. {gam7-7.10.5 → gam7-7.10.7}/wiki/BNF-Syntax.md +0 -0
  120. {gam7-7.10.5 → gam7-7.10.7}/wiki/Basic-Items.md +0 -0
  121. {gam7-7.10.5 → gam7-7.10.7}/wiki/Bulk-Processing.md +0 -0
  122. {gam7-7.10.5 → gam7-7.10.7}/wiki/CSV-Input-Filtering.md +0 -0
  123. {gam7-7.10.5 → gam7-7.10.7}/wiki/CSV-Output-Filtering.md +0 -0
  124. {gam7-7.10.5 → gam7-7.10.7}/wiki/CSV-Special-Characters.md +0 -0
  125. {gam7-7.10.5 → gam7-7.10.7}/wiki/Calendars-Access.md +0 -0
  126. {gam7-7.10.5 → gam7-7.10.7}/wiki/Calendars-Events.md +0 -0
  127. {gam7-7.10.5 → gam7-7.10.7}/wiki/Calendars.md +0 -0
  128. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chat-Bot.md +0 -0
  129. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chrome-AUE-Counts.md +0 -0
  130. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
  131. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chrome-Installed-Apps.md +0 -0
  132. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
  133. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chrome-Policies.md +0 -0
  134. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chrome-Printers.md +0 -0
  135. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chrome-Profile-Management.md +0 -0
  136. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chrome-Version-Counts.md +0 -0
  137. {gam7-7.10.5 → gam7-7.10.7}/wiki/Chrome-Version-History.md +0 -0
  138. {gam7-7.10.5 → gam7-7.10.7}/wiki/ChromeOS-Devices.md +0 -0
  139. {gam7-7.10.5 → gam7-7.10.7}/wiki/Classroom-Courses.md +0 -0
  140. {gam7-7.10.5 → gam7-7.10.7}/wiki/Classroom-Guardians.md +0 -0
  141. {gam7-7.10.5 → gam7-7.10.7}/wiki/Classroom-Invitations.md +0 -0
  142. {gam7-7.10.5 → gam7-7.10.7}/wiki/Classroom-Membership.md +0 -0
  143. {gam7-7.10.5 → gam7-7.10.7}/wiki/Cloud-Channel.md +0 -0
  144. {gam7-7.10.5 → gam7-7.10.7}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
  145. {gam7-7.10.5 → gam7-7.10.7}/wiki/Cloud-Identity-Groups.md +0 -0
  146. {gam7-7.10.5 → gam7-7.10.7}/wiki/Cloud-Identity-Policies.md +0 -0
  147. {gam7-7.10.5 → gam7-7.10.7}/wiki/Cloud-Storage.md +0 -0
  148. {gam7-7.10.5 → gam7-7.10.7}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
  149. {gam7-7.10.5 → gam7-7.10.7}/wiki/Collections-of-Items.md +0 -0
  150. {gam7-7.10.5 → gam7-7.10.7}/wiki/Collections-of-Users.md +0 -0
  151. {gam7-7.10.5 → gam7-7.10.7}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
  152. {gam7-7.10.5 → gam7-7.10.7}/wiki/Command-Line-Parsing.md +0 -0
  153. {gam7-7.10.5 → gam7-7.10.7}/wiki/Command-Logging-Progress.md +0 -0
  154. {gam7-7.10.5 → gam7-7.10.7}/wiki/Context-Aware-Access-Levels.md +0 -0
  155. {gam7-7.10.5 → gam7-7.10.7}/wiki/Customer.md +0 -0
  156. {gam7-7.10.5 → gam7-7.10.7}/wiki/Domain-People-Contacts-Profiles.md +0 -0
  157. {gam7-7.10.5 → gam7-7.10.7}/wiki/Domain-SharedContacts.md +0 -0
  158. {gam7-7.10.5 → gam7-7.10.7}/wiki/Domains-Verification.md +0 -0
  159. {gam7-7.10.5 → gam7-7.10.7}/wiki/Domains.md +0 -0
  160. {gam7-7.10.5 → gam7-7.10.7}/wiki/Downloads-Installs.md +0 -0
  161. {gam7-7.10.5 → gam7-7.10.7}/wiki/Drive-File-Selection.md +0 -0
  162. {gam7-7.10.5 → gam7-7.10.7}/wiki/Drive-Items.md +0 -0
  163. {gam7-7.10.5 → gam7-7.10.7}/wiki/Drive-REST-API-v3.md +0 -0
  164. {gam7-7.10.5 → gam7-7.10.7}/wiki/Email-Audit-Monitor.md +0 -0
  165. {gam7-7.10.5 → gam7-7.10.7}/wiki/Find-File-Owner.md +0 -0
  166. {gam7-7.10.5 → gam7-7.10.7}/wiki/GAM-Public-Chat-Room.md +0 -0
  167. {gam7-7.10.5 → gam7-7.10.7}/wiki/GAM-Return-Codes.md +0 -0
  168. {gam7-7.10.5 → gam7-7.10.7}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
  169. {gam7-7.10.5 → gam7-7.10.7}/wiki/GAM7-on-Android-Devices.md +0 -0
  170. {gam7-7.10.5 → gam7-7.10.7}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
  171. {gam7-7.10.5 → gam7-7.10.7}/wiki/Google-Data-Transfers.md +0 -0
  172. {gam7-7.10.5 → gam7-7.10.7}/wiki/Google-Network-Addresses.md +0 -0
  173. {gam7-7.10.5 → gam7-7.10.7}/wiki/Groups-Membership.md +0 -0
  174. {gam7-7.10.5 → gam7-7.10.7}/wiki/Groups.md +0 -0
  175. {gam7-7.10.5 → gam7-7.10.7}/wiki/HTTPS-Proxy.md +0 -0
  176. {gam7-7.10.5 → gam7-7.10.7}/wiki/Home.md +0 -0
  177. {gam7-7.10.5 → gam7-7.10.7}/wiki/How-to-Install-GAM7.md +0 -0
  178. {gam7-7.10.5 → gam7-7.10.7}/wiki/How-to-Uninstall-GAM7.md +0 -0
  179. {gam7-7.10.5 → gam7-7.10.7}/wiki/How-to-Update-GAM7.md +0 -0
  180. {gam7-7.10.5 → gam7-7.10.7}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
  181. {gam7-7.10.5 → gam7-7.10.7}/wiki/Inbound-SSO.md +0 -0
  182. {gam7-7.10.5 → gam7-7.10.7}/wiki/Install-GAM-as-Python-Library.md +0 -0
  183. {gam7-7.10.5 → gam7-7.10.7}/wiki/Licenses.md +0 -0
  184. {gam7-7.10.5 → gam7-7.10.7}/wiki/List-Items.md +0 -0
  185. {gam7-7.10.5 → gam7-7.10.7}/wiki/List.md +0 -0
  186. {gam7-7.10.5 → gam7-7.10.7}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
  187. {gam7-7.10.5 → gam7-7.10.7}/wiki/Mobile-Devices.md +0 -0
  188. {gam7-7.10.5 → gam7-7.10.7}/wiki/Organizational-Units.md +0 -0
  189. {gam7-7.10.5 → gam7-7.10.7}/wiki/Other-Resources.md +0 -0
  190. {gam7-7.10.5 → gam7-7.10.7}/wiki/Permission-Matches.md +0 -0
  191. {gam7-7.10.5 → gam7-7.10.7}/wiki/Python-Regular-Expressions.md +0 -0
  192. {gam7-7.10.5 → gam7-7.10.7}/wiki/README.md +0 -0
  193. {gam7-7.10.5 → gam7-7.10.7}/wiki/Rclone.md +0 -0
  194. {gam7-7.10.5 → gam7-7.10.7}/wiki/Reports.md +0 -0
  195. {gam7-7.10.5 → gam7-7.10.7}/wiki/Reseller.md +0 -0
  196. {gam7-7.10.5 → gam7-7.10.7}/wiki/Resources.md +0 -0
  197. {gam7-7.10.5 → gam7-7.10.7}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
  198. {gam7-7.10.5 → gam7-7.10.7}/wiki/SSL-Root-CA-Certificates.md +0 -0
  199. {gam7-7.10.5 → gam7-7.10.7}/wiki/Schemas.md +0 -0
  200. {gam7-7.10.5 → gam7-7.10.7}/wiki/Scripts.md +0 -0
  201. {gam7-7.10.5 → gam7-7.10.7}/wiki/Send-Email.md +0 -0
  202. {gam7-7.10.5 → gam7-7.10.7}/wiki/Shared-Drives.md +0 -0
  203. {gam7-7.10.5 → gam7-7.10.7}/wiki/Sites.md +0 -0
  204. {gam7-7.10.5 → gam7-7.10.7}/wiki/Tag-Replace.md +0 -0
  205. {gam7-7.10.5 → gam7-7.10.7}/wiki/Todrive.md +0 -0
  206. {gam7-7.10.5 → gam7-7.10.7}/wiki/Unmanaged-Accounts.md +0 -0
  207. {gam7-7.10.5 → gam7-7.10.7}/wiki/Upgrade-Benefits.md +0 -0
  208. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Analytics-Admin.md +0 -0
  209. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Application-Specific-Passwords.md +0 -0
  210. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Backup-Verification-Codes.md +0 -0
  211. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Calendars-Access.md +0 -0
  212. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Calendars-Events.md +0 -0
  213. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Calendars.md +0 -0
  214. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Chat.md +0 -0
  215. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Classification-Labels.md +0 -0
  216. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Classroom-Profile.md +0 -0
  217. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Contacts-Delegates.md +0 -0
  218. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Contacts.md +0 -0
  219. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Deprovision.md +0 -0
  220. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Activity-Settings.md +0 -0
  221. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Cleanup.md +0 -0
  222. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Comments.md +0 -0
  223. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Copy-Move.md +0 -0
  224. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Files-Display.md +0 -0
  225. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Files-Manage.md +0 -0
  226. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Orphans.md +0 -0
  227. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Ownership.md +0 -0
  228. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Permissions.md +0 -0
  229. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Query.md +0 -0
  230. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Revisions.md +0 -0
  231. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Shortcuts.md +0 -0
  232. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Drive-Transfer.md +0 -0
  233. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Forms.md +0 -0
  234. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-CSE.md +0 -0
  235. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-Delegates.md +0 -0
  236. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-Filters.md +0 -0
  237. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-Forwarding.md +0 -0
  238. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-Labels.md +0 -0
  239. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-Messages-Threads.md +0 -0
  240. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-Profile.md +0 -0
  241. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-S-MIME.md +0 -0
  242. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
  243. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Gmail-Settings.md +0 -0
  244. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Group-Membership.md +0 -0
  245. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Keep-Notes.md +0 -0
  246. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Looker-Studio.md +0 -0
  247. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Meet.md +0 -0
  248. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-People-Contacts-Profiles.md +0 -0
  249. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Photo.md +0 -0
  250. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Profile-Photo.md +0 -0
  251. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Profile-Sharing.md +0 -0
  252. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Shared-Drives.md +0 -0
  253. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Signout-Turnoff2SV.md +0 -0
  254. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Spreadsheets.md +0 -0
  255. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Tasks.md +0 -0
  256. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-Tokens.md +0 -0
  257. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users-YouTube.md +0 -0
  258. {gam7-7.10.5 → gam7-7.10.7}/wiki/Users.md +0 -0
  259. {gam7-7.10.5 → gam7-7.10.7}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
  260. {gam7-7.10.5 → gam7-7.10.7}/wiki/Vault-Takeout.md +0 -0
  261. {gam7-7.10.5 → gam7-7.10.7}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
  262. {gam7-7.10.5 → gam7-7.10.7}/wiki/_Sidebar.md +0 -0
  263. {gam7-7.10.5 → gam7-7.10.7}/wiki/gam.cfg.md +0 -0
  264. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-AdminSettingsExamples.md +0 -0
  265. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Android-Installation.md +0 -0
  266. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-BulkOperations.md +0 -0
  267. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-CalendarExamples.md +0 -0
  268. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Chat-Bot.md +0 -0
  269. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Chrome-Browser-Management.md +0 -0
  270. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Chrome-OS-Installation.md +0 -0
  271. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Chrome-Policy-Settings.md +0 -0
  272. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Cloud-Identity-Groups.md +0 -0
  273. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
  274. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Command-Reference-Calendars.md +0 -0
  275. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Command-Reference-Definitions.md +0 -0
  276. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Command-Reference-Drive.md +0 -0
  277. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Command-Reference-Email.md +0 -0
  278. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
  279. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Command-Reference-Groups.md +0 -0
  280. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Command-Reference-Users.md +0 -0
  281. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Context-Aware-Access-Levels.md +0 -0
  282. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
  283. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-CreatingClientSecretsFile.md +0 -0
  284. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Custom-Schemas.md +0 -0
  285. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Data-Transfers.md +0 -0
  286. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-DomainVerification.md +0 -0
  287. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-ExamplesAccountAuditing.md +0 -0
  288. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-ExamplesCSV.md +0 -0
  289. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-ExamplesEmailSettings.md +0 -0
  290. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-ExamplesOrganizations.md +0 -0
  291. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-GAM-Discussion-Group.md +0 -0
  292. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
  293. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-GAM-options-files.md +0 -0
  294. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
  295. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-GAM3CSVListings.md +0 -0
  296. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-GAM3DirectoryCommands.md +0 -0
  297. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-GAM3GroupSettings.md +0 -0
  298. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-GAM7-FAQ.md +0 -0
  299. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
  300. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-GoogleDriveManagement.md +0 -0
  301. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
  302. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Home.md +0 -0
  303. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
  304. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Inbound-SSO-Settings.md +0 -0
  305. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-LicenseExamples.md +0 -0
  306. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Managing-Admins.md +0 -0
  307. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
  308. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Managing-Devices.md +0 -0
  309. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Managing-Google-Classroom.md +0 -0
  310. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-OAuthKeyManagement.md +0 -0
  311. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Printers.md +0 -0
  312. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-ResellerCommands.md +0 -0
  313. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
  314. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-SecurityExamples.md +0 -0
  315. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-UnmanagedUsersExamples.md +0 -0
  316. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Use-a-Yubikey.md +0 -0
  317. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
  318. {gam7-7.10.5 → gam7-7.10.7}/wiki/l-_Footer.md +0 -0
@@ -457,10 +457,6 @@ jobs:
457
457
  - name: Custom wheels for Win arm64
458
458
  if: runner.os == 'Windows' && runner.arch == 'ARM64'
459
459
  run: |
460
- latest_lxml_whl=$(curl https://api.github.com/repos/GAM-team/lxml-wheel/releases/latest -s | jq -r .assets.[0].browser_download_url)
461
- echo "Downloading ${latest_lxml_whl}..."
462
- curl -O -L "$latest_lxml_whl"
463
- "$PYTHON" -m pip install lxml*.whl
464
460
  latest_crypt_whl=$(curl https://api.github.com/repos/jay0lee/cryptography/releases/latest -s | jq -r .assets.[0].browser_download_url)
465
461
  echo "Downloading ${latest_crypt_whl}..."
466
462
  curl -O -L "$latest_crypt_whl"
@@ -810,7 +806,7 @@ jobs:
810
806
  echo "Created shared drive ${driveid}"
811
807
  $gam create user $newuser firstname GHA lastname $JID displayname "Github Actions ${JID}" password random recoveryphone 12125121110 recoveryemail jay0lee@gmail.com gha.jid $JID languages en+,en-GB- ou "${newou}"
812
808
  $gam user $newuser add license workspaceenterpriseplus
813
- $gam user $newuser update photo https://dummyimage.com/400x600/000/fff
809
+ $gam user $newuser update photo https://dummyimage.com/98x98/000/fff.jpg
814
810
  $gam user $newuser get photo
815
811
  $gam user $newuser delete photo
816
812
  $gam create alias $newalias user $newuser
@@ -920,7 +916,7 @@ jobs:
920
916
  $gam config enable_dasa true save
921
917
  $gam print users query "gha.jid=$JID" | $gam csv - gam delete user ~primaryEmail || if [ $? != 50 ]; then exit $?; fi # expect a 50 return code (vault hold on user)
922
918
  $gam print mobile
923
- $gam print devices
919
+ $gam print devices clientstates
924
920
  $gam print browsers
925
921
  $gam print cros allfields orderby serialnumber
926
922
  $gam show crostelemetry storagepercentonly
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.10.5
3
+ Version: 7.10.7
4
4
  Summary: CLI tool to manage Google Workspace
5
5
  Project-URL: Homepage, https://github.com/GAM-team/GAM
6
6
  Project-URL: Issues, https://github.com/GAM-team/GAM/issues
@@ -279,6 +279,7 @@ If an item contains spaces, it should be surrounded by ".
279
279
  geminiedu | 1010470004 | Gemini Education |
280
280
  geminiedupremium| 1010470005 | Gemini Education Premium |
281
281
  geminient| duetai | 1010470001 | Gemini Enterprise |
282
+ geminiultra | 1010470008 | Google AI Ultra for Business |
282
283
  gsuitebasic | gafb | gafw | basic | Google-Apps-For-Business |
283
284
  gsuitebusiness | gau | gsb | unlimited | Google-Apps-Unlimited |
284
285
  gsuitebusinessarchived | gsbau | businessarchived | 1010340002 | Google Workspace Business - Archived User |
@@ -4124,6 +4125,7 @@ gam print devices [todrive <ToDriveAttribute>*]
4124
4125
  [orderby <DeviceOrderByFieldName> [ascending|descending]]
4125
4126
  [all|company|personal|nocompanydevices|nopersonaldevices]
4126
4127
  [nodeviceusers|oneuserperrow]
4128
+ [clientstates]
4127
4129
  [formatjson [quotechar <Character>]]
4128
4130
  [showitemcountonly]
4129
4131
 
@@ -1,6 +1,19 @@
1
+ 7.10.07
2
+
3
+ Updated `gam <UserTypeEntity> copy|move drivefile` to hanndle additional instances of
4
+ the `cannotModifyInheritedPermission` error.
5
+
6
+ Added license SKU `Google AI Ultra for Business`
7
+ * ProductID - 101047
8
+ * SKUID - 1010470008 | geminiultra
9
+
10
+ 7.10.06
11
+
12
+ Added option `clientstates` to `gam print devices` to include client states in device output.
13
+
1
14
  7.10.05
2
15
 
3
- Google renamed an error: cannotModifyInheritedTeamDrivePermission became cannotModifyInheritedPermission.
16
+ Google renamed an error: `cannotModifyInheritedTeamDrivePermission` became `cannotModifyInheritedPermission`.
4
17
  GAM will now handle the new error.
5
18
 
6
19
  7.10.04
@@ -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.10.05'
28
+ __version__ = '7.10.07'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -8864,6 +8864,7 @@ class CSVPrintFile():
8864
8864
  GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
8865
8865
  GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
8866
8866
  GAPI.fileOrganizerOnNonTeamDriveNotSupported,
8867
+ GAPI.cannotModifyInheritedPermission,
8867
8868
  GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility,
8868
8869
  GAPI.invalidSharingRequest, GAPI.fileNeverWritable, GAPI.abusiveContentRestriction) as e:
8869
8870
  entityActionFailedWarning([Ent.USER, user, Ent.SPREADSHEET, title,
@@ -29508,6 +29509,7 @@ def getCIDeviceEntity():
29508
29509
  return ([], ci, customer, False)
29509
29510
 
29510
29511
  DEVICE_USERNAME_PATTERN = re.compile(r'^(devices/.+)/(deviceUsers/.+)$')
29512
+ DEVICE_USERNAME_CLIENT_STATE_PATTERN = re.compile(r'^(devices/.+/deviceUsers/.+)/clientStates/(.+)$')
29511
29513
  DEVICE_USERNAME_FORMAT_REQUIRED = 'devices/<String>/deviceUsers/<String>'
29512
29514
  def getCIDeviceUserEntity():
29513
29515
  ci = buildGAPICIDeviceServiceObject()
@@ -29956,6 +29958,7 @@ DEVICE_ORDERBY_CHOICE_MAP = {
29956
29958
  # [orderby <DeviceOrderByFieldName> [ascending|descending]]
29957
29959
  # [all|company|personal|nocompanydevices|nopersonaldevices]
29958
29960
  # [nodeviceusers|oneuserperrow]
29961
+ # [clientstates]
29959
29962
  # [formatjson [quotechar <Character>]]
29960
29963
  # [showitemcountonly]
29961
29964
  def doPrintCIDevices():
@@ -29971,6 +29974,7 @@ def doPrintCIDevices():
29971
29974
  queries = [None]
29972
29975
  view, entityType = DEVICE_VIEW_CHOICE_MAP['all']
29973
29976
  getDeviceUsers = True
29977
+ getClientStates = False
29974
29978
  oneUserPerRow = showItemCountOnly = False
29975
29979
  while Cmd.ArgumentsRemaining():
29976
29980
  myarg = getArgument()
@@ -29986,6 +29990,8 @@ def doPrintCIDevices():
29986
29990
  view, entityType = DEVICE_VIEW_CHOICE_MAP[myarg]
29987
29991
  elif myarg == 'nodeviceusers':
29988
29992
  getDeviceUsers = False
29993
+ elif myarg == 'clientstates':
29994
+ getClientStates = True
29989
29995
  elif myarg in {'oneuserperrow', 'oneitemperrow'}:
29990
29996
  getDeviceUsers = oneUserPerRow = True
29991
29997
  elif getFieldsList(myarg, DEVICE_FIELDS_CHOICE_MAP, fieldsList, initialField='name'):
@@ -30004,14 +30010,16 @@ def doPrintCIDevices():
30004
30010
  if FJQC.formatJSON and oneUserPerRow:
30005
30011
  csvPF.SetJSONTitles(['name', 'user.name', 'JSON'])
30006
30012
  itemCount = 0
30013
+ throwReasons = [GAPI.INVALID, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED]
30014
+ retryReasons = GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS
30007
30015
  for query in queries:
30008
30016
  printGettingAllAccountEntities(entityType, query)
30009
30017
  pageMessage = getPageMessage()
30010
30018
  try:
30011
30019
  devices = callGAPIpages(ci.devices(), 'list', 'devices',
30012
30020
  pageMessage=pageMessage,
30013
- throwReasons=[GAPI.INVALID, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
30014
- retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
30021
+ throwReasons=throwReasons,
30022
+ retryReasons=retryReasons,
30015
30023
  customer=customer, filter=query,
30016
30024
  orderBy=OBY.orderBy, view=view, fields=fields, pageSize=100)
30017
30025
  if showItemCountOnly:
@@ -30030,10 +30038,27 @@ def doPrintCIDevices():
30030
30038
  try:
30031
30039
  deviceUsers = callGAPIpages(ci.devices().deviceUsers(), 'list', 'deviceUsers',
30032
30040
  pageMessage=pageMessage,
30033
- throwReasons=[GAPI.INVALID, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
30034
- retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
30041
+ throwReasons=throwReasons,
30042
+ retryReasons=retryReasons,
30035
30043
  customer=customer, filter=query, parent=parent,
30036
30044
  orderBy=OBY.orderBy, fields=userFields, pageSize=20)
30045
+ if getClientStates:
30046
+ printGettingAllAccountEntities(Ent.DEVICE_USER_CLIENT_STATE, None)
30047
+ states = callGAPIpages(ci.devices().deviceUsers().clientStates(), 'list', 'clientStates',
30048
+ pageMessage=pageMessage,
30049
+ throwReasons=throwReasons,
30050
+ retryReasons=retryReasons,
30051
+ customer=customer, filter=query, parent='devices/-/deviceUsers/-')
30052
+ for state in states:
30053
+ mg = DEVICE_USERNAME_CLIENT_STATE_PATTERN.match(state['name'])
30054
+ if mg:
30055
+ du = mg.group(1)
30056
+ state_name = mg.group(2)
30057
+ for i in range(len(deviceUsers)):
30058
+ if deviceUsers[i]['name'] == du:
30059
+ deviceUsers[i].setdefault('clientstates', {})
30060
+ deviceUsers[i]['clientstates'][state_name] = state
30061
+ break
30037
30062
  for deviceUser in deviceUsers:
30038
30063
  mg = DEVICE_USERNAME_PATTERN.match(deviceUser['name'])
30039
30064
  if mg:
@@ -59498,6 +59523,7 @@ def _copyPermissions(drive, user, i, count, j, jcount,
59498
59523
  GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
59499
59524
  GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
59500
59525
  GAPI.fileOrganizerOnNonTeamDriveNotSupported,
59526
+ GAPI.cannotModifyInheritedPermission,
59501
59527
  GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility, GAPI.abusiveContentRestriction) as e:
59502
59528
  entityActionFailedWarning(kvList, str(e), k, kcount)
59503
59529
  break
@@ -60605,6 +60631,7 @@ def _updateMoveFilePermissions(drive, user, i, count,
60605
60631
  GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
60606
60632
  GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
60607
60633
  GAPI.fileOrganizerOnNonTeamDriveNotSupported,
60634
+ GAPI.cannotModifyInheritedPermission,
60608
60635
  GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility, GAPI.abusiveContentRestriction) as e:
60609
60636
  entityActionFailedWarning(kvList, str(e), k, kcount)
60610
60637
  break
@@ -63859,6 +63886,7 @@ def createDriveFileACL(users, useDomainAdminAccess=False):
63859
63886
  GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
63860
63887
  GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
63861
63888
  GAPI.fileOrganizerOnNonTeamDriveNotSupported,
63889
+ GAPI.cannotModifyInheritedPermission,
63862
63890
  GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility,
63863
63891
  GAPI.invalidSharingRequest, GAPI.fileNeverWritable, GAPI.abusiveContentRestriction) as e:
63864
63892
  entityActionFailedWarning([Ent.USER, user, entityType, fileName, Ent.PERMISSION_ID, permissionId], str(e), j, jcount)
@@ -64094,6 +64122,7 @@ def createDriveFilePermissions(users, useDomainAdminAccess=False):
64094
64122
  GAPI.fileOrganizerNotYetEnabledForThisTeamDrive,
64095
64123
  GAPI.fileOrganizerOnFoldersInSharedDriveOnly,
64096
64124
  GAPI.fileOrganizerOnNonTeamDriveNotSupported,
64125
+ GAPI.cannotModifyInheritedPermission,
64097
64126
  GAPI.teamDrivesFolderSharingNotSupported, GAPI.invalidLinkVisibility,
64098
64127
  GAPI.invalidSharingRequest, GAPI.fileNeverWritable, GAPI.abusiveContentRestriction,
64099
64128
  GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
@@ -229,6 +229,7 @@ DRIVE3_CREATE_ACL_THROW_REASONS = [BAD_REQUEST, INVALID, INVALID_SHARING_REQUEST
229
229
  FILE_ORGANIZER_NOT_YET_ENABLED_FOR_THIS_TEAMDRIVE,
230
230
  FILE_ORGANIZER_ON_FOLDERS_IN_SHARED_DRIVE_ONLY,
231
231
  FILE_ORGANIZER_ON_NON_TEAMDRIVE_NOT_SUPPORTED,
232
+ CANNOT_MODIFY_INHERITED_PERMISSION,
232
233
  TEAMDRIVES_FOLDER_SHARING_NOT_SUPPORTED, INVALID_LINK_VISIBILITY, ABUSIVE_CONTENT_RESTRICTION]
233
234
  DRIVE3_GET_ACL_REASONS = DRIVE_USER_THROW_REASONS+[FILE_NOT_FOUND, FORBIDDEN, INTERNAL_ERROR,
234
235
  INSUFFICIENT_ADMINISTRATOR_PRIVILEGES, INSUFFICIENT_FILE_PERMISSIONS,
@@ -107,6 +107,8 @@ _SKUS = {
107
107
  'product': '101047', 'aliases': ['aisecurity'], 'displayName': 'AI Security'},
108
108
  '1010470007': {
109
109
  'product': '101047', 'aliases': ['aimeetingsandmessaging'], 'displayName': 'AI Meetings and Messaging'},
110
+ '1010470008': {
111
+ 'product': '101047', 'aliases': ['geminiultra'], 'displayName': 'Google AI Ultra for Business'},
110
112
  '1010490001': {
111
113
  'product': '101049', 'aliases': ['eeu'], 'displayName': 'Endpoint Education Upgrade'},
112
114
  '1010500001': {
@@ -211,6 +211,7 @@ gam print devices [todrive <ToDriveAttribute>*]
211
211
  [orderby <DeviceOrderByFieldName> [ascending|descending]]
212
212
  [all|company|personal|nocompanydevices|nopersonaldevices]
213
213
  [nodeviceusers|oneuserperrow]
214
+ [clientstates]
214
215
  [formatjson [quotechar <Character>]]
215
216
  ```
216
217
  By default, all devices are displayed; use the query options to limit the display.
@@ -10,6 +10,15 @@ 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.10.06
14
+
15
+ Added option `clientstates` to `gam print devices` to include client states in device output.
16
+
17
+ ### 7.10.05
18
+
19
+ Google renamed an error: cannotModifyInheritedTeamDrivePermission became cannotModifyInheritedPermission.
20
+ GAM will now handle the new error.
21
+
13
22
  ### 7.10.04
14
23
 
15
24
  Updated `gam report <ActivityApplicationName>` to accept accept application names as defined
@@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt.
251
251
  admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
252
252
  admin@server:/Users/admin$ gam version
253
253
  WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
254
- GAM 7.10.04 - https://github.com/GAM-team/GAM - pyinstaller
254
+ GAM 7.10.06 - https://github.com/GAM-team/GAM - pyinstaller
255
255
  GAM Team <google-apps-manager@googlegroups.com>
256
256
  Python 3.13.5 64-bit final
257
257
  MacOS Sequoia 15.5 x86_64
@@ -989,7 +989,7 @@ writes the credentials into the file oauth2.txt.
989
989
  C:\>del C:\GAMConfig\oauth2.txt
990
990
  C:\>gam version
991
991
  WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
992
- GAM 7.10.04 - https://github.com/GAM-team/GAM - pythonsource
992
+ GAM 7.10.06 - https://github.com/GAM-team/GAM - pythonsource
993
993
  GAM Team <google-apps-manager@googlegroups.com>
994
994
  Python 3.13.5 64-bit final
995
995
  Windows-10-10.0.17134 AMD64
@@ -1,19 +1,12 @@
1
1
  # Using GAM7 with a delegated admin service account
2
- - [Thanks](#thanks)
3
2
  - [Introduction](#introduction)
4
3
  - [Advantages](#advantages)
5
4
  - [Disadvantages](#disadvantages)
6
5
  - [Setup Steps](#setup-steps)
7
6
 
8
- ## Thanks
9
-
10
- Thanks to Jay Lee for the original version of this document.
11
-
12
7
  ## Introduction
13
8
  Delegated admin service accounts (DASA) are regular [GCP service accounts](https://cloud.google.com/iam/docs/service-accounts#what_are_service_accounts) that are granted a Workspace [delegated admin role](https://support.google.com/a/answer/33325). Service accounts have an email address like `gam-project-xuw-sp1-c4b@gam-project-xuw-sp1-c4b.iam.gserviceaccount.com` and are not part of a Workspace or Cloud Identity domain even if they are owned by a project in the domain’s organization. Service accounts cannot login to Google web services interactively, they are only able to call Google APIs.
14
9
 
15
- GAM7 version 6.50.00 or higher is required.
16
-
17
10
  ## Advantages
18
11
  * DASA accounts don’t require a Workspace or Cloud Identity license.
19
12
  * DASA accounts don’t have a password login that can be phished or captured, they use [RSA private keys](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) to sign authentication requests which makes them very secure. You should however [rotate the key](https://jaylee.us/qwm) on a regular basis and keep it safe and secured!
@@ -3,7 +3,7 @@
3
3
  Print the current version of Gam with details
4
4
  ```
5
5
  gam version
6
- GAM 7.10.04 - https://github.com/GAM-team/GAM - pyinstaller
6
+ GAM 7.10.06 - https://github.com/GAM-team/GAM - pyinstaller
7
7
  GAM Team <google-apps-manager@googlegroups.com>
8
8
  Python 3.13.5 64-bit final
9
9
  MacOS Sequoia 15.5 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.10.04 - https://github.com/GAM-team/GAM - pyinstaller
18
+ GAM 7.10.06 - https://github.com/GAM-team/GAM - pyinstaller
19
19
  GAM Team <google-apps-manager@googlegroups.com>
20
20
  Python 3.13.5 64-bit final
21
21
  MacOS Sequoia 15.5 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.10.04 - https://github.com/GAM-team/GAM - pyinstaller
30
+ GAM 7.10.06 - https://github.com/GAM-team/GAM - pyinstaller
31
31
  GAM Team <google-apps-manager@googlegroups.com>
32
32
  Python 3.13.5 64-bit final
33
33
  MacOS Sequoia 15.5 x86_64
@@ -64,7 +64,7 @@ MacOS High Sierra 10.13.6 x86_64
64
64
  Path: /Users/Admin/bin/gam7
65
65
  Version Check:
66
66
  Current: 5.35.08
67
- Latest: 7.10.04
67
+ Latest: 7.10.06
68
68
  echo $?
69
69
  1
70
70
  ```
@@ -72,7 +72,7 @@ echo $?
72
72
  Print the current version number without details
73
73
  ```
74
74
  gam version simple
75
- 7.10.04
75
+ 7.10.06
76
76
  ```
77
77
  In Linux/MacOS you can do:
78
78
  ```
@@ -82,7 +82,7 @@ echo $VER
82
82
  Print the current version of Gam and address of this Wiki
83
83
  ```
84
84
  gam help
85
- GAM 7.10.04 - https://github.com/GAM-team/GAM
85
+ GAM 7.10.06 - https://github.com/GAM-team/GAM
86
86
  GAM Team <google-apps-manager@googlegroups.com>
87
87
  Python 3.13.5 64-bit final
88
88
  MacOS Sequoia 15.5 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