gam7 7.7.15__tar.gz → 7.7.17__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.7.15 → gam7-7.7.17}/PKG-INFO +1 -1
  2. {gam7-7.7.15 → gam7-7.7.17}/src/GamCommands.txt +4 -1
  3. {gam7-7.7.15 → gam7-7.7.17}/src/GamUpdate.txt +12 -1
  4. {gam7-7.7.15 → gam7-7.7.17}/src/gam/__init__.py +65 -26
  5. {gam7-7.7.15 → gam7-7.7.17}/wiki/ChromeOS-Devices.md +3 -0
  6. {gam7-7.7.15 → gam7-7.7.17}/wiki/GamUpdates.md +14 -0
  7. {gam7-7.7.15 → gam7-7.7.17}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
  8. {gam7-7.7.15 → gam7-7.7.17}/wiki/Vault-Takeout.md +13 -9
  9. {gam7-7.7.15 → gam7-7.7.17}/wiki/Version-and-Help.md +6 -6
  10. {gam7-7.7.15 → gam7-7.7.17}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
  11. {gam7-7.7.15 → gam7-7.7.17}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
  12. {gam7-7.7.15 → gam7-7.7.17}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
  13. {gam7-7.7.15 → gam7-7.7.17}/.github/ISSUE_TEMPLATE.txt +0 -0
  14. {gam7-7.7.15 → gam7-7.7.17}/.github/actions/decrypt.sh +0 -0
  15. {gam7-7.7.15 → gam7-7.7.17}/.github/actions/entitlements.plist +0 -0
  16. {gam7-7.7.15 → gam7-7.7.17}/.github/actions/package_exclusions.txt +0 -0
  17. {gam7-7.7.15 → gam7-7.7.17}/.github/stale.yml +0 -0
  18. {gam7-7.7.15 → gam7-7.7.17}/.github/workflows/build.yml +0 -0
  19. {gam7-7.7.15 → gam7-7.7.17}/.github/workflows/codeql-analysis.yml +0 -0
  20. {gam7-7.7.15 → gam7-7.7.17}/.github/workflows/get-cacerts.yml +0 -0
  21. {gam7-7.7.15 → gam7-7.7.17}/.github/workflows/pushwiki.yml +0 -0
  22. {gam7-7.7.15 → gam7-7.7.17}/.github/workflows/pypi.yml +0 -0
  23. {gam7-7.7.15 → gam7-7.7.17}/.pre-commit-config.yaml +0 -0
  24. {gam7-7.7.15 → gam7-7.7.17}/LICENSE +0 -0
  25. {gam7-7.7.15 → gam7-7.7.17}/README.md +0 -0
  26. {gam7-7.7.15 → gam7-7.7.17}/pyproject.toml +0 -0
  27. {gam7-7.7.15 → gam7-7.7.17}/src/.gitignore +0 -0
  28. {gam7-7.7.15 → gam7-7.7.17}/src/LICENSE +0 -0
  29. {gam7-7.7.15 → gam7-7.7.17}/src/cacerts.pem +0 -0
  30. {gam7-7.7.15 → gam7-7.7.17}/src/callgam.py +0 -0
  31. {gam7-7.7.15 → gam7-7.7.17}/src/gam/__main__.py +0 -0
  32. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/__init__.py +0 -0
  33. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/auth.py +0 -0
  34. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/client.py +0 -0
  35. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/core.py +0 -0
  36. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/data.py +0 -0
  37. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/http.py +0 -0
  38. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/http_core.py +0 -0
  39. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/http_interface.py +0 -0
  40. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/mock_http.py +0 -0
  41. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/mock_http_core.py +0 -0
  42. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/mock_service.py +0 -0
  43. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/service.py +0 -0
  44. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/token_store.py +0 -0
  45. {gam7-7.7.15 → gam7-7.7.17}/src/gam/atom/url.py +0 -0
  46. {gam7-7.7.15 → gam7-7.7.17}/src/gam/cacerts.pem +0 -0
  47. {gam7-7.7.15 → gam7-7.7.17}/src/gam/cbcm-v1.1beta1.json +0 -0
  48. {gam7-7.7.15 → gam7-7.7.17}/src/gam/contactdelegation-v1.json +0 -0
  49. {gam7-7.7.15 → gam7-7.7.17}/src/gam/datastudio-v1.json +0 -0
  50. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/__init__.py +0 -0
  51. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glaction.py +0 -0
  52. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glapi.py +0 -0
  53. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glcfg.py +0 -0
  54. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glclargs.py +0 -0
  55. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glentity.py +0 -0
  56. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glgapi.py +0 -0
  57. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glgdata.py +0 -0
  58. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glglobals.py +0 -0
  59. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glindent.py +0 -0
  60. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glmsgs.py +0 -0
  61. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glskus.py +0 -0
  62. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/gluprop.py +0 -0
  63. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/glverlibs.py +0 -0
  64. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gamlib/yubikey.py +0 -0
  65. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/__init__.py +0 -0
  66. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/alt/__init__.py +0 -0
  67. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/alt/app_engine.py +0 -0
  68. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/alt/appengine.py +0 -0
  69. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/apps/__init__.py +0 -0
  70. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/apps/audit/__init__.py +0 -0
  71. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/apps/audit/service.py +0 -0
  72. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/apps/contacts/__init__.py +0 -0
  73. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/apps/contacts/service.py +0 -0
  74. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/apps/service.py +0 -0
  75. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/service.py +0 -0
  76. {gam7-7.7.15 → gam7-7.7.17}/src/gam/gdata/urlfetch.py +0 -0
  77. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/__init__.py +0 -0
  78. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/_auth.py +0 -0
  79. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/_helpers.py +0 -0
  80. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/channel.py +0 -0
  81. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/discovery.py +0 -0
  82. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
  83. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
  84. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
  85. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
  86. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/errors.py +0 -0
  87. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/http.py +0 -0
  88. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/mimeparse.py +0 -0
  89. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/model.py +0 -0
  90. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/schema.py +0 -0
  91. {gam7-7.7.15 → gam7-7.7.17}/src/gam/googleapiclient/version.py +0 -0
  92. {gam7-7.7.15 → gam7-7.7.17}/src/gam/iso8601/__init__.py +0 -0
  93. {gam7-7.7.15 → gam7-7.7.17}/src/gam/iso8601/iso8601.py +0 -0
  94. {gam7-7.7.15 → gam7-7.7.17}/src/gam/meet-v2beta.json +0 -0
  95. {gam7-7.7.15 → gam7-7.7.17}/src/gam/serviceaccountlookup-v1.json +0 -0
  96. {gam7-7.7.15 → gam7-7.7.17}/src/gam/six.py +0 -0
  97. {gam7-7.7.15 → gam7-7.7.17}/src/gam-install.sh +0 -0
  98. {gam7-7.7.15 → gam7-7.7.17}/src/gam-setup.bat +0 -0
  99. {gam7-7.7.15 → gam7-7.7.17}/src/gam.exe.manifest +0 -0
  100. {gam7-7.7.15 → gam7-7.7.17}/src/gam.py +0 -0
  101. {gam7-7.7.15 → gam7-7.7.17}/src/gam.spec +0 -0
  102. {gam7-7.7.15 → gam7-7.7.17}/src/gam.wxs +0 -0
  103. {gam7-7.7.15 → gam7-7.7.17}/src/license.rtf +0 -0
  104. {gam7-7.7.15 → gam7-7.7.17}/src/requirements-dev.txt +0 -0
  105. {gam7-7.7.15 → gam7-7.7.17}/src/requirements.txt +0 -0
  106. {gam7-7.7.15 → gam7-7.7.17}/src/setup.cfg +0 -0
  107. {gam7-7.7.15 → gam7-7.7.17}/src/setup.py +0 -0
  108. {gam7-7.7.15 → gam7-7.7.17}/src/tools/a_atleast_b.py +0 -0
  109. {gam7-7.7.15 → gam7-7.7.17}/src/tools/gen-wix-xml-filelist.py +0 -0
  110. {gam7-7.7.15 → gam7-7.7.17}/src/tools/mkGamRef.py +0 -0
  111. {gam7-7.7.15 → gam7-7.7.17}/src/tools/openssl.props +0 -0
  112. {gam7-7.7.15 → gam7-7.7.17}/src/version_info.txt.in +0 -0
  113. {gam7-7.7.15 → gam7-7.7.17}/wiki/00scratch.md +0 -0
  114. {gam7-7.7.15 → gam7-7.7.17}/wiki/Addresses.md +0 -0
  115. {gam7-7.7.15 → gam7-7.7.17}/wiki/Administrators.md +0 -0
  116. {gam7-7.7.15 → gam7-7.7.17}/wiki/Alert-Center.md +0 -0
  117. {gam7-7.7.15 → gam7-7.7.17}/wiki/Aliases.md +0 -0
  118. {gam7-7.7.15 → gam7-7.7.17}/wiki/Authorization.md +0 -0
  119. {gam7-7.7.15 → gam7-7.7.17}/wiki/BNF-Syntax.md +0 -0
  120. {gam7-7.7.15 → gam7-7.7.17}/wiki/Basic-Items.md +0 -0
  121. {gam7-7.7.15 → gam7-7.7.17}/wiki/Bulk-Processing.md +0 -0
  122. {gam7-7.7.15 → gam7-7.7.17}/wiki/CSV-Input-Filtering.md +0 -0
  123. {gam7-7.7.15 → gam7-7.7.17}/wiki/CSV-Output-Filtering.md +0 -0
  124. {gam7-7.7.15 → gam7-7.7.17}/wiki/CSV-Special-Characters.md +0 -0
  125. {gam7-7.7.15 → gam7-7.7.17}/wiki/Calendars-Access.md +0 -0
  126. {gam7-7.7.15 → gam7-7.7.17}/wiki/Calendars-Events.md +0 -0
  127. {gam7-7.7.15 → gam7-7.7.17}/wiki/Calendars.md +0 -0
  128. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chat-Bot.md +0 -0
  129. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chrome-AUE-Counts.md +0 -0
  130. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
  131. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chrome-Installed-Apps.md +0 -0
  132. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
  133. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chrome-Policies.md +0 -0
  134. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chrome-Printers.md +0 -0
  135. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chrome-Profile-Management.md +0 -0
  136. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chrome-Version-Counts.md +0 -0
  137. {gam7-7.7.15 → gam7-7.7.17}/wiki/Chrome-Version-History.md +0 -0
  138. {gam7-7.7.15 → gam7-7.7.17}/wiki/Classroom-Courses.md +0 -0
  139. {gam7-7.7.15 → gam7-7.7.17}/wiki/Classroom-Guardians.md +0 -0
  140. {gam7-7.7.15 → gam7-7.7.17}/wiki/Classroom-Invitations.md +0 -0
  141. {gam7-7.7.15 → gam7-7.7.17}/wiki/Classroom-Membership.md +0 -0
  142. {gam7-7.7.15 → gam7-7.7.17}/wiki/Cloud-Channel.md +0 -0
  143. {gam7-7.7.15 → gam7-7.7.17}/wiki/Cloud-Identity-Devices.md +0 -0
  144. {gam7-7.7.15 → gam7-7.7.17}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
  145. {gam7-7.7.15 → gam7-7.7.17}/wiki/Cloud-Identity-Groups.md +0 -0
  146. {gam7-7.7.15 → gam7-7.7.17}/wiki/Cloud-Identity-Policies.md +0 -0
  147. {gam7-7.7.15 → gam7-7.7.17}/wiki/Cloud-Storage.md +0 -0
  148. {gam7-7.7.15 → gam7-7.7.17}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
  149. {gam7-7.7.15 → gam7-7.7.17}/wiki/Collections-of-Items.md +0 -0
  150. {gam7-7.7.15 → gam7-7.7.17}/wiki/Collections-of-Users.md +0 -0
  151. {gam7-7.7.15 → gam7-7.7.17}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
  152. {gam7-7.7.15 → gam7-7.7.17}/wiki/Command-Line-Parsing.md +0 -0
  153. {gam7-7.7.15 → gam7-7.7.17}/wiki/Command-Logging-Progress.md +0 -0
  154. {gam7-7.7.15 → gam7-7.7.17}/wiki/Context-Aware-Access-Levels.md +0 -0
  155. {gam7-7.7.15 → gam7-7.7.17}/wiki/Customer.md +0 -0
  156. {gam7-7.7.15 → gam7-7.7.17}/wiki/Domain-People-Contacts-Profiles.md +0 -0
  157. {gam7-7.7.15 → gam7-7.7.17}/wiki/Domain-SharedContacts.md +0 -0
  158. {gam7-7.7.15 → gam7-7.7.17}/wiki/Domains-Verification.md +0 -0
  159. {gam7-7.7.15 → gam7-7.7.17}/wiki/Domains.md +0 -0
  160. {gam7-7.7.15 → gam7-7.7.17}/wiki/Downloads-Installs.md +0 -0
  161. {gam7-7.7.15 → gam7-7.7.17}/wiki/Drive-File-Selection.md +0 -0
  162. {gam7-7.7.15 → gam7-7.7.17}/wiki/Drive-Items.md +0 -0
  163. {gam7-7.7.15 → gam7-7.7.17}/wiki/Drive-REST-API-v3.md +0 -0
  164. {gam7-7.7.15 → gam7-7.7.17}/wiki/Email-Audit-Monitor.md +0 -0
  165. {gam7-7.7.15 → gam7-7.7.17}/wiki/Find-File-Owner.md +0 -0
  166. {gam7-7.7.15 → gam7-7.7.17}/wiki/GAM-Public-Chat-Room.md +0 -0
  167. {gam7-7.7.15 → gam7-7.7.17}/wiki/GAM-Return-Codes.md +0 -0
  168. {gam7-7.7.15 → gam7-7.7.17}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
  169. {gam7-7.7.15 → gam7-7.7.17}/wiki/GAM7-on-Android-Devices.md +0 -0
  170. {gam7-7.7.15 → gam7-7.7.17}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
  171. {gam7-7.7.15 → gam7-7.7.17}/wiki/Google-Data-Transfers.md +0 -0
  172. {gam7-7.7.15 → gam7-7.7.17}/wiki/Google-Network-Addresses.md +0 -0
  173. {gam7-7.7.15 → gam7-7.7.17}/wiki/Groups-Membership.md +0 -0
  174. {gam7-7.7.15 → gam7-7.7.17}/wiki/Groups.md +0 -0
  175. {gam7-7.7.15 → gam7-7.7.17}/wiki/HTTPS-Proxy.md +0 -0
  176. {gam7-7.7.15 → gam7-7.7.17}/wiki/Home.md +0 -0
  177. {gam7-7.7.15 → gam7-7.7.17}/wiki/How-to-Install-GAM7.md +0 -0
  178. {gam7-7.7.15 → gam7-7.7.17}/wiki/How-to-Uninstall-GAM7.md +0 -0
  179. {gam7-7.7.15 → gam7-7.7.17}/wiki/How-to-Update-GAM7.md +0 -0
  180. {gam7-7.7.15 → gam7-7.7.17}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
  181. {gam7-7.7.15 → gam7-7.7.17}/wiki/Inbound-SSO.md +0 -0
  182. {gam7-7.7.15 → gam7-7.7.17}/wiki/Install-GAM-as-Python-Library.md +0 -0
  183. {gam7-7.7.15 → gam7-7.7.17}/wiki/Licenses.md +0 -0
  184. {gam7-7.7.15 → gam7-7.7.17}/wiki/List-Items.md +0 -0
  185. {gam7-7.7.15 → gam7-7.7.17}/wiki/List.md +0 -0
  186. {gam7-7.7.15 → gam7-7.7.17}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
  187. {gam7-7.7.15 → gam7-7.7.17}/wiki/Mobile-Devices.md +0 -0
  188. {gam7-7.7.15 → gam7-7.7.17}/wiki/Organizational-Units.md +0 -0
  189. {gam7-7.7.15 → gam7-7.7.17}/wiki/Other-Resources.md +0 -0
  190. {gam7-7.7.15 → gam7-7.7.17}/wiki/Permission-Matches.md +0 -0
  191. {gam7-7.7.15 → gam7-7.7.17}/wiki/Python-Regular-Expressions.md +0 -0
  192. {gam7-7.7.15 → gam7-7.7.17}/wiki/README.md +0 -0
  193. {gam7-7.7.15 → gam7-7.7.17}/wiki/Rclone.md +0 -0
  194. {gam7-7.7.15 → gam7-7.7.17}/wiki/Reports.md +0 -0
  195. {gam7-7.7.15 → gam7-7.7.17}/wiki/Reseller.md +0 -0
  196. {gam7-7.7.15 → gam7-7.7.17}/wiki/Resources.md +0 -0
  197. {gam7-7.7.15 → gam7-7.7.17}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
  198. {gam7-7.7.15 → gam7-7.7.17}/wiki/SSL-Root-CA-Certificates.md +0 -0
  199. {gam7-7.7.15 → gam7-7.7.17}/wiki/Schemas.md +0 -0
  200. {gam7-7.7.15 → gam7-7.7.17}/wiki/Scripts.md +0 -0
  201. {gam7-7.7.15 → gam7-7.7.17}/wiki/Send-Email.md +0 -0
  202. {gam7-7.7.15 → gam7-7.7.17}/wiki/Shared-Drives.md +0 -0
  203. {gam7-7.7.15 → gam7-7.7.17}/wiki/Sites.md +0 -0
  204. {gam7-7.7.15 → gam7-7.7.17}/wiki/Tag-Replace.md +0 -0
  205. {gam7-7.7.15 → gam7-7.7.17}/wiki/Todrive.md +0 -0
  206. {gam7-7.7.15 → gam7-7.7.17}/wiki/Unmanaged-Accounts.md +0 -0
  207. {gam7-7.7.15 → gam7-7.7.17}/wiki/Upgrade-Benefits.md +0 -0
  208. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Analytics-Admin.md +0 -0
  209. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Application-Specific-Passwords.md +0 -0
  210. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Backup-Verification-Codes.md +0 -0
  211. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Calendars-Access.md +0 -0
  212. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Calendars-Events.md +0 -0
  213. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Calendars.md +0 -0
  214. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Chat.md +0 -0
  215. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Classification-Labels.md +0 -0
  216. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Classroom-Profile.md +0 -0
  217. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Contacts-Delegates.md +0 -0
  218. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Contacts.md +0 -0
  219. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Deprovision.md +0 -0
  220. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Activity-Settings.md +0 -0
  221. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Cleanup.md +0 -0
  222. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Comments.md +0 -0
  223. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Copy-Move.md +0 -0
  224. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Files-Display.md +0 -0
  225. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Files-Manage.md +0 -0
  226. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Orphans.md +0 -0
  227. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Ownership.md +0 -0
  228. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Permissions.md +0 -0
  229. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Query.md +0 -0
  230. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Revisions.md +0 -0
  231. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Shortcuts.md +0 -0
  232. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Drive-Transfer.md +0 -0
  233. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Forms.md +0 -0
  234. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-CSE.md +0 -0
  235. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-Delegates.md +0 -0
  236. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-Filters.md +0 -0
  237. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-Forwarding.md +0 -0
  238. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-Labels.md +0 -0
  239. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-Messages-Threads.md +0 -0
  240. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-Profile.md +0 -0
  241. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-S-MIME.md +0 -0
  242. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
  243. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Gmail-Settings.md +0 -0
  244. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Group-Membership.md +0 -0
  245. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Keep-Notes.md +0 -0
  246. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Looker-Studio.md +0 -0
  247. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Meet.md +0 -0
  248. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-People-Contacts-Profiles.md +0 -0
  249. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Photo.md +0 -0
  250. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Profile-Photo.md +0 -0
  251. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Profile-Sharing.md +0 -0
  252. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Shared-Drives.md +0 -0
  253. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Signout-Turnoff2SV.md +0 -0
  254. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Spreadsheets.md +0 -0
  255. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Tasks.md +0 -0
  256. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-Tokens.md +0 -0
  257. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users-YouTube.md +0 -0
  258. {gam7-7.7.15 → gam7-7.7.17}/wiki/Users.md +0 -0
  259. {gam7-7.7.15 → gam7-7.7.17}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
  260. {gam7-7.7.15 → gam7-7.7.17}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
  261. {gam7-7.7.15 → gam7-7.7.17}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
  262. {gam7-7.7.15 → gam7-7.7.17}/wiki/_Sidebar.md +0 -0
  263. {gam7-7.7.15 → gam7-7.7.17}/wiki/gam.cfg.md +0 -0
  264. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-AdminSettingsExamples.md +0 -0
  265. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Android-Installation.md +0 -0
  266. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-BulkOperations.md +0 -0
  267. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-CalendarExamples.md +0 -0
  268. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Chat-Bot.md +0 -0
  269. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Chrome-Browser-Management.md +0 -0
  270. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Chrome-OS-Installation.md +0 -0
  271. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Chrome-Policy-Settings.md +0 -0
  272. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Cloud-Identity-Groups.md +0 -0
  273. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
  274. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Command-Reference-Calendars.md +0 -0
  275. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Command-Reference-Definitions.md +0 -0
  276. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Command-Reference-Drive.md +0 -0
  277. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Command-Reference-Email.md +0 -0
  278. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
  279. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Command-Reference-Groups.md +0 -0
  280. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Command-Reference-Users.md +0 -0
  281. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Context-Aware-Access-Levels.md +0 -0
  282. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
  283. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-CreatingClientSecretsFile.md +0 -0
  284. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Custom-Schemas.md +0 -0
  285. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Data-Transfers.md +0 -0
  286. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-DomainVerification.md +0 -0
  287. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-ExamplesAccountAuditing.md +0 -0
  288. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-ExamplesCSV.md +0 -0
  289. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-ExamplesEmailSettings.md +0 -0
  290. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-ExamplesOrganizations.md +0 -0
  291. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-GAM-Discussion-Group.md +0 -0
  292. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
  293. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-GAM-options-files.md +0 -0
  294. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
  295. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-GAM3CSVListings.md +0 -0
  296. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-GAM3DirectoryCommands.md +0 -0
  297. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-GAM3GroupSettings.md +0 -0
  298. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-GAM7-FAQ.md +0 -0
  299. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
  300. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-GoogleDriveManagement.md +0 -0
  301. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
  302. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Home.md +0 -0
  303. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
  304. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Inbound-SSO-Settings.md +0 -0
  305. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-LicenseExamples.md +0 -0
  306. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Managing-Admins.md +0 -0
  307. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
  308. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Managing-Devices.md +0 -0
  309. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Managing-Google-Classroom.md +0 -0
  310. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-OAuthKeyManagement.md +0 -0
  311. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Printers.md +0 -0
  312. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-ResellerCommands.md +0 -0
  313. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
  314. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-SecurityExamples.md +0 -0
  315. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-UnmanagedUsersExamples.md +0 -0
  316. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Use-a-Yubikey.md +0 -0
  317. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
  318. {gam7-7.7.15 → gam7-7.7.17}/wiki/l-_Footer.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.7.15
3
+ Version: 7.7.17
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
@@ -2396,12 +2396,14 @@ gam <CrOSTypeEntity> update <CrOSAttribute>+ [quickcrosmove [<Boolean>]] [nobatc
2396
2396
  autoupdatethrough|
2397
2397
  backlightinfo|
2398
2398
  bootmode|
2399
+ chromeostype|
2399
2400
  cpuinfo|
2400
2401
  cpustatusreports|
2401
2402
  deprovisionreason|
2402
2403
  devicefiles|
2403
2404
  deviceid|
2404
2405
  devicelicensetype|
2406
+ diskspaceusage|
2405
2407
  diskvolumereports|
2406
2408
  dockmacaddress|
2407
2409
  ethernetmacaddress|
@@ -2409,6 +2411,7 @@ gam <CrOSTypeEntity> update <CrOSAttribute>+ [quickcrosmove [<Boolean>]] [nobatc
2409
2411
  extendedsupporteligible|
2410
2412
  extendedsupportstart|
2411
2413
  extendedsupportenabled|
2414
+ faninfo|
2412
2415
  firmwareversion|
2413
2416
  firstenrollmenttime|
2414
2417
  lastdeprovisiontimestamp|
@@ -4116,7 +4119,7 @@ gam print devices [todrive <ToDriveAttribute>*]
4116
4119
  <DeviceFieldName>* [fields <DeviceFieldNameList>] [userfields <DeviceUserFieldNameList>]
4117
4120
  [orderby <DeviceOrderByFieldName> [ascending|descending]]
4118
4121
  [all|company|personal|nocompanydevices|nopersonaldevices]
4119
- [nodeviceusers]
4122
+ [nodeviceusers|oneuserperrow]
4120
4123
  [formatjson [quotechar <Character>]]
4121
4124
  [showitemcountonly]
4122
4125
 
@@ -1,8 +1,19 @@
1
+ 7.07.17
2
+
3
+ Added option `oneuserperrow` to `gam print devices` to have each of a
4
+ device's users displayed on a separate row with all of the other device fields.
5
+
6
+ 7.07.16
7
+
8
+ Added `chromeostype`, `diskspaceusage` and `faninfo` to `<CrOSFieldName>` for use in `gam info|print cros`.
9
+
10
+ Fixed bugs/cleaned output in `gam info|print cros`.
11
+
1
12
  7.07.15
2
13
 
3
14
  Added option `shareddrivesoption included|included_if_account_is_not_a_member|not_included` to `gam create vaultexport`.
4
15
 
5
- The previous option 'includeshareddrives <Boolean>` is mapped as follows:
16
+ The previous option `includeshareddrives <Boolean>` is mapped as follows:
6
17
  * `includeshareddrives false` - `shareddrivesoption included_if_account_is_not_a_member`
7
18
  * `includeshareddrives true` - `shareddrivesoption included`
8
19
 
@@ -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.07.15'
28
+ __version__ = '7.07.17'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -23759,12 +23759,14 @@ CROS_FIELDS_CHOICE_MAP = {
23759
23759
  'autoupdatethrough': 'autoUpdateThrough',
23760
23760
  'backlightinfo': 'backlightInfo',
23761
23761
  'bootmode': 'bootMode',
23762
+ 'chromeostype': 'chromeOsType',
23762
23763
  'cpuinfo': 'cpuInfo',
23763
23764
  'cpustatusreports': 'cpuStatusReports',
23764
23765
  'deprovisionreason': 'deprovisionReason',
23765
23766
  'devicefiles': ['deviceFiles.type', 'deviceFiles.createTime'],
23766
23767
  'deviceid': 'deviceId',
23767
23768
  'devicelicensetype': 'deviceLicenseType',
23769
+ 'diskspaceusage': 'diskSpaceUsage',
23768
23770
  'diskvolumereports': 'diskVolumeReports',
23769
23771
  'dockmacaddress': 'dockMacAddress',
23770
23772
  'ethernetmacaddress': 'ethernetMacAddress',
@@ -23772,6 +23774,7 @@ CROS_FIELDS_CHOICE_MAP = {
23772
23774
  'extendedsupporteligible': 'extendedSupportEligible',
23773
23775
  'extendedsupportstart': 'extendedSupportStart',
23774
23776
  'extendedsupportenabled': 'extendedSupportEnabled',
23777
+ 'faninfo': 'fanInfo',
23775
23778
  'firmwareversion': 'firmwareVersion',
23776
23779
  'firstenrollmenttime': 'firstEnrollmentTime',
23777
23780
  'lastdeprovisiontimestamp': 'lastDeprovisionTimestamp',
@@ -23819,6 +23822,7 @@ CROS_SCALAR_PROPERTY_PRINT_ORDER = [
23819
23822
  'notes',
23820
23823
  'serialNumber',
23821
23824
  'status',
23825
+ 'chromeOsType',
23822
23826
  'deviceLicenseType',
23823
23827
  'model',
23824
23828
  'firmwareVersion',
@@ -23839,6 +23843,7 @@ CROS_SCALAR_PROPERTY_PRINT_ORDER = [
23839
23843
  'manufactureDate',
23840
23844
  'supportEndDate',
23841
23845
  'autoUpdateExpiration',
23846
+ 'autoUpdateThrough',
23842
23847
  'willAutoRenew',
23843
23848
  ]
23844
23849
 
@@ -23863,8 +23868,11 @@ CROS_TIME_OBJECTS = {
23863
23868
  'lastDeprovisionTimestamp',
23864
23869
  'lastEnrollmentTime',
23865
23870
  'lastSync',
23871
+ 'rebootTime',
23866
23872
  'reportTime',
23867
23873
  'supportEndDate',
23874
+ 'updateTime',
23875
+ 'updateCheckTime',
23868
23876
  }
23869
23877
  CROS_FIELDS_WITH_CRS_NLS = {'notes'}
23870
23878
  CROS_START_ARGUMENTS = ['start', 'startdate', 'oldestdate']
@@ -23981,13 +23989,13 @@ def infoCrOSDevices(entityList):
23981
23989
  printKeyValueWithCRsNLs(up, cros[up])
23982
23990
  else:
23983
23991
  printKeyValueList([up, formatLocalTime(cros[up])])
23984
- up = 'tpmVersionInfo'
23985
- if up in cros:
23986
- printKeyValueList([up, ''])
23987
- Ind.Increment()
23988
- for key, value in sorted(iter(cros[up].items())):
23989
- printKeyValueList([key, value])
23990
- Ind.Decrement()
23992
+ for up in ['diskSpaceUsage', 'osUpdateStatus', 'tpmVersionInfo']:
23993
+ if up in cros:
23994
+ printKeyValueList([up, ''])
23995
+ Ind.Increment()
23996
+ for key, value in sorted(iter(cros[up].items())):
23997
+ printKeyValueList([key, value])
23998
+ Ind.Decrement()
23991
23999
  if not noLists:
23992
24000
  activeTimeRanges = _filterActiveTimeRanges(cros, True, listLimit, startDate, endDate, activeTimeRangesOrder)
23993
24001
  if activeTimeRanges:
@@ -24041,6 +24049,9 @@ def infoCrOSDevices(entityList):
24041
24049
  entityActionNotPerformedWarning([Ent.CROS_DEVICE, deviceId, Ent.DEVICE_FILE, downloadfile],
24042
24050
  Msg.NO_ENTITIES_FOUND.format(Ent.Plural(Ent.DEVICE_FILE)), i, count)
24043
24051
  Act.Set(Act.INFO)
24052
+ cpuInfo = _filterBasicList(cros, 'cpuInfo', True, listLimit)
24053
+ if cpuInfo:
24054
+ showJSON('cpuInfo', cpuInfo, dictObjectsKey={'cpuInfo': 'model'})
24044
24055
  cpuStatusReports = _filterCPUStatusReports(cros, True, listLimit, startTime, endTime)
24045
24056
  if cpuStatusReports:
24046
24057
  printKeyValueList(['cpuStatusReports'])
@@ -24058,6 +24069,12 @@ def infoCrOSDevices(entityList):
24058
24069
  printKeyValueList(['cpuUtilizationPercentageInfo', cpuStatusReport['cpuUtilizationPercentageInfo']])
24059
24070
  Ind.Decrement()
24060
24071
  Ind.Decrement()
24072
+ backlightInfo = _filterBasicList(cros, 'backLightInfo', True, listLimit)
24073
+ if backlightInfo:
24074
+ showJSON('backlightInfo', backlightInfo, dictObjectsKey={'backlightInfo': 'path'})
24075
+ fanInfo = _filterBasicList(cros, 'fanInfo', True, listLimit)
24076
+ if fanInfo:
24077
+ showJSON('fanInfo', fanInfo)
24061
24078
  diskVolumeReports = _filterBasicList(cros, 'diskVolumeReports', True, listLimit)
24062
24079
  if diskVolumeReports:
24063
24080
  printKeyValueList(['diskVolumeReports'])
@@ -24284,7 +24301,7 @@ CROS_ENTITIES_MAP = {
24284
24301
  }
24285
24302
 
24286
24303
  CROS_INDEXED_TITLES = ['activeTimeRanges', 'recentUsers', 'deviceFiles',
24287
- 'cpuStatusReports', 'diskVolumeReports', 'lastKnownNetwork', 'screenshotFiles', 'systemRamFreeReports']
24304
+ 'cpuStatusReports', 'cpuInfo', 'backlightInfo', 'fanInfo', 'diskVolumeReports', 'lastKnownNetwork', 'screenshotFiles', 'systemRamFreeReports']
24288
24305
 
24289
24306
  # gam print cros [todrive <ToDriveAttribute>*]
24290
24307
  # [(query <QueryCrOS>)|(queries <QueryCrOSList>) [querytime<String> <Time>]
@@ -24331,12 +24348,15 @@ def doPrintCrOSDevices(entityList=None):
24331
24348
  if not noLists and not selectedLists:
24332
24349
  csvPF.WriteRowTitles(flattenJSON(cros, listLimit=listLimit, timeObjects=CROS_TIME_OBJECTS))
24333
24350
  return
24334
- attrib = 'tpmVersionInfo'
24335
- if attrib in cros:
24336
- for key, value in sorted(iter(cros[attrib].items())):
24337
- attribKey = f'{attrib}{GC.Values[GC.CSV_OUTPUT_SUBFIELD_DELIMITER]}{key}'
24338
- cros[attribKey] = value
24339
- cros.pop(attrib)
24351
+ for attrib in ['diskSpaceUsage', 'osUpdateStatus', 'tpmVersionInfo']:
24352
+ if attrib in cros:
24353
+ for key, value in sorted(iter(cros[attrib].items())):
24354
+ attribKey = f'{attrib}{GC.Values[GC.CSV_OUTPUT_SUBFIELD_DELIMITER]}{key}'
24355
+ if key not in CROS_TIME_OBJECTS:
24356
+ cros[attribKey] = value
24357
+ else:
24358
+ cros[attribKey] = formatLocalTime(value)
24359
+ cros.pop(attrib)
24340
24360
  activeTimeRanges = _filterActiveTimeRanges(cros, selectedLists.get('activeTimeRanges', False), listLimit, startDate, endDate, activeTimeRangesOrder)
24341
24361
  recentUsers = _filterRecentUsers(cros, selectedLists.get('recentUsers', False), listLimit)
24342
24362
  deviceFiles = _filterDeviceFiles(cros, selectedLists.get('deviceFiles', False), listLimit, startTime, endTime)
@@ -24350,8 +24370,10 @@ def doPrintCrOSDevices(entityList=None):
24350
24370
  return
24351
24371
  row = {}
24352
24372
  for attrib in cros:
24353
- if attrib not in {'kind', 'etag', 'tpmVersionInfo', 'recentUsers', 'activeTimeRanges',
24354
- 'deviceFiles', 'cpuStatusReports', 'diskVolumeReports', 'lastKnownNetwork', 'screenshotFiles', 'systemRamFreeReports'}:
24373
+ if attrib in {'cpuInfo', 'backlightInfo', 'fanInfo'}:
24374
+ flattenJSON({attrib: cros[attrib]}, flattened=row)
24375
+ elif attrib not in {'kind', 'etag', 'diskSpaceUsage', 'osUpdateStatus', 'tpmVersionInfo', 'activeTimeRanges', 'recentUsers',
24376
+ 'deviceFiles', 'cpuStatusReports', 'diskVolumeReports', 'lastKnownNetwork', 'screenshotFiles', 'systemRamFreeReports'}:
24355
24377
  if attrib not in CROS_TIME_OBJECTS:
24356
24378
  row[attrib] = cros[attrib]
24357
24379
  else:
@@ -29565,7 +29587,7 @@ DEVICE_ORDERBY_CHOICE_MAP = {
29565
29587
  # <DeviceFieldName>* [fields <DeviceFieldNameList>] [userfields <DeviceUserFieldNameList>]
29566
29588
  # [orderby <DeviceOrderByFieldName> [ascending|descending]]
29567
29589
  # [all|company|personal|nocompanydevices|nopersonaldevices]
29568
- # [nodeviceusers]
29590
+ # [nodeviceusers|oneuserperrow]
29569
29591
  # [formatjson [quotechar <Character>]]
29570
29592
  # [showitemcountonly]
29571
29593
  def doPrintCIDevices():
@@ -29581,7 +29603,7 @@ def doPrintCIDevices():
29581
29603
  queries = [None]
29582
29604
  view, entityType = DEVICE_VIEW_CHOICE_MAP['all']
29583
29605
  getDeviceUsers = True
29584
- showItemCountOnly = False
29606
+ oneUserPerRow = showItemCountOnly = False
29585
29607
  while Cmd.ArgumentsRemaining():
29586
29608
  myarg = getArgument()
29587
29609
  if csvPF and myarg == 'todrive':
@@ -29596,6 +29618,8 @@ def doPrintCIDevices():
29596
29618
  view, entityType = DEVICE_VIEW_CHOICE_MAP[myarg]
29597
29619
  elif myarg == 'nodeviceusers':
29598
29620
  getDeviceUsers = False
29621
+ elif myarg in {'oneuserperrow', 'oneitemperrow'}:
29622
+ getDeviceUsers = oneUserPerRow = True
29599
29623
  elif getFieldsList(myarg, DEVICE_FIELDS_CHOICE_MAP, fieldsList, initialField='name'):
29600
29624
  pass
29601
29625
  elif getFieldsList(myarg, DEVICEUSER_FIELDS_CHOICE_MAP, userFieldsList, initialField='name', fieldsArg='userfields'):
@@ -29609,6 +29633,8 @@ def doPrintCIDevices():
29609
29633
  fields = getItemFieldsFromFieldsList('devices', fieldsList)
29610
29634
  userFields = getItemFieldsFromFieldsList('deviceUsers', userFieldsList)
29611
29635
  substituteQueryTimes(queries, queryTimes)
29636
+ if FJQC.formatJSON and oneUserPerRow:
29637
+ csvPF.SetJSONTitles(['name', 'user.name', 'JSON'])
29612
29638
  itemCount = 0
29613
29639
  for query in queries:
29614
29640
  printGettingAllAccountEntities(entityType, query)
@@ -29650,13 +29676,26 @@ def doPrintCIDevices():
29650
29676
  except (GAPI.invalid, GAPI.invalidArgument, GAPI.permissionDenied) as e:
29651
29677
  entityActionFailedWarning([entityType, None], str(e))
29652
29678
  for device in devices:
29653
- row = flattenJSON(device, timeObjects=DEVICE_TIME_OBJECTS)
29654
- if not FJQC.formatJSON:
29655
- csvPF.WriteRowTitles(row)
29656
- elif csvPF.CheckRowTitles(row):
29657
- csvPF.WriteRowNoFilter({'name': device['name'],
29658
- 'JSON': json.dumps(cleanJSON(device, timeObjects=DEVICE_TIME_OBJECTS),
29659
- ensure_ascii=False, sort_keys=True)})
29679
+ if not oneUserPerRow or 'users' not in device:
29680
+ row = flattenJSON(device, timeObjects=DEVICE_TIME_OBJECTS)
29681
+ if not FJQC.formatJSON:
29682
+ csvPF.WriteRowTitles(row)
29683
+ elif csvPF.CheckRowTitles(row):
29684
+ csvPF.WriteRowNoFilter({'name': device['name'],
29685
+ 'JSON': json.dumps(cleanJSON(device, timeObjects=DEVICE_TIME_OBJECTS),
29686
+ ensure_ascii=False, sort_keys=True)})
29687
+ else:
29688
+ deviceUsers = device.pop('users')
29689
+ baserow = flattenJSON(device, timeObjects=DEVICE_TIME_OBJECTS)
29690
+ for deviceUser in deviceUsers:
29691
+ row = flattenJSON({'user': deviceUser}, flattened=baserow.copy(), timeObjects=DEVICE_TIME_OBJECTS)
29692
+ if not FJQC.formatJSON:
29693
+ csvPF.WriteRowTitles(row)
29694
+ elif csvPF.CheckRowTitles(row):
29695
+ device['user'] = deviceUser
29696
+ csvPF.WriteRowNoFilter({'name': device['name'], 'user.name': deviceUser['name'],
29697
+ 'JSON': json.dumps(cleanJSON(device, timeObjects=DEVICE_TIME_OBJECTS),
29698
+ ensure_ascii=False, sort_keys=True)})
29660
29699
  if showItemCountOnly:
29661
29700
  writeStdout(f'{itemCount}\n')
29662
29701
  return
@@ -106,12 +106,14 @@ The second form is backwards compatible with Legacy GAM and selection with `<CrO
106
106
  autoupdatethrough|
107
107
  backlightinfo|
108
108
  bootmode|
109
+ chromeostype|
109
110
  cpuinfo|
110
111
  cpustatusreports|
111
112
  deprovisionreason|
112
113
  devicefiles|
113
114
  deviceid|
114
115
  devicelicensetype|
116
+ diskspaceusage|
115
117
  diskvolumereports|
116
118
  dockmacaddress|
117
119
  ethernetmacaddress|
@@ -119,6 +121,7 @@ The second form is backwards compatible with Legacy GAM and selection with `<CrO
119
121
  extendedsupporteligible|
120
122
  extendedsupportstart|
121
123
  extendedsupportenabled|
124
+ faninfo|
122
125
  firmwareversion|
123
126
  firstenrollmenttime|
124
127
  lastdeprovisiontimestamp|
@@ -10,6 +10,20 @@ 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.07.16
14
+
15
+ Added `chromeostype`, `diskspaceusage` and `faninfo` to `<CrOSFieldName>` for use in `gam info|print cros`.
16
+
17
+ Fixed bugs/cleaned output in `gam info|print cros`.
18
+
19
+ ### 7.07.15
20
+
21
+ Added option `shareddrivesoption included|included_if_account_is_not_a_member|not_included` to `gam create vaultexport`.
22
+
23
+ The previous option `includeshareddrives <Boolean>` is mapped as follows:
24
+ * `includeshareddrives false` - `shareddrivesoption included_if_account_is_not_a_member`
25
+ * `includeshareddrives true` - `shareddrivesoption included`
26
+
13
27
  ### 7.07.14
14
28
 
15
29
  Update `gam setup chat` output to include the following that shows the actual Cloud Pub/Sub Topic Name.
@@ -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.07.14 - https://github.com/GAM-team/GAM - pyinstaller
254
+ GAM 7.07.16 - https://github.com/GAM-team/GAM - pyinstaller
255
255
  GAM Team <google-apps-manager@googlegroups.com>
256
256
  Python 3.13.3 64-bit final
257
257
  MacOS Sequoia 15.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.07.14 - https://github.com/GAM-team/GAM - pythonsource
992
+ GAM 7.07.16 - https://github.com/GAM-team/GAM - pythonsource
993
993
  GAM Team <google-apps-manager@googlegroups.com>
994
994
  Python 3.13.3 64-bit final
995
995
  Windows-10-10.0.17134 AMD64
@@ -243,7 +243,8 @@ gam create vaultexport|export matter <MatterItem> [name <String>] corpus calenda
243
243
  [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
244
244
  [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
245
245
  [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
246
- [includeshareddrives <Boolean>] [driveversiondate <Date>|<Time>] [includeaccessinfo <Boolean>]
246
+ [(includeshareddrives <Boolean>)|(shareddrivesoption included|included_if_account_is_not_a_member|not_included)]
247
+ [driveversiondate <Date>|<Time>] [includeaccessinfo <Boolean>]
247
248
  [driveclientsideencryption any|encrypted|unencrypted]
248
249
  [includerooms <Boolean>]
249
250
  [excludedrafts <Boolean>] [mailclientsideencryption any|encrypted|unencrypted]
@@ -315,8 +316,11 @@ For `corpus calendar`, you can specify the format of the exported data:
315
316
 
316
317
  For `corpus drive`, you can specify advanced search options:
317
318
  * `driveversiondate <Date>|<Time>` - Search the versions of the Drive file as of the reference date. These timestamps are in GMT and rounded down to the given date.
318
- * `includeshareddrives False` - Do not include Shared Drives in the search, this is the default.
319
- * `includeshareddrives True` - Include Shared Drives in the search.
319
+ * `includeshareddrives False` - Mapped to `sharedrivesoption included_if_account_is_not_a_member`
320
+ * `includeshareddrives True` - Mapped to `sharedrivesoption included`
321
+ * `sharedrivesoption included` - Resources in shared drives are included in the search
322
+ * `sharedrivesoption included_if_account_is_not_a_member` - Resources in shared drives where account is not a member are included in the search, this is the default
323
+ * `sharedrivesoption not_included` - Resources in shared drives are not included in the search
320
324
  * `driveclientsideencryption any` - Include both client-side encrypted and unencrypted content in search, this is the default.
321
325
  * `driveclientsideencryption encrypted` - Include client-side encrypted content only in search.
322
326
  * `driveclientsideencryption unencrypted` - Include client-side unencrypted content only in search.
@@ -599,7 +603,7 @@ gam create vaulthold|hold matter <MatterItem> [name <String>] corpus calendar|dr
599
603
  [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>]
600
604
  [includerooms <Boolean>]
601
605
  [covereddata calllogs|textmessages|voicemails]
602
- [includeshareddrives|includeteamdrives <Boolean>]
606
+ [includeshareddrives <Boolean>]
603
607
  [showdetails|returnidonly]
604
608
  ```
605
609
  Specify the name of the hold:
@@ -621,8 +625,8 @@ Specify the search method, this option is required:
621
625
  The `query <QueryVaultCorpus>` option can still be used but it is much simpler to use the following options.
622
626
 
623
627
  For `corpus drive`, you can specify advanced search options:
624
- * `includeshareddrives False` - Do not include Shared Drives in the search, this is the default.
625
- * `includeshareddrives True` - Include Shared Drives in the search.
628
+ * `includeshareddrives False` - Files in shared drives are not included in the hold, this is the default
629
+ * `includeshareddrives True` - Files in shared drives are included in the hold
626
630
 
627
631
  For `corpus mail`, you can specify search terms to limit the search.
628
632
  * `terms <String>` - [Vault search](https://support.google.com/vault/answer/2474474)
@@ -652,12 +656,12 @@ gam update vaulthold|hold <HoldItem> matter <MatterItem>
652
656
  [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>]
653
657
  [includerooms <Boolean>]
654
658
  [covereddata calllogs|textmessages|voicemails]
655
- [includeshareddrives|includeteamdrives <Boolean>]
659
+ [includeshareddrives <Boolean>]
656
660
  [showdetails]
657
661
  ```
658
662
  For a hold with `corpus drive`, you can specify advanced search options:
659
- * `includeshareddrives False` - Do not include Shared Drives in the search, this is the default.
660
- * `includeshareddrives True` - Include Shared Drives in the search.
663
+ * `includeshareddrives False` - Files in shared drives are not included in the hold, this is the default
664
+ * `includeshareddrives True` - Files in shared drives are included in the hold
661
665
 
662
666
  For a hold with `corpus mail`, you can specify search terms to limit the search.
663
667
  * `terms <String>` - [Vault search](https://support.google.com/vault/answer/2474474)
@@ -3,7 +3,7 @@
3
3
  Print the current version of Gam with details
4
4
  ```
5
5
  gam version
6
- GAM 7.07.14 - https://github.com/GAM-team/GAM - pyinstaller
6
+ GAM 7.07.16 - https://github.com/GAM-team/GAM - pyinstaller
7
7
  GAM Team <google-apps-manager@googlegroups.com>
8
8
  Python 3.13.3 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.07.14 - https://github.com/GAM-team/GAM - pyinstaller
18
+ GAM 7.07.16 - https://github.com/GAM-team/GAM - pyinstaller
19
19
  GAM Team <google-apps-manager@googlegroups.com>
20
20
  Python 3.13.3 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.07.14 - https://github.com/GAM-team/GAM - pyinstaller
30
+ GAM 7.07.16 - https://github.com/GAM-team/GAM - pyinstaller
31
31
  GAM Team <google-apps-manager@googlegroups.com>
32
32
  Python 3.13.3 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.07.14
67
+ Latest: 7.07.16
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.07.14
75
+ 7.07.16
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.07.14 - https://github.com/GAM-team/GAM
85
+ GAM 7.07.16 - https://github.com/GAM-team/GAM
86
86
  GAM Team <google-apps-manager@googlegroups.com>
87
87
  Python 3.13.3 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