gam7 7.13.0__tar.gz → 7.13.2__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 (319) hide show
  1. {gam7-7.13.0 → gam7-7.13.2}/PKG-INFO +1 -1
  2. {gam7-7.13.0 → gam7-7.13.2}/src/GamCommands.txt +24 -13
  3. {gam7-7.13.0 → gam7-7.13.2}/src/GamUpdate.txt +37 -11
  4. {gam7-7.13.0 → gam7-7.13.2}/src/gam/__init__.py +102 -40
  5. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glclargs.py +2 -1
  6. {gam7-7.13.0 → gam7-7.13.2}/src/setup.cfg +1 -1
  7. {gam7-7.13.0 → gam7-7.13.2}/wiki/Basic-Items.md +3 -0
  8. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chrome-Profile-Management.md +31 -6
  9. {gam7-7.13.0 → gam7-7.13.2}/wiki/Collections-of-Items.md +7 -0
  10. {gam7-7.13.0 → gam7-7.13.2}/wiki/GamUpdates.md +28 -0
  11. {gam7-7.13.0 → gam7-7.13.2}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +2 -2
  12. {gam7-7.13.0 → gam7-7.13.2}/wiki/List-Items.md +1 -0
  13. {gam7-7.13.0 → gam7-7.13.2}/wiki/Reports.md +3 -3
  14. {gam7-7.13.0 → gam7-7.13.2}/wiki/Shared-Drives.md +2 -0
  15. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Forms.md +9 -7
  16. {gam7-7.13.0 → gam7-7.13.2}/wiki/Version-and-Help.md +7 -6
  17. {gam7-7.13.0 → gam7-7.13.2}/wiki/_Sidebar.md +1 -1
  18. {gam7-7.13.0 → gam7-7.13.2}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
  19. {gam7-7.13.0 → gam7-7.13.2}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
  20. {gam7-7.13.0 → gam7-7.13.2}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
  21. {gam7-7.13.0 → gam7-7.13.2}/.github/ISSUE_TEMPLATE.txt +0 -0
  22. {gam7-7.13.0 → gam7-7.13.2}/.github/actions/decrypt.sh +0 -0
  23. {gam7-7.13.0 → gam7-7.13.2}/.github/actions/entitlements.plist +0 -0
  24. {gam7-7.13.0 → gam7-7.13.2}/.github/actions/package_exclusions.txt +0 -0
  25. {gam7-7.13.0 → gam7-7.13.2}/.github/stale.yml +0 -0
  26. {gam7-7.13.0 → gam7-7.13.2}/.github/workflows/build.yml +0 -0
  27. {gam7-7.13.0 → gam7-7.13.2}/.github/workflows/codeql-analysis.yml +0 -0
  28. {gam7-7.13.0 → gam7-7.13.2}/.github/workflows/get-cacerts.yml +0 -0
  29. {gam7-7.13.0 → gam7-7.13.2}/.github/workflows/pushwiki.yml +0 -0
  30. {gam7-7.13.0 → gam7-7.13.2}/.github/workflows/pypi.yml +0 -0
  31. {gam7-7.13.0 → gam7-7.13.2}/.pre-commit-config.yaml +0 -0
  32. {gam7-7.13.0 → gam7-7.13.2}/LICENSE +0 -0
  33. {gam7-7.13.0 → gam7-7.13.2}/README.md +0 -0
  34. {gam7-7.13.0 → gam7-7.13.2}/pyproject.toml +0 -0
  35. {gam7-7.13.0 → gam7-7.13.2}/src/.gitignore +0 -0
  36. {gam7-7.13.0 → gam7-7.13.2}/src/LICENSE +0 -0
  37. {gam7-7.13.0 → gam7-7.13.2}/src/README.md +0 -0
  38. {gam7-7.13.0 → gam7-7.13.2}/src/cacerts.pem +0 -0
  39. {gam7-7.13.0 → gam7-7.13.2}/src/callgam.py +0 -0
  40. {gam7-7.13.0 → gam7-7.13.2}/src/gam/__main__.py +0 -0
  41. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/__init__.py +0 -0
  42. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/auth.py +0 -0
  43. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/client.py +0 -0
  44. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/core.py +0 -0
  45. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/data.py +0 -0
  46. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/http.py +0 -0
  47. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/http_core.py +0 -0
  48. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/http_interface.py +0 -0
  49. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/mock_http.py +0 -0
  50. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/mock_http_core.py +0 -0
  51. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/mock_service.py +0 -0
  52. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/service.py +0 -0
  53. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/token_store.py +0 -0
  54. {gam7-7.13.0 → gam7-7.13.2}/src/gam/atom/url.py +0 -0
  55. {gam7-7.13.0 → gam7-7.13.2}/src/gam/cacerts.pem +0 -0
  56. {gam7-7.13.0 → gam7-7.13.2}/src/gam/cbcm-v1.1beta1.json +0 -0
  57. {gam7-7.13.0 → gam7-7.13.2}/src/gam/contactdelegation-v1.json +0 -0
  58. {gam7-7.13.0 → gam7-7.13.2}/src/gam/datastudio-v1.json +0 -0
  59. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/__init__.py +0 -0
  60. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glaction.py +0 -0
  61. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glapi.py +0 -0
  62. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glcfg.py +0 -0
  63. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glentity.py +0 -0
  64. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glgapi.py +0 -0
  65. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glgdata.py +0 -0
  66. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glglobals.py +0 -0
  67. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glindent.py +0 -0
  68. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glmsgs.py +0 -0
  69. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glskus.py +0 -0
  70. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/gluprop.py +0 -0
  71. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/glverlibs.py +0 -0
  72. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gamlib/yubikey.py +0 -0
  73. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/__init__.py +0 -0
  74. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/alt/__init__.py +0 -0
  75. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/alt/app_engine.py +0 -0
  76. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/alt/appengine.py +0 -0
  77. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/apps/__init__.py +0 -0
  78. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/apps/audit/__init__.py +0 -0
  79. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/apps/audit/service.py +0 -0
  80. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/apps/contacts/__init__.py +0 -0
  81. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/apps/contacts/service.py +0 -0
  82. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/apps/service.py +0 -0
  83. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/service.py +0 -0
  84. {gam7-7.13.0 → gam7-7.13.2}/src/gam/gdata/urlfetch.py +0 -0
  85. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/__init__.py +0 -0
  86. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/_auth.py +0 -0
  87. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/_helpers.py +0 -0
  88. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/channel.py +0 -0
  89. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/discovery.py +0 -0
  90. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
  91. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
  92. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
  93. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
  94. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/errors.py +0 -0
  95. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/http.py +0 -0
  96. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/mimeparse.py +0 -0
  97. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/model.py +0 -0
  98. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/schema.py +0 -0
  99. {gam7-7.13.0 → gam7-7.13.2}/src/gam/googleapiclient/version.py +0 -0
  100. {gam7-7.13.0 → gam7-7.13.2}/src/gam/iso8601/__init__.py +0 -0
  101. {gam7-7.13.0 → gam7-7.13.2}/src/gam/iso8601/iso8601.py +0 -0
  102. {gam7-7.13.0 → gam7-7.13.2}/src/gam/meet-v2beta.json +0 -0
  103. {gam7-7.13.0 → gam7-7.13.2}/src/gam/serviceaccountlookup-v1.json +0 -0
  104. {gam7-7.13.0 → gam7-7.13.2}/src/gam/six.py +0 -0
  105. {gam7-7.13.0 → gam7-7.13.2}/src/gam-install.sh +0 -0
  106. {gam7-7.13.0 → gam7-7.13.2}/src/gam-setup.bat +0 -0
  107. {gam7-7.13.0 → gam7-7.13.2}/src/gam.exe.manifest +0 -0
  108. {gam7-7.13.0 → gam7-7.13.2}/src/gam.py +0 -0
  109. {gam7-7.13.0 → gam7-7.13.2}/src/gam.spec +0 -0
  110. {gam7-7.13.0 → gam7-7.13.2}/src/gam.wxs +0 -0
  111. {gam7-7.13.0 → gam7-7.13.2}/src/license.rtf +0 -0
  112. {gam7-7.13.0 → gam7-7.13.2}/src/requirements-dev.txt +0 -0
  113. {gam7-7.13.0 → gam7-7.13.2}/src/requirements.txt +0 -0
  114. {gam7-7.13.0 → gam7-7.13.2}/src/setup.py +0 -0
  115. {gam7-7.13.0 → gam7-7.13.2}/src/tools/a_atleast_b.py +0 -0
  116. {gam7-7.13.0 → gam7-7.13.2}/src/tools/gen-wix-xml-filelist.py +0 -0
  117. {gam7-7.13.0 → gam7-7.13.2}/src/tools/mkGamRef.py +0 -0
  118. {gam7-7.13.0 → gam7-7.13.2}/src/tools/openssl.props +0 -0
  119. {gam7-7.13.0 → gam7-7.13.2}/src/version_info.txt.in +0 -0
  120. {gam7-7.13.0 → gam7-7.13.2}/wiki/00scratch.md +0 -0
  121. {gam7-7.13.0 → gam7-7.13.2}/wiki/Addresses.md +0 -0
  122. {gam7-7.13.0 → gam7-7.13.2}/wiki/Administrators.md +0 -0
  123. {gam7-7.13.0 → gam7-7.13.2}/wiki/Alert-Center.md +0 -0
  124. {gam7-7.13.0 → gam7-7.13.2}/wiki/Aliases.md +0 -0
  125. {gam7-7.13.0 → gam7-7.13.2}/wiki/Authorization.md +0 -0
  126. {gam7-7.13.0 → gam7-7.13.2}/wiki/BNF-Syntax.md +0 -0
  127. {gam7-7.13.0 → gam7-7.13.2}/wiki/Bulk-Processing.md +0 -0
  128. {gam7-7.13.0 → gam7-7.13.2}/wiki/CSV-Input-Filtering.md +0 -0
  129. {gam7-7.13.0 → gam7-7.13.2}/wiki/CSV-Output-Filtering.md +0 -0
  130. {gam7-7.13.0 → gam7-7.13.2}/wiki/CSV-Special-Characters.md +0 -0
  131. {gam7-7.13.0 → gam7-7.13.2}/wiki/Calendars-Access.md +0 -0
  132. {gam7-7.13.0 → gam7-7.13.2}/wiki/Calendars-Events.md +0 -0
  133. {gam7-7.13.0 → gam7-7.13.2}/wiki/Calendars.md +0 -0
  134. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chat-Bot.md +0 -0
  135. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chrome-AUE-Counts.md +0 -0
  136. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
  137. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chrome-Installed-Apps.md +0 -0
  138. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
  139. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chrome-Policies.md +0 -0
  140. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chrome-Printers.md +0 -0
  141. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chrome-Version-Counts.md +0 -0
  142. {gam7-7.13.0 → gam7-7.13.2}/wiki/Chrome-Version-History.md +0 -0
  143. {gam7-7.13.0 → gam7-7.13.2}/wiki/ChromeOS-Devices.md +0 -0
  144. {gam7-7.13.0 → gam7-7.13.2}/wiki/Classroom-Courses.md +0 -0
  145. {gam7-7.13.0 → gam7-7.13.2}/wiki/Classroom-Guardians.md +0 -0
  146. {gam7-7.13.0 → gam7-7.13.2}/wiki/Classroom-Invitations.md +0 -0
  147. {gam7-7.13.0 → gam7-7.13.2}/wiki/Classroom-Membership.md +0 -0
  148. {gam7-7.13.0 → gam7-7.13.2}/wiki/Cloud-Channel.md +0 -0
  149. {gam7-7.13.0 → gam7-7.13.2}/wiki/Cloud-Identity-Devices.md +0 -0
  150. {gam7-7.13.0 → gam7-7.13.2}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
  151. {gam7-7.13.0 → gam7-7.13.2}/wiki/Cloud-Identity-Groups.md +0 -0
  152. {gam7-7.13.0 → gam7-7.13.2}/wiki/Cloud-Identity-Policies.md +0 -0
  153. {gam7-7.13.0 → gam7-7.13.2}/wiki/Cloud-Storage.md +0 -0
  154. {gam7-7.13.0 → gam7-7.13.2}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
  155. {gam7-7.13.0 → gam7-7.13.2}/wiki/Collections-of-Users.md +0 -0
  156. {gam7-7.13.0 → gam7-7.13.2}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
  157. {gam7-7.13.0 → gam7-7.13.2}/wiki/Command-Line-Parsing.md +0 -0
  158. {gam7-7.13.0 → gam7-7.13.2}/wiki/Command-Logging-Progress.md +0 -0
  159. {gam7-7.13.0 → gam7-7.13.2}/wiki/Context-Aware-Access-Levels.md +0 -0
  160. {gam7-7.13.0 → gam7-7.13.2}/wiki/Customer.md +0 -0
  161. {gam7-7.13.0 → gam7-7.13.2}/wiki/Domain-People-Contacts-Profiles.md +0 -0
  162. {gam7-7.13.0 → gam7-7.13.2}/wiki/Domain-SharedContacts.md +0 -0
  163. {gam7-7.13.0 → gam7-7.13.2}/wiki/Domains-Verification.md +0 -0
  164. {gam7-7.13.0 → gam7-7.13.2}/wiki/Domains.md +0 -0
  165. {gam7-7.13.0 → gam7-7.13.2}/wiki/Downloads-Installs.md +0 -0
  166. {gam7-7.13.0 → gam7-7.13.2}/wiki/Drive-File-Selection.md +0 -0
  167. {gam7-7.13.0 → gam7-7.13.2}/wiki/Drive-Items.md +0 -0
  168. {gam7-7.13.0 → gam7-7.13.2}/wiki/Drive-REST-API-v3.md +0 -0
  169. {gam7-7.13.0 → gam7-7.13.2}/wiki/Email-Audit-Monitor.md +0 -0
  170. {gam7-7.13.0 → gam7-7.13.2}/wiki/Find-File-Owner.md +0 -0
  171. {gam7-7.13.0 → gam7-7.13.2}/wiki/GAM-Public-Chat-Room.md +0 -0
  172. {gam7-7.13.0 → gam7-7.13.2}/wiki/GAM-Return-Codes.md +0 -0
  173. {gam7-7.13.0 → gam7-7.13.2}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
  174. {gam7-7.13.0 → gam7-7.13.2}/wiki/GAM7-on-Android-Devices.md +0 -0
  175. {gam7-7.13.0 → gam7-7.13.2}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
  176. {gam7-7.13.0 → gam7-7.13.2}/wiki/Google-Data-Transfers.md +0 -0
  177. {gam7-7.13.0 → gam7-7.13.2}/wiki/Google-Network-Addresses.md +0 -0
  178. {gam7-7.13.0 → gam7-7.13.2}/wiki/Groups-Membership.md +0 -0
  179. {gam7-7.13.0 → gam7-7.13.2}/wiki/Groups.md +0 -0
  180. {gam7-7.13.0 → gam7-7.13.2}/wiki/HTTPS-Proxy.md +0 -0
  181. {gam7-7.13.0 → gam7-7.13.2}/wiki/Home.md +0 -0
  182. {gam7-7.13.0 → gam7-7.13.2}/wiki/How-to-Install-GAM7.md +0 -0
  183. {gam7-7.13.0 → gam7-7.13.2}/wiki/How-to-Uninstall-GAM7.md +0 -0
  184. {gam7-7.13.0 → gam7-7.13.2}/wiki/How-to-Update-GAM7.md +0 -0
  185. {gam7-7.13.0 → gam7-7.13.2}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
  186. {gam7-7.13.0 → gam7-7.13.2}/wiki/Inbound-SSO.md +0 -0
  187. {gam7-7.13.0 → gam7-7.13.2}/wiki/Install-GAM-as-Python-Library.md +0 -0
  188. {gam7-7.13.0 → gam7-7.13.2}/wiki/Licenses.md +0 -0
  189. {gam7-7.13.0 → gam7-7.13.2}/wiki/List.md +0 -0
  190. {gam7-7.13.0 → gam7-7.13.2}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
  191. {gam7-7.13.0 → gam7-7.13.2}/wiki/Mobile-Devices.md +0 -0
  192. {gam7-7.13.0 → gam7-7.13.2}/wiki/Organizational-Units.md +0 -0
  193. {gam7-7.13.0 → gam7-7.13.2}/wiki/Other-Resources.md +0 -0
  194. {gam7-7.13.0 → gam7-7.13.2}/wiki/Permission-Matches.md +0 -0
  195. {gam7-7.13.0 → gam7-7.13.2}/wiki/Python-Regular-Expressions.md +0 -0
  196. {gam7-7.13.0 → gam7-7.13.2}/wiki/README.md +0 -0
  197. {gam7-7.13.0 → gam7-7.13.2}/wiki/Rclone.md +0 -0
  198. {gam7-7.13.0 → gam7-7.13.2}/wiki/Reseller.md +0 -0
  199. {gam7-7.13.0 → gam7-7.13.2}/wiki/Resources.md +0 -0
  200. {gam7-7.13.0 → gam7-7.13.2}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
  201. {gam7-7.13.0 → gam7-7.13.2}/wiki/SSL-Root-CA-Certificates.md +0 -0
  202. {gam7-7.13.0 → gam7-7.13.2}/wiki/Schemas.md +0 -0
  203. {gam7-7.13.0 → gam7-7.13.2}/wiki/Scripts.md +0 -0
  204. {gam7-7.13.0 → gam7-7.13.2}/wiki/Send-Email.md +0 -0
  205. {gam7-7.13.0 → gam7-7.13.2}/wiki/Sites.md +0 -0
  206. {gam7-7.13.0 → gam7-7.13.2}/wiki/Tag-Replace.md +0 -0
  207. {gam7-7.13.0 → gam7-7.13.2}/wiki/Todrive.md +0 -0
  208. {gam7-7.13.0 → gam7-7.13.2}/wiki/Unmanaged-Accounts.md +0 -0
  209. {gam7-7.13.0 → gam7-7.13.2}/wiki/Upgrade-Benefits.md +0 -0
  210. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Analytics-Admin.md +0 -0
  211. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Application-Specific-Passwords.md +0 -0
  212. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Backup-Verification-Codes.md +0 -0
  213. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Calendars-Access.md +0 -0
  214. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Calendars-Events.md +0 -0
  215. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Calendars.md +0 -0
  216. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Chat.md +0 -0
  217. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Classification-Labels.md +0 -0
  218. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Classroom-Profile.md +0 -0
  219. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Contacts-Delegates.md +0 -0
  220. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Contacts.md +0 -0
  221. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Deprovision.md +0 -0
  222. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Activity-Settings.md +0 -0
  223. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Cleanup.md +0 -0
  224. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Comments.md +0 -0
  225. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Copy-Move.md +0 -0
  226. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Files-Display.md +0 -0
  227. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Files-Manage.md +0 -0
  228. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Orphans.md +0 -0
  229. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Ownership.md +0 -0
  230. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Permissions.md +0 -0
  231. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Query.md +0 -0
  232. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Revisions.md +0 -0
  233. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Shortcuts.md +0 -0
  234. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Drive-Transfer.md +0 -0
  235. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-CSE.md +0 -0
  236. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-Delegates.md +0 -0
  237. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-Filters.md +0 -0
  238. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-Forwarding.md +0 -0
  239. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-Labels.md +0 -0
  240. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-Messages-Threads.md +0 -0
  241. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-Profile.md +0 -0
  242. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-S-MIME.md +0 -0
  243. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
  244. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Gmail-Settings.md +0 -0
  245. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Group-Membership.md +0 -0
  246. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Keep-Notes.md +0 -0
  247. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Looker-Studio.md +0 -0
  248. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Meet.md +0 -0
  249. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-People-Contacts-Profiles.md +0 -0
  250. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Photo.md +0 -0
  251. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Profile-Photo.md +0 -0
  252. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Profile-Sharing.md +0 -0
  253. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Shared-Drives.md +0 -0
  254. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Signout-Turnoff2SV.md +0 -0
  255. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Spreadsheets.md +0 -0
  256. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Tasks.md +0 -0
  257. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-Tokens.md +0 -0
  258. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users-YouTube.md +0 -0
  259. {gam7-7.13.0 → gam7-7.13.2}/wiki/Users.md +0 -0
  260. {gam7-7.13.0 → gam7-7.13.2}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
  261. {gam7-7.13.0 → gam7-7.13.2}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
  262. {gam7-7.13.0 → gam7-7.13.2}/wiki/Vault-Takeout.md +0 -0
  263. {gam7-7.13.0 → gam7-7.13.2}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
  264. {gam7-7.13.0 → gam7-7.13.2}/wiki/gam.cfg.md +0 -0
  265. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-AdminSettingsExamples.md +0 -0
  266. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Android-Installation.md +0 -0
  267. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-BulkOperations.md +0 -0
  268. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-CalendarExamples.md +0 -0
  269. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Chat-Bot.md +0 -0
  270. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Chrome-Browser-Management.md +0 -0
  271. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Chrome-OS-Installation.md +0 -0
  272. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Chrome-Policy-Settings.md +0 -0
  273. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Cloud-Identity-Groups.md +0 -0
  274. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
  275. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Command-Reference-Calendars.md +0 -0
  276. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Command-Reference-Definitions.md +0 -0
  277. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Command-Reference-Drive.md +0 -0
  278. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Command-Reference-Email.md +0 -0
  279. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
  280. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Command-Reference-Groups.md +0 -0
  281. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Command-Reference-Users.md +0 -0
  282. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Context-Aware-Access-Levels.md +0 -0
  283. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
  284. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-CreatingClientSecretsFile.md +0 -0
  285. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Custom-Schemas.md +0 -0
  286. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Data-Transfers.md +0 -0
  287. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-DomainVerification.md +0 -0
  288. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-ExamplesAccountAuditing.md +0 -0
  289. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-ExamplesCSV.md +0 -0
  290. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-ExamplesEmailSettings.md +0 -0
  291. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-ExamplesOrganizations.md +0 -0
  292. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-GAM-Discussion-Group.md +0 -0
  293. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
  294. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-GAM-options-files.md +0 -0
  295. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
  296. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-GAM3CSVListings.md +0 -0
  297. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-GAM3DirectoryCommands.md +0 -0
  298. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-GAM3GroupSettings.md +0 -0
  299. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-GAM7-FAQ.md +0 -0
  300. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
  301. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-GoogleDriveManagement.md +0 -0
  302. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
  303. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Home.md +0 -0
  304. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
  305. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Inbound-SSO-Settings.md +0 -0
  306. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-LicenseExamples.md +0 -0
  307. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Managing-Admins.md +0 -0
  308. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
  309. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Managing-Devices.md +0 -0
  310. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Managing-Google-Classroom.md +0 -0
  311. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-OAuthKeyManagement.md +0 -0
  312. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Printers.md +0 -0
  313. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-ResellerCommands.md +0 -0
  314. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
  315. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-SecurityExamples.md +0 -0
  316. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-UnmanagedUsersExamples.md +0 -0
  317. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Use-a-Yubikey.md +0 -0
  318. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
  319. {gam7-7.13.0 → gam7-7.13.2}/wiki/l-_Footer.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.13.0
3
+ Version: 7.13.2
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
@@ -381,7 +381,7 @@ If an item contains spaces, it should be surrounded by ".
381
381
  domain:<DomainName>|domain|default
382
382
  <CalendarItem> ::= <EmailAddress>
383
383
  <ChannelCustomerID> ::= <String>
384
- <ChatEmojiName> ::= :<String>:
384
+ <ChatEmojiName> ::= :[0-9a-z_-]+:
385
385
  <ChatEmoji> ::= emojiname <ChatEmojiName> | customemojis/<String>
386
386
  <ChatMember> ::= spaces/<String>/members/<String>
387
387
  <ChatMessage> ::= spaces/<String>/messages/<String>
@@ -533,7 +533,6 @@ If an item contains spaces, it should be surrounded by ".
533
533
  <Password> ::= <String>
534
534
  <PeopleResourceName> ::= people/<String>
535
535
  <PrinterID> ::= <String>
536
- <ChromeProfileID> ::= <String>
537
536
  <ProjectID> ::= <String>
538
537
  Must match this Python Regular Expression: [a-z][a-z0-9-]{4,28}[a-z0-9]
539
538
  <ProjectName> ::= <String>
@@ -685,9 +684,15 @@ If an item contains spaces, it should be surrounded by ".
685
684
  <CalendarACLScopeList> ::= "<CalendarACLScope>(,<CalendarACLScope>)*"
686
685
  <CalendarList> ::= "<CalendarItem>(,<CalendarItem>)*"
687
686
  <ChatSpaceList> ::= "<ChatSpace>(,<ChatSpace>)*"
687
+ <ChromeProfileNameList> ::= "<ChromeProfileName>(,<ChromeProfileName>)*"
688
688
  <CIGroupAliasList> ::= "<CIGroupAlias>(,<CIGroupAlias>)*"
689
689
  <CIGroupMemberTypeList> ::= "<CIGroupMemberType>(,<CIGroupMemberType>)*"
690
690
  <CIPolicyNameList> ::= "<CIPolicyName>(,<CIPolicyName>)*"
691
+ <ClassificationLabelIDList> ::= "<ClassificationLabelID>(,<ClassificationLabelID>)*"
692
+ <ClassificationLabelNameList> ::= "<ClassificationLabelName>(,<ClassificationLabelName>)*"
693
+ <ClassificationLabelPermissionNameList> ::= "<ClassificationLabelPermissionName>(,<ClassificationLabelPermissionName>)*"
694
+ <ClassificationLabelFieldIDList> ::= "<ClassificationLabelFieldID>(,<ClassificationLabelFieldID>)*"
695
+ <ClassificationLabelSelectionIDList> ::= "<ClassificationLabelSelectionID>(,<ClassificationLabelSelectionID>)*"
691
696
  <ClassroomInvitationIDList> ::= "<ClassroomInvitationID>(,<ClassroomInvitationID>)*"
692
697
  <ContactGroupList> ::= "<ContactGroupItem>(,<ContactGroupItem>)*"
693
698
  <ContactIDList> ::= "<ContactID>(,<ContactID>)*"
@@ -1019,6 +1024,8 @@ Specify a collection of items by directly specifying them; the item type is dete
1019
1024
  <CalendarACLScopeList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
1020
1025
  <CalendarEntity> ::=
1021
1026
  <CalendarList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
1027
+ <ChromeProfileNameEntity> ::=
1028
+ <ChromeProfileNameList> | <FileSelector> | <CSVFileSelector>
1022
1029
  <CIPolicyNameEntity> ::=
1023
1030
  <CIPolicyNameList> | <FileSelector> | <CSVFileSelector>
1024
1031
  <ClassificationLabelNameEntity> ::=
@@ -2222,6 +2229,11 @@ gam show chromeneedsattn
2222
2229
  <ChromeProfilePermanentID> ::= <String>
2223
2230
  <ChromeProfileName> ::= customers/<CustomerID>/profiles/<ChromeProfilePermanentID> | <ChromeProfilePermanentID>
2224
2231
  <ChromeProfileCommandName> ::= <ChomeProfileName>/commands/<String>
2232
+ <ChromeProfileNameList> ::= "<ChromeProfileName>(,<ChromeProfileName>)*"
2233
+ <ChromeProfileNameEntity> ::=
2234
+ <ChromeProfileNameList> |
2235
+ (select <FileSelector>|<CSVFileSelector>) |
2236
+ (filter <String> (filtertime<String> <Time>)* [orderby <ChromeProfileOrderByFieldName> [ascending|descending]])
2225
2237
 
2226
2238
  <ChromeProfileFieldName> ::=
2227
2239
  affiliationstate|
@@ -2273,26 +2285,26 @@ gam delete chromeprofile <ChromeProfileName>
2273
2285
  gam info chromeprofile <ChromeProfileName>
2274
2286
  <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
2275
2287
  gam show chromeprofiles
2276
- [filtertime.* <Time>] [filter <String>]
2288
+ [filter <String> (filtertime<String> <Time>)*]
2277
2289
  [orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
2278
2290
  <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
2279
2291
  [formatjson]
2280
2292
  gam print chromeprofiles [todrive <ToDriveAttribute>*]
2281
- [filtertime.* <Time>] [filter <String>]
2293
+ [filter <String> (filtertime<String> <Time>)*]
2282
2294
  [orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
2283
2295
  <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
2284
2296
  [formatjson [quotechar <Character>]]
2285
2297
 
2286
- gam create chromeprofilecommand <ChromeProfileName>
2298
+ gam create chromeprofilecommand <ChromeProfileNameEntity>
2287
2299
  [clearcache [<Boolean>]] [clearcookies [<Boolean>]]
2288
2300
  [formatjson]
2289
2301
 
2290
2302
  gam info chromeprofilecommand <ChromeProfileCommandName>
2291
2303
  [formatjson]
2292
2304
 
2293
- gam show chromeprofilecommands <ChromeProfileName>
2305
+ gam show chromeprofilecommands <ChromeProfileNameEntity>
2294
2306
  [formatjson]
2295
- gam print chromeprofilecommands <ChromeProfileName> [todrive <ToDriveAttribute>*]
2307
+ gam print chromeprofilecommands <ChromeProfileNameEntity> [todrive <ToDriveAttribute>*]
2296
2308
  [formatjson [quotechar <Character>]]
2297
2309
 
2298
2310
  # Chrome Versions Counts
@@ -3432,8 +3444,7 @@ gam print|show transferapps
3432
3444
 
3433
3445
  <DataTransferService> ::=
3434
3446
  calendar|
3435
- currents|
3436
- datastudio|lookerstudio|"google data studio"|
3447
+ datastudio|lookerstudio|"looker studio"|
3437
3448
  googledrive|gdrive|drive|"drive and docs"
3438
3449
  <DataTransferServiceList> ::= "<DataTransferService>(,<DataTransferService>)*"
3439
3450
 
@@ -4511,7 +4522,7 @@ gam report <ActivityApplicationName> [todrive <ToDriveAttribute>*]
4511
4522
  [(user all|<UserItem>)|(orgunit|org|ou <OrgUnitPath> [showorgunit])|(select <UserTypeEntity>)]
4512
4523
  [([start <Time>] [end <Time>])|(range <Time> <Time>)|
4513
4524
  yesterday|today|thismonth|(previousmonths <Integer>)]
4514
- [filtertime.<String> <Time>] [filter|filters <String>]
4525
+ [filter <String> (filtertime<String> <Time>)*]
4515
4526
  [event|events <EventNameList>] [ip <String>]
4516
4527
  [groupidfilter <String>]
4517
4528
  [maxactivities <Number>] [maxevents <Number>] [maxresults <Number>]
@@ -4558,7 +4569,7 @@ gam report users|user [todrive <ToDriveAttribute>*]
4558
4569
  [(date <Date>)|(range <Date> <Date>)|
4559
4570
  yesterday|today|thismonth|(previousmonths <Integer>)]
4560
4571
  [(nodatechange | limitdatechanges <Integer>) | (fulldatarequired all|<UserServiceNameList>)]
4561
- [filtertime.* <Time>] [filter|filters <String>]
4572
+ [filter <String> (filtertime<String> <Time>)*]
4562
4573
  [(fields|parameters <String>)|(services <UserServiceNameList>)]
4563
4574
  [aggregatebydate|aggregatebyuser [Boolean]]
4564
4575
  [maxresults <Number>]
@@ -7486,10 +7497,10 @@ gam <UserTypeEntity> show forms <DriveFileEntity>
7486
7497
 
7487
7498
  gam <UserTypeEntity> print formresponses <DriveFileEntity> [todrive <ToDriveAttribute>*]
7488
7499
  (addcsvdata <FieldName> <String>)*
7489
- [filtertime.* <Time>] [filter <String>]
7500
+ [filter <String> (filtertime<String> <Time>)*]
7490
7501
  [countsonly|(formatjson [quotechar <Character>])]
7491
7502
  gam <UserTypeEntity> show formresponses <DriveFileEntity>
7492
- [filtertime.* <Time>] [filter <String>]
7503
+ [filter <String> (filtertime<String> <Time>)*]
7493
7504
  [countsonly|formatjson]
7494
7505
 
7495
7506
  # Users - Gmail - Forwarding
@@ -1,3 +1,29 @@
1
+ 7.13.02
2
+
3
+ Fixed bug in `gam create chromeprofilecommand` where `select|filter` were not recognized.
4
+
5
+ Updated `gam create datatransfer <OldOwnerID> datastudio <NewOwnerID>` that generated the following
6
+ error due to an unhandled API change.
7
+ ```
8
+ ERROR: Invalid choice (google data studio): Expected <calendar|looker studio|drive and docs>
9
+ ```
10
+
11
+ 7.13.01
12
+
13
+ Enhanced `gam create|print|show chromeprofilecommand` to allow specification
14
+ of multiple Chrome browser profiles rather than just one.
15
+ ```
16
+ <ChromeProfilePermanentID> ::= <String>
17
+ <ChromeProfileName> ::= customers/<CustomerID>/profiles/<ChromeProfilePermanentID> | <ChromeProfilePermanentID>
18
+ <ChromeProfileNameList> ::= "<ChromeProfileName>(,<ChromeProfileName>)*"
19
+ <ChromeProfileNameEntity> ::=
20
+ <ChromeProfileNameList> |
21
+ (select <FileSelector>|<CSVFileSelector>) |
22
+ (filter <String> (filtertime<String> <Time>)* [orderby <ChromeProfileOrderByFieldName> [ascending|descending]])
23
+
24
+ gam create|print_show chromeprofilecommand <ChromeProfileNameEntity>
25
+ ```
26
+
1
27
  7.13.00
2
28
 
3
29
  Added commands that send remote commands to Chrome browser profiles and display the results;
@@ -12807,7 +12833,7 @@ gam <UserTypeEntity> update teamdrive <TeamDriveEntity> [adminaccess|asadmin] [n
12807
12833
  Updated gam report users to support new orgUnitID argument in Reports API.
12808
12834
 
12809
12835
  gam report users|user [todrive <ToDriveAttribute>*] [date <Date>] [nodatechange | (fulldatarequired all|<ReportsAppList>)]
12810
- [(user all|<UserItem>)|(orgunit|org|ou <OrgUnitPath>)|(select <UserTypeEntity>)] (filtertime.* <Time>)* [filter|filters <String>] [fields|parameters <String>]
12836
+ [(user all|<UserItem>)|(orgunit|org|ou <OrgUnitPath>)|(select <UserTypeEntity>)] (filtertime<String> <Time>)* [filter|filters <String>] [fields|parameters <String>]
12811
12837
  [maxactivities <Number>] [maxresults <Number>]
12812
12838
 
12813
12839
  Select the users for whom information is desired.
@@ -13398,15 +13424,15 @@ gam print cros query "sync:#querytime1#.." querytime1 -30d
13398
13424
  For example, to print information about CrOS devices synced between 45 days ago and 30 days ago:
13399
13425
  gam print cros query "sync:#querytime1#..#querytime2#" querytime1 -45d querytime2 -30d
13400
13426
 
13401
- Added filtertime.* <Time> option to gam report to allow times, usually relative, to be substituted into the filter <String> option.
13402
- The filtertime.* value replaces the string #filtertime.*# in the filter <String>.
13427
+ Added filtertime<String> <Time> option to gam report to allow times, usually relative, to be substituted into the filter <String> option.
13428
+ The filtertime<String> value replaces the string #filtertime<String># in the filter <String>.
13403
13429
  The characters following filtertime can be any combination of lowercase letters and numbers.
13404
13430
  gam report users|user [todrive <ToDriveAttribute>*] [date <Date>] [nodatechange | (fulldatarequired all|<ReportsAppList>)]
13405
- [(user all|<UserItem>)|(select <UserTypeEntity>)] (filtertime.* <Time>)* [filter|filters <String>] [fields|parameters <String>]
13431
+ [(user all|<UserItem>)|(select <UserTypeEntity>)] (filtertime<String> <Time>)* [filter|filters <String>] [fields|parameters <String>]
13406
13432
  [maxactivities <Number>] [maxresults <Number>]
13407
13433
  gam report admin|calendar|calendars|drive|docs|doc|gplus|groups|group|logins|login|mobile|rules|tokens|token [todrive <ToDriveAttribute>*] [maxresults <Number>] [maxactivities <Number>]
13408
13434
  [([start <Time>] [end <Time>])|yesterday] [(user all|<UserItem>)|(select <UserTypeEntity>)]
13409
- [event <String>] (filtertime.* <Time>)* [filter|filters <String>] [ip <String>] [countsonly] [summary]
13435
+ [event <String>] (filtertime<String> <Time>)* [filter|filters <String>] [ip <String>] [countsonly] [summary]
13410
13436
 
13411
13437
  For example, this command reports on the users that haven't logged in in the last 5 years.
13412
13438
  gam report users parameters accounts:last_login_time filters "accounts:last_login_time<#filtertime#" filtertime -5y
@@ -13562,21 +13588,21 @@ Added units of years to <Date>, <DateTime> and <Time>; a year is 365 days. Added
13562
13588
  never|
13563
13589
  now|today
13564
13590
 
13565
- Added filtertime <Time> option to gam report to allow times, usually relative, to be substituted into the filter <String> option.
13566
- If both filtertime and filter are specified, the filtertime value replaces the string #filtertime# in the filter <String>.
13591
+ Added filtertime<String> <Time> option to gam report to allow times, usually relative, to be substituted into the filter <String> option.
13592
+ If both filtertime<String> and filter are specified, the filtertime value replaces the string #filtertime<String># in the filter <String>.
13567
13593
 
13568
13594
  gam report users|user [todrive <ToDriveAttribute>*] [date <Date>] [nodatechange | (fulldatarequired all|<ReportsAppList>)]
13569
- [(user all|<UserItem>)|(select <UserTypeEntity>)] [filtertime <Time>] [filter|filters <String>] [fields|parameters <String>]
13595
+ [(user all|<UserItem>)|(select <UserTypeEntity>)] [filtertime<String> <Time>] [filter|filters <String>] [fields|parameters <String>]
13570
13596
  [maxactivities <Number>] [maxresults <Number>]
13571
13597
  gam report admin|calendar|calendars|drive|docs|doc|gplus|groups|group|logins|login|mobile|rules|tokens|token [todrive <ToDriveAttribute>*] [maxresults <Number>] [maxactivities <Number>]
13572
13598
  [([start <Time>] [end <Time>])|yesterday] [(user all|<UserItem>)|(select <UserTypeEntity>)]
13573
- [event <String>] [filtertime <Time>] [filter|filters <String>] [ip <String>] [countsonly] [summary]
13599
+ [event <String>] [filtertime<String> <Time>] [filter|filters <String>] [ip <String>] [countsonly] [summary]
13574
13600
 
13575
13601
  For example, this command reports on the users that haven't logged in in the last 5 years.
13576
- gam report users parameters accounts:last_login_time filters "accounts:last_login_time<#filtertime#" filtertime -5y
13602
+ gam report users parameters accounts:last_login_time filters "accounts:last_login_time<#filtertime5y#" filtertime5y -5y
13577
13603
 
13578
13604
  For example, this command reports on the users that haven't ever logged in.
13579
- gam report users parameters accounts:last_login_time filters "accounts:last_login_time==#filtertime#" filtertime never
13605
+ gam report users parameters accounts:last_login_time filters "accounts:last_login_time==#filtertimeNever#" filtertimeNever never
13580
13606
 
13581
13607
  4.60.14
13582
13608
 
@@ -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.13.00'
28
+ __version__ = '7.13.02'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -13641,7 +13641,7 @@ REPORT_ACTIVITIES_TIME_OBJECTS = {'time'}
13641
13641
  # [(user all|<UserItem>)|(orgunit|org|ou <OrgUnitPath> [showorgunit])|(select <UserTypeEntity>)]
13642
13642
  # [([start <Time>] [end <Time>])|(range <Time> <Time>)|
13643
13643
  # yesterday|today|thismonth|(previousmonths <Integer>)]
13644
- # [filtertime.* <Time>] [filter|filters <String>]
13644
+ # [filter <String> (filtertime<String> <Time>)*]
13645
13645
  # [event|events <EventNameList>] [ip <String>]
13646
13646
  # [groupidfilter <String>]
13647
13647
  # [maxactivities <Number>] [maxevents <Number>] [maxresults <Number>]
@@ -13653,7 +13653,7 @@ REPORT_ACTIVITIES_TIME_OBJECTS = {'time'}
13653
13653
  # [(date <Date>)|(range <Date> <Date>)|
13654
13654
  # yesterday|today|thismonth|(previousmonths <Integer>)]
13655
13655
  # [nodatechange | (fulldatarequired all|<UserServiceNameList>)]
13656
- # [filtertime.* <Time>] [filter|filters <String>]
13656
+ # [filter <String> (filtertime<String> <Time>)*]
13657
13657
  # [(fields|parameters <String>)|(services <UserServiceNameList>)]
13658
13658
  # [aggregatebydate|aggregatebyuser [Boolean]]
13659
13659
  # [maxresults <Number>]
@@ -17071,14 +17071,14 @@ def _convertTransferAppIDtoName(apps, appID):
17071
17071
  return f'applicationId: {appID}'
17072
17072
 
17073
17073
  DRIVE_AND_DOCS_APP_NAME = 'drive and docs'
17074
- GOOGLE_DATA_STUDIO_APP_NAME = 'google data studio'
17074
+ GOOGLE_LOOKER_STUDIO_APP_NAME = 'looker studio'
17075
17075
 
17076
17076
  SERVICE_NAME_CHOICE_MAP = {
17077
- 'datastudio': GOOGLE_DATA_STUDIO_APP_NAME,
17077
+ 'datastudio': GOOGLE_LOOKER_STUDIO_APP_NAME,
17078
17078
  'drive': DRIVE_AND_DOCS_APP_NAME,
17079
17079
  'googledrive': DRIVE_AND_DOCS_APP_NAME,
17080
17080
  'gdrive': DRIVE_AND_DOCS_APP_NAME,
17081
- 'lookerstudio': GOOGLE_DATA_STUDIO_APP_NAME,
17081
+ 'lookerstudio': GOOGLE_LOOKER_STUDIO_APP_NAME,
17082
17082
  }
17083
17083
 
17084
17084
  def _validateTransferAppName(apps, appName):
@@ -25491,7 +25491,7 @@ def doUpdateBrowsers():
25491
25491
  checkEntityAFDNEorAccessErrorExit(None, Ent.CHROME_BROWSER, deviceId, i, count)
25492
25492
 
25493
25493
  def _getChromeProfileName():
25494
- profileName = getString(Cmd.OB_CHROMEPROFILE_ID)
25494
+ profileName = getString(Cmd.OB_CHROMEPROFILE_NAME)
25495
25495
  if not profileName.startswith('customers'):
25496
25496
  customerId = _getCustomerId()
25497
25497
  profileName = f'customers/{customerId}/profiles/{profileName}'
@@ -25598,12 +25598,12 @@ CHROMEPROFILE_ORDERBY_CHOICE_MAP = {
25598
25598
  }
25599
25599
 
25600
25600
  # gam show chromeprofiles
25601
- # [filtertime.* <Time>] [filter <String>]
25601
+ # [filter <String> (filtertime<String> <Time>)*]
25602
25602
  # [orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
25603
25603
  # <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
25604
25604
  # [formatjson]
25605
25605
  # gam print chromeprofiles [todrive <ToDriveAttribute>*]
25606
- # [filtertime.* <Time>] [filter <String>]
25606
+ # [filter <String> (filtertime<String> <Time>)*]
25607
25607
  # [orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
25608
25608
  # <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
25609
25609
  # [formatjson [quotechar <Character>]]
@@ -25641,7 +25641,7 @@ def doPrintShowChromeProfiles():
25641
25641
  sortHeaders = True
25642
25642
  else:
25643
25643
  FJQC.GetFormatJSONQuoteChar(myarg, True)
25644
- if filterTimes and filter is not None:
25644
+ if filterTimes and cbfilter is not None:
25645
25645
  for filterTimeName, filterTimeValue in iter(filterTimes.items()):
25646
25646
  cbfilter = cbfilter.replace(f'#{filterTimeName}#', filterTimeValue)
25647
25647
  fields = getItemFieldsFromFieldsList('chromeBrowserProfiles', fieldsList)
@@ -25676,6 +25676,55 @@ def doPrintShowChromeProfiles():
25676
25676
  csvPF.SetSortTitles(['name', 'profileId'])
25677
25677
  csvPF.writeCSVfile('Chrome Profiles')
25678
25678
 
25679
+ def _getChromeProfileNameList():
25680
+ if not Cmd.PeekArgumentPresent(['select', 'filter', 'filters']):
25681
+ return getString(Cmd.OB_CHROMEPROFILE_NAME_LIST).replace(',', ' ').split()
25682
+ return []
25683
+
25684
+ def _initChromeProfileNameParameters():
25685
+ cm = buildGAPIObject(API.CHROMEMANAGEMENT)
25686
+ return (cm, {'profileNameList': _getChromeProfileNameList(), 'customerId': _getCustomerId(),
25687
+ 'cbfilter': None, 'filterTimes': {},
25688
+ 'OBY': OrderBy(CHROMEPROFILE_ORDERBY_CHOICE_MAP)})
25689
+
25690
+ def _getChromeProfileNameParameters(myarg, parameters):
25691
+ if not parameters['cbfilter'] and myarg == 'select':
25692
+ parameters['profileNameList'].extend(getEntityList(Cmd.OB_CHROMEPROFILE_NAME_LIST))
25693
+ elif not parameters['profileNameList'] and myarg == 'orderby':
25694
+ parameters['OBY'].GetChoice()
25695
+ elif not parameters['profileNameList'] and myarg.startswith('filtertime'):
25696
+ parameters['filterTimes'][myarg] = getTimeOrDeltaFromNow()
25697
+ elif not parameters['profileNameList'] and myarg in {'filter', 'filters'}:
25698
+ parameters['cbfilter'] = getString(Cmd.OB_STRING)
25699
+ else:
25700
+ return False
25701
+ return True
25702
+
25703
+ def _getChromeProfileNameEntityForCommand(cm, parameters):
25704
+ if parameters['cbfilter'] is None:
25705
+ customerId = parameters['customerId']
25706
+ for i, profileName in enumerate(parameters['profileNameList']):
25707
+ if not profileName.startswith('customers'):
25708
+ parameters['profileNameList'][i] = f'customers/{customerId}/profiles/{profileName}'
25709
+ return
25710
+ if parameters['filterTimes']:
25711
+ for filterTimeName, filterTimeValue in iter(parameters['filterTimes'].items()):
25712
+ parameters['cbfilter'] = parameters['cbfilter'].replace(f'#{filterTimeName}#', filterTimeValue)
25713
+ printGettingAllAccountEntities(Ent.CHROME_PROFILE, parameters['cbfilter'])
25714
+ pageMessage = getPageMessage()
25715
+ try:
25716
+ feed = yieldGAPIpages(cm.customers().profiles(), 'list', 'chromeBrowserProfiles',
25717
+ pageMessage=pageMessage,
25718
+ throwReasons=[GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
25719
+ parent=f'customers/{parameters["customerId"]}', pageSize=200,
25720
+ filter=parameters['cbfilter'], orderBy=parameters['OBY'].orderBy,
25721
+ fields='nextPageToken,chromeBrowserProfiles(name)')
25722
+ for profiles in feed:
25723
+ for profile in profiles:
25724
+ parameters['profileNameList'].append(profile['name'])
25725
+ except (GAPI.invalidArgument, GAPI.permissionDenied) as e:
25726
+ entityActionFailedExit([Ent.CHROME_PROFILE, parameters['cbfilter']], str(e))
25727
+
25679
25728
  CHROMEPROFILECOMMAND_TIME_OBJECTS = {
25680
25729
  'clientExecutionTime',
25681
25730
  'issueTime',
@@ -25691,29 +25740,37 @@ def _showChromeProfileCommand(profcmd, FJQC, i=0, count=0):
25691
25740
  showJSON(None, profcmd, timeObjects=CHROMEPROFILECOMMAND_TIME_OBJECTS)
25692
25741
  Ind.Decrement()
25693
25742
 
25694
- # gam create chromeprofilecommand <ChromeProfileName>
25743
+ # gam create chromeprofilecommand <ChromeProfileNameEntity>
25695
25744
  # [clearcache [<Boolean>]] [clearcookies [<Boolean>]]
25696
25745
  # [formatjson]
25697
25746
  def doCreateChromeProfileCommand():
25698
- cm = buildGAPIObject(API.CHROMEMANAGEMENT)
25699
- profileName = _getChromeProfileName()
25747
+ cm, parameters = _initChromeProfileNameParameters()
25700
25748
  body = {'commandType': 'clearBrowsingData', 'payload': {}}
25701
25749
  FJQC = FormatJSONQuoteChar()
25702
25750
  while Cmd.ArgumentsRemaining():
25703
25751
  myarg = getArgument()
25704
- if myarg == 'clearcache':
25752
+ if _getChromeProfileNameParameters(myarg, parameters):
25753
+ pass
25754
+ elif myarg == 'clearcache':
25705
25755
  body['payload']['clearCache'] = getBoolean()
25706
25756
  elif myarg == 'clearcookies':
25707
25757
  body['payload']['clearCookies'] = getBoolean()
25708
25758
  else:
25709
25759
  FJQC.GetFormatJSON(myarg)
25710
- try:
25711
- profcmd = callGAPI(cm.customers().profiles().commands(), 'create',
25712
- throwReasons=[GAPI.INVALID_ARGUMENT, GAPI.NOT_FOUND, GAPI.PERMISSION_DENIED],
25713
- parent=profileName, body=body)
25714
- _showChromeProfileCommand(profcmd, FJQC)
25715
- except (GAPI.invalidArgument, GAPI.notFound, GAPI.permissionDenied) as e:
25716
- entityActionFailedExit([Ent.CHROME_PROFILE_COMMAND, profileName], str(e))
25760
+ _getChromeProfileNameEntityForCommand(cm, parameters)
25761
+ count = len(parameters['profileNameList'])
25762
+ i = 0
25763
+ for profileName in parameters['profileNameList']:
25764
+ i +=1
25765
+ try:
25766
+ profcmd = callGAPI(cm.customers().profiles().commands(), 'create',
25767
+ throwReasons=[GAPI.INVALID_ARGUMENT, GAPI.NOT_FOUND, GAPI.PERMISSION_DENIED],
25768
+ parent=profileName, body=body)
25769
+ _showChromeProfileCommand(profcmd, FJQC)
25770
+ except (GAPI.notFound) as e:
25771
+ entityActionFailedWarning([Ent.CHROME_PROFILE_COMMAND, profileName], str(e), i, count)
25772
+ except (GAPI.invalidArgument, GAPI.permissionDenied) as e:
25773
+ entityActionFailedExit([Ent.CHROME_PROFILE_COMMAND, profileName], str(e))
25717
25774
 
25718
25775
  # gam info chromeprofilecommand <ChromeProfileCommandName>
25719
25776
  # [formatjson]
@@ -25732,9 +25789,9 @@ def doInfoChromeProfileCommand():
25732
25789
  except (GAPI.invalidArgument, GAPI.notFound, GAPI.permissionDenied) as e:
25733
25790
  entityActionFailedExit([Ent.CHROME_PROFILE, profileCommandName], str(e))
25734
25791
 
25735
- # gam show chromeprofilecommands <ChromeProfileName>
25792
+ # gam show chromeprofilecommands <ChromeProfileNameEntity>
25736
25793
  # [formatjson]
25737
- # gam print chromeprofilecommands <ChromeProfileName> [todrive <ToDriveAttribute>*]
25794
+ # gam print chromeprofilecommands <ChromeProfilNameEntity> [todrive <ToDriveAttribute>*]
25738
25795
  # [formatjson [quotechar <Character>]]
25739
25796
  def doPrintShowChromeProfileCommands():
25740
25797
  def _printProfileCommand(profcmd):
@@ -25746,28 +25803,31 @@ def doPrintShowChromeProfileCommands():
25746
25803
  'JSON': json.dumps(cleanJSON(profcmd, timeObjects=CHROMEPROFILECOMMAND_TIME_OBJECTS),
25747
25804
  ensure_ascii=False, sort_keys=True)})
25748
25805
 
25749
- cm = buildGAPIObject(API.CHROMEMANAGEMENT)
25750
25806
  csvPF = CSVPrintFile(['name']) if Act.csvFormat() else None
25751
25807
  FJQC = FormatJSONQuoteChar(csvPF)
25752
- profileName = _getChromeProfileName()
25808
+ cm, parameters = _initChromeProfileNameParameters()
25753
25809
  while Cmd.ArgumentsRemaining():
25754
25810
  myarg = getArgument()
25755
25811
  if csvPF and myarg == 'todrive':
25756
25812
  csvPF.GetTodriveParameters()
25813
+ elif _getChromeProfileNameParameters(myarg, parameters):
25814
+ pass
25757
25815
  else:
25758
25816
  FJQC.GetFormatJSONQuoteChar(myarg, True)
25759
- printGettingEntityItemForWhom(Ent.CHROME_PROFILE_COMMAND, profileName)
25760
- pageMessage = getPageMessage()
25761
- try:
25762
- feed = yieldGAPIpages(cm.customers().profiles().commands(), 'list', 'chromeBrowserProfileCommands',
25763
- pageMessage=pageMessage,
25764
- throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
25765
- parent=profileName, pageSize=100)
25766
- for profcmds in feed:
25817
+ _getChromeProfileNameEntityForCommand(cm, parameters)
25818
+ count = len(parameters['profileNameList'])
25819
+ i = 0
25820
+ for profileName in parameters['profileNameList']:
25821
+ i +=1
25822
+ printGettingEntityItemForWhom(Ent.CHROME_PROFILE_COMMAND, profileName, i, count)
25823
+ pageMessage = getPageMessage()
25824
+ try:
25825
+ profcmds = callGAPIpages(cm.customers().profiles().commands(), 'list', 'chromeBrowserProfileCommands',
25826
+ pageMessage=pageMessage,
25827
+ throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
25828
+ parent=profileName, pageSize=100)
25767
25829
  if not csvPF:
25768
25830
  jcount = len(profcmds)
25769
- if not FJQC.formatJSON:
25770
- performActionNumItems(jcount, Ent.CHROME_PROFILE_COMMAND)
25771
25831
  Ind.Increment()
25772
25832
  j = 0
25773
25833
  for profcmd in profcmds:
@@ -25777,8 +25837,10 @@ def doPrintShowChromeProfileCommands():
25777
25837
  else:
25778
25838
  for profcmd in profcmds:
25779
25839
  _printProfileCommand(profcmd)
25780
- except (GAPI.notFound, GAPI.invalidArgument, GAPI.permissionDenied) as e:
25781
- entityActionFailedExit([Ent.CHROME_PROFILE, profileName], str(e))
25840
+ except (GAPI.notFound) as e:
25841
+ entityActionFailedWarning([Ent.CHROME_PROFILE, profileName], str(e), i, count)
25842
+ except (GAPI.invalidArgument, GAPI.permissionDenied) as e:
25843
+ entityActionFailedExit([Ent.CHROME_PROFILE, profileName], str(e))
25782
25844
  if csvPF:
25783
25845
  csvPF.writeCSVfile('Chrome Profile Commands')
25784
25846
 
@@ -73375,11 +73437,11 @@ def printShowForms(users):
73375
73437
  FORM_RESPONSE_TIME_OBJECTS = {'createTime', 'lastSubmittedTime'}
73376
73438
 
73377
73439
  # gam <UserTypeEntity> print formresponses <DriveFileEntity> [todrive <ToDriveAttribute>*]
73378
- # [filtertime.* <Time>] [filter <String>]
73440
+ # [filter <String> (filtertime<String> <Time>)*]
73379
73441
  # (addcsvdata <FieldName> <String>)*
73380
73442
  # [countsonly|(formatjson [quotechar <Character>])]
73381
73443
  # gam <UserTypeEntity> show formresponses <DriveFileEntity>
73382
- # [filtertime.* <Time>] [filter <String>]
73444
+ # [filter <String> (filtertime<String> <Time>)*]
73383
73445
  # [countsonly|formatjson]
73384
73446
  def printShowFormResponses(users):
73385
73447
  csvPF = CSVPrintFile(['User', 'formId', 'responseId', 'createTime', 'lastSubmittedTime', 'respondentEmail', 'totalScore'],
@@ -73405,7 +73467,7 @@ def printShowFormResponses(users):
73405
73467
  addCSVData[k] = getString(Cmd.OB_STRING, minLen=0)
73406
73468
  else:
73407
73469
  FJQC.GetFormatJSONQuoteChar(myarg, True)
73408
- if filterTimes and filter is not None:
73470
+ if filterTimes and frfilter is not None:
73409
73471
  for filterTimeName, filterTimeValue in iter(filterTimes.items()):
73410
73472
  frfilter = frfilter.replace(f'#{filterTimeName}#', filterTimeValue)
73411
73473
  if csvPF:
@@ -857,7 +857,8 @@ class GamCLArgs():
857
857
  OB_CHAT_SPACE = 'ChatSpace'
858
858
  OB_CHAT_SPACE_LIST = 'ChatSpaceList'
859
859
  OB_CHAT_THREAD = 'ChatThread'
860
- OB_CHROMEPROFILE_ID = 'ChromeProfileId'
860
+ OB_CHROMEPROFILE_NAME = 'ChromeProfileName'
861
+ OB_CHROMEPROFILE_NAME_LIST = 'ChromeProfileNameList'
861
862
  OB_CHROME_VERSION = 'ChromeVersion'
862
863
  OB_CIDR_NETMASK = 'CIDRnetmask'
863
864
  OB_CIGROUP_ALIAS_LIST = "CIGroupAliasList"
@@ -1,7 +1,7 @@
1
1
  [metadata]
2
2
  name = GAM for Google Workspace
3
3
  #version = attr: gam.var.GAM_VERSION
4
- version = 7.12.02
4
+ version = 7.13.02
5
5
  description = Command line management for Google Workspaces
6
6
  long_description = file: readme.md
7
7
  long_description_content_type = text/markdown
@@ -284,6 +284,9 @@
284
284
  <ChatMessage> ::= spaces/<String>/messages/<String>
285
285
  <ChatSpace> ::= spaces/<String> | space <String> | space spaces/<String>
286
286
  <ChatThread> ::= spaces/<String>/threads/<String>
287
+ <ChromeProfilePermanentID> ::= <String>
288
+ <ChromeProfileName> ::= customers/<CustomerID>/profiles/<ChromeProfilePermanentID> | <ChromeProfilePermanentID>
289
+ <ChromeProfileCommandName> ::= <ChomeProfileName>/commands/<String>
287
290
  <GIGroupAlias> ::= <EmailAddress>
288
291
  <GIGroupItem> ::= <EmailAddress>|<UniqueID>|groups/<String>
289
292
  <CIGroupMemberType> ::= cbcmbrowser|chromeosdevice|customer|group|other|serviceaccount|user
@@ -5,6 +5,7 @@
5
5
  - [Delete Chrome Profiles](#delete-chrome-profiles)
6
6
  - [Display Chrome Profiles](#display-chrome-profiles)
7
7
  - [Profile Query Searchable Fields](#profile-query-searchable-fields)
8
+ - [Collections of Chrome Profile names for commands](#collections-of-chrome-profile-names-for-commands)
8
9
  - [Create a Chrome Profile command](#create-a-chrome-profile-command)
9
10
  - [Display Chrome Profile commands](#display-chrome-profile-commands)
10
11
 
@@ -27,11 +28,18 @@ Follow instructions at: Turn on managed profile reporting
27
28
  * [Turn on Chrome Browser and Profile Reporting](https://support.google.com/chrome/a/answer/9301421)
28
29
 
29
30
  ## Definitions
31
+ * [`<FileSelector> | <CSVFileSelector>`](Collections-of-Items)
32
+
30
33
  ```
31
34
  <CustomerID> ::= <String>
32
35
  <ChromeProfilePermanentID> ::= <String>
33
36
  <ChromeProfileName> ::= customers/<CustomerID>/profiles/<ChromeProfilePermanentID> | <ChromeProfilePermanentID>
34
37
  <ChromeProfileCommandName> ::= <ChomeProfileName>/commands/<String>
38
+ <ChromeProfileNameList> ::= "<ChromeProfileName>(,<ChromeProfileName>)*"
39
+ <ChromeProfileNameEntity> ::=
40
+ <ChromeProfileNameList> |
41
+ (select <FileSelector>|<CSVFileSelector>) |
42
+ (filter <String> (filtertime<String> <Time>)* [orderby <ChromeProfileOrderByFieldName> [ascending|descending]])
35
43
 
36
44
  <ChromeProfileFieldName> ::=
37
45
  affiliationstate|
@@ -97,7 +105,7 @@ By default, Gam displays the information as an indented list of keys and values:
97
105
 
98
106
  ```
99
107
  gam show chromeprofiles
100
- [filtertime.* <Time>] [filter <String>]
108
+ [filter <String> (filtertime<String> <Time>)*]
101
109
  [orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
102
110
  <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
103
111
  [formatjson]
@@ -110,7 +118,7 @@ Select the fields to be displayed:
110
118
  * `<ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]` - Display a selected list of fields
111
119
 
112
120
  Use the `filtertime<String> <Time>` option to allow times, usually relative, to be substituted into the `filter <String>` option.
113
- The `filtertime<String> <Time>` value replaces the string `#fiktertime<String>#` in the `filter <String>`.
121
+ The `filtertime<String> <Time>` value replaces the string `#filtertime<String>#` in the `filter <String>`.
114
122
  The characters following `filtertime` can be any combination of lowercase letters and numbers.
115
123
 
116
124
  By default, Gam displays the information as an indented list of keys and values:
@@ -118,7 +126,7 @@ By default, Gam displays the information as an indented list of keys and values:
118
126
 
119
127
  ```
120
128
  gam print chromeprofiles [todrive <ToDriveAttribute>*]
121
- [filtertime.* <Time>] [filter <String>]
129
+ [filter <String> (filtertime<String> <Time>)*]
122
130
  [orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
123
131
  <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
124
132
  [formatjson [quotechar <Character>]]
@@ -197,14 +205,30 @@ Print information about Chrome profiles on Windows.
197
205
  ```
198
206
  gam print chromeprofiles filter "osPlatformType=WINDOWS"
199
207
  ```
208
+ ## Collections of Chrome Profile names for commands
209
+ ```
210
+ <ChromeProfileNameEntity> ::=
211
+ <ChromeProfileNameList> |
212
+ (select <FileSelector>|<CSVFileSelector>) |
213
+ (filter <String> (filtertime<String> <Time>)* [orderby <ChromeProfileOrderByFieldName> [ascending|descending]])
214
+ ```
215
+ * `<ChromeProfileNameList>` - List of Chrome profile names
216
+ * `select <FileSelector>|<CSVFileSelector>` - A flat or CSV file containing Chrome profile names
217
+ * `filter <String> (filtertime<String> <Time>)*` - A filter to select Chrome profiles
218
+
219
+ Use the `filtertime<String> <Time>` option to allow times, usually relative, to be substituted into the `filter <String>` option.
220
+ The `filtertime<String> <Time>` value replaces the string `#filtertime<String>#` in the `filter <String>`.
221
+ The characters following `filtertime` can be any combination of lowercase letters and numbers.
200
222
 
201
223
  ## Create a Chrome Profile command
224
+ Clear a Chrome Browser profile cache and/or cookies.
202
225
  ```
203
- gam create chromeprofilecommand <ChromeProfileName>
226
+ gam create chromeprofilecommand <ChromeProfileNameEntity>
204
227
  [clearcache [<Boolean>]] [clearcookies [<Boolean>]]
205
228
  [formatjson]
206
229
  ```
207
230
  ## Display Chrome Profile commands
231
+ Display the status of a specific Chrome Browser profile command.
208
232
  ```
209
233
  gam info chromeprofilecommand <ChromeProfileCommandName>
210
234
  [formatjson]
@@ -212,15 +236,16 @@ gam info chromeprofilecommand <ChromeProfileCommandName>
212
236
  By default, Gam displays the information as an indented list of keys and values:
213
237
  * `formatjson` - Display the fields in JSON format.
214
238
 
239
+ Display the status of selected Chrome Browser profile commands.
215
240
  ```
216
- gam show chromeprofilecommands <ChromeProfileName>
241
+ gam show chromeprofilecommands <ChromeProfileNameEntity>
217
242
  [formatjson]
218
243
  ```
219
244
 
220
245
  By default, Gam displays the information as an indented list of keys and values:
221
246
  * `formatjson` - Display the fields in JSON format.
222
247
  ```
223
- gam print chromeprofilecommands <ChromeProfileName> [todrive <ToDriveAttribute>*]
248
+ gam print chromeprofilecommands <ChromeProfileNameEntity> [todrive <ToDriveAttribute>*]
224
249
  [formatjson [quotechar <Character>]]
225
250
  ```
226
251
  By default, Gam displays the information as columns of fields; the following option causes the output to be in JSON format: