gam7 7.22.6__tar.gz → 7.22.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gam7 might be problematic. Click here for more details.

Files changed (303) hide show
  1. {gam7-7.22.6 → gam7-7.22.7}/PKG-INFO +1 -1
  2. {gam7-7.22.6 → gam7-7.22.7}/src/GamCommands.txt +16 -10
  3. {gam7-7.22.6 → gam7-7.22.7}/src/GamUpdate.txt +7 -1
  4. {gam7-7.22.6 → gam7-7.22.7}/src/gam/__init__.py +39 -10
  5. {gam7-7.22.6 → gam7-7.22.7}/wiki/GamUpdates.md +35 -0
  6. {gam7-7.22.6 → gam7-7.22.7}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +1 -1
  7. {gam7-7.22.6 → gam7-7.22.7}/wiki/List-Items.md +1 -0
  8. {gam7-7.22.6 → gam7-7.22.7}/wiki/Vault-Takeout.md +89 -28
  9. {gam7-7.22.6 → gam7-7.22.7}/wiki/Version-and-Help.md +3 -3
  10. {gam7-7.22.6 → gam7-7.22.7}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
  11. {gam7-7.22.6 → gam7-7.22.7}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
  12. {gam7-7.22.6 → gam7-7.22.7}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
  13. {gam7-7.22.6 → gam7-7.22.7}/.github/ISSUE_TEMPLATE.txt +0 -0
  14. {gam7-7.22.6 → gam7-7.22.7}/.github/actions/decrypt.sh +0 -0
  15. {gam7-7.22.6 → gam7-7.22.7}/.github/actions/entitlements.plist +0 -0
  16. {gam7-7.22.6 → gam7-7.22.7}/.github/actions/package_exclusions.txt +0 -0
  17. {gam7-7.22.6 → gam7-7.22.7}/.github/stale.yml +0 -0
  18. {gam7-7.22.6 → gam7-7.22.7}/.github/workflows/build.yml +0 -0
  19. {gam7-7.22.6 → gam7-7.22.7}/.github/workflows/codeql-analysis.yml +0 -0
  20. {gam7-7.22.6 → gam7-7.22.7}/.github/workflows/get-cacerts.yml +0 -0
  21. {gam7-7.22.6 → gam7-7.22.7}/.github/workflows/pushwiki.yml +0 -0
  22. {gam7-7.22.6 → gam7-7.22.7}/.github/workflows/pypi.yml +0 -0
  23. {gam7-7.22.6 → gam7-7.22.7}/LICENSE +0 -0
  24. {gam7-7.22.6 → gam7-7.22.7}/README.md +0 -0
  25. {gam7-7.22.6 → gam7-7.22.7}/pyproject.toml +0 -0
  26. {gam7-7.22.6 → gam7-7.22.7}/src/.gitignore +0 -0
  27. {gam7-7.22.6 → gam7-7.22.7}/src/LICENSE +0 -0
  28. {gam7-7.22.6 → gam7-7.22.7}/src/README.md +0 -0
  29. {gam7-7.22.6 → gam7-7.22.7}/src/callgam.py +0 -0
  30. {gam7-7.22.6 → gam7-7.22.7}/src/gam/__main__.py +0 -0
  31. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/__init__.py +0 -0
  32. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/auth.py +0 -0
  33. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/client.py +0 -0
  34. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/core.py +0 -0
  35. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/data.py +0 -0
  36. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/http.py +0 -0
  37. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/http_core.py +0 -0
  38. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/http_interface.py +0 -0
  39. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/mock_http.py +0 -0
  40. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/mock_http_core.py +0 -0
  41. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/mock_service.py +0 -0
  42. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/service.py +0 -0
  43. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/token_store.py +0 -0
  44. {gam7-7.22.6 → gam7-7.22.7}/src/gam/atom/url.py +0 -0
  45. {gam7-7.22.6 → gam7-7.22.7}/src/gam/cacerts.pem +0 -0
  46. {gam7-7.22.6 → gam7-7.22.7}/src/gam/cbcm-v1.1beta1.json +0 -0
  47. {gam7-7.22.6 → gam7-7.22.7}/src/gam/contactdelegation-v1.json +0 -0
  48. {gam7-7.22.6 → gam7-7.22.7}/src/gam/datastudio-v1.json +0 -0
  49. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/__init__.py +0 -0
  50. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glaction.py +0 -0
  51. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glapi.py +0 -0
  52. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glcfg.py +0 -0
  53. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glclargs.py +0 -0
  54. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glentity.py +0 -0
  55. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glgapi.py +0 -0
  56. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glgdata.py +0 -0
  57. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glglobals.py +0 -0
  58. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glindent.py +0 -0
  59. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glmsgs.py +0 -0
  60. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glskus.py +0 -0
  61. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/gluprop.py +0 -0
  62. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/glverlibs.py +0 -0
  63. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gamlib/yubikey.py +0 -0
  64. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/__init__.py +0 -0
  65. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/alt/__init__.py +0 -0
  66. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/alt/app_engine.py +0 -0
  67. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/alt/appengine.py +0 -0
  68. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/apps/__init__.py +0 -0
  69. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/apps/audit/__init__.py +0 -0
  70. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/apps/audit/service.py +0 -0
  71. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/apps/contacts/__init__.py +0 -0
  72. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/apps/contacts/service.py +0 -0
  73. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/apps/service.py +0 -0
  74. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/service.py +0 -0
  75. {gam7-7.22.6 → gam7-7.22.7}/src/gam/gdata/urlfetch.py +0 -0
  76. {gam7-7.22.6 → gam7-7.22.7}/src/gam/meet-v2beta.json +0 -0
  77. {gam7-7.22.6 → gam7-7.22.7}/src/gam/serviceaccountlookup-v1.json +0 -0
  78. {gam7-7.22.6 → gam7-7.22.7}/src/gam-install.sh +0 -0
  79. {gam7-7.22.6 → gam7-7.22.7}/src/gam-setup.bat +0 -0
  80. {gam7-7.22.6 → gam7-7.22.7}/src/gam.exe.manifest +0 -0
  81. {gam7-7.22.6 → gam7-7.22.7}/src/gam.py +0 -0
  82. {gam7-7.22.6 → gam7-7.22.7}/src/gam.spec +0 -0
  83. {gam7-7.22.6 → gam7-7.22.7}/src/gam.wxs +0 -0
  84. {gam7-7.22.6 → gam7-7.22.7}/src/license.rtf +0 -0
  85. {gam7-7.22.6 → gam7-7.22.7}/src/tools/a_atleast_b.py +0 -0
  86. {gam7-7.22.6 → gam7-7.22.7}/src/tools/gen-wix-xml-filelist.py +0 -0
  87. {gam7-7.22.6 → gam7-7.22.7}/src/tools/hooks/hook-googleapiclient.model.py +0 -0
  88. {gam7-7.22.6 → gam7-7.22.7}/src/tools/hooks/hook-httplib2.py +0 -0
  89. {gam7-7.22.6 → gam7-7.22.7}/src/tools/mkGamRef.py +0 -0
  90. {gam7-7.22.6 → gam7-7.22.7}/src/tools/openssl.props +0 -0
  91. {gam7-7.22.6 → gam7-7.22.7}/src/tools/ssd.mjs +0 -0
  92. {gam7-7.22.6 → gam7-7.22.7}/src/version_info.txt.in +0 -0
  93. {gam7-7.22.6 → gam7-7.22.7}/wiki/00scratch.md +0 -0
  94. {gam7-7.22.6 → gam7-7.22.7}/wiki/Addresses.md +0 -0
  95. {gam7-7.22.6 → gam7-7.22.7}/wiki/Administrators.md +0 -0
  96. {gam7-7.22.6 → gam7-7.22.7}/wiki/Alert-Center.md +0 -0
  97. {gam7-7.22.6 → gam7-7.22.7}/wiki/Aliases.md +0 -0
  98. {gam7-7.22.6 → gam7-7.22.7}/wiki/Authorization.md +0 -0
  99. {gam7-7.22.6 → gam7-7.22.7}/wiki/BNF-Syntax.md +0 -0
  100. {gam7-7.22.6 → gam7-7.22.7}/wiki/Basic-Items.md +0 -0
  101. {gam7-7.22.6 → gam7-7.22.7}/wiki/Bulk-Processing.md +0 -0
  102. {gam7-7.22.6 → gam7-7.22.7}/wiki/Business-Account-Management.md +0 -0
  103. {gam7-7.22.6 → gam7-7.22.7}/wiki/CSV-Input-Filtering.md +0 -0
  104. {gam7-7.22.6 → gam7-7.22.7}/wiki/CSV-Output-Filtering.md +0 -0
  105. {gam7-7.22.6 → gam7-7.22.7}/wiki/CSV-Special-Characters.md +0 -0
  106. {gam7-7.22.6 → gam7-7.22.7}/wiki/Calendars-Access.md +0 -0
  107. {gam7-7.22.6 → gam7-7.22.7}/wiki/Calendars-Events.md +0 -0
  108. {gam7-7.22.6 → gam7-7.22.7}/wiki/Calendars.md +0 -0
  109. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chat-Bot-Setup-Use.md +0 -0
  110. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chrome-AUE-Counts.md +0 -0
  111. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
  112. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chrome-Installed-Apps.md +0 -0
  113. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
  114. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chrome-Policies.md +0 -0
  115. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chrome-Printers.md +0 -0
  116. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chrome-Profile-Management.md +0 -0
  117. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chrome-Version-Counts.md +0 -0
  118. {gam7-7.22.6 → gam7-7.22.7}/wiki/Chrome-Version-History.md +0 -0
  119. {gam7-7.22.6 → gam7-7.22.7}/wiki/ChromeOS-Devices.md +0 -0
  120. {gam7-7.22.6 → gam7-7.22.7}/wiki/Classroom-Courses.md +0 -0
  121. {gam7-7.22.6 → gam7-7.22.7}/wiki/Classroom-Guardians.md +0 -0
  122. {gam7-7.22.6 → gam7-7.22.7}/wiki/Classroom-Invitations.md +0 -0
  123. {gam7-7.22.6 → gam7-7.22.7}/wiki/Classroom-Membership.md +0 -0
  124. {gam7-7.22.6 → gam7-7.22.7}/wiki/Classroom-StudentGroups.md +0 -0
  125. {gam7-7.22.6 → gam7-7.22.7}/wiki/Cloud-Channel.md +0 -0
  126. {gam7-7.22.6 → gam7-7.22.7}/wiki/Cloud-Identity-Devices.md +0 -0
  127. {gam7-7.22.6 → gam7-7.22.7}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
  128. {gam7-7.22.6 → gam7-7.22.7}/wiki/Cloud-Identity-Groups.md +0 -0
  129. {gam7-7.22.6 → gam7-7.22.7}/wiki/Cloud-Identity-Policies.md +0 -0
  130. {gam7-7.22.6 → gam7-7.22.7}/wiki/Cloud-Storage.md +0 -0
  131. {gam7-7.22.6 → gam7-7.22.7}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
  132. {gam7-7.22.6 → gam7-7.22.7}/wiki/Collections-of-Items.md +0 -0
  133. {gam7-7.22.6 → gam7-7.22.7}/wiki/Collections-of-Users.md +0 -0
  134. {gam7-7.22.6 → gam7-7.22.7}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
  135. {gam7-7.22.6 → gam7-7.22.7}/wiki/Command-Line-Parsing.md +0 -0
  136. {gam7-7.22.6 → gam7-7.22.7}/wiki/Command-Logging-Progress.md +0 -0
  137. {gam7-7.22.6 → gam7-7.22.7}/wiki/Context-Aware-Access-Levels.md +0 -0
  138. {gam7-7.22.6 → gam7-7.22.7}/wiki/Customer.md +0 -0
  139. {gam7-7.22.6 → gam7-7.22.7}/wiki/Domain-People-Contacts-Profiles.md +0 -0
  140. {gam7-7.22.6 → gam7-7.22.7}/wiki/Domain-SharedContacts.md +0 -0
  141. {gam7-7.22.6 → gam7-7.22.7}/wiki/Domains-Verification.md +0 -0
  142. {gam7-7.22.6 → gam7-7.22.7}/wiki/Domains.md +0 -0
  143. {gam7-7.22.6 → gam7-7.22.7}/wiki/Downloads-Installs.md +0 -0
  144. {gam7-7.22.6 → gam7-7.22.7}/wiki/Drive-File-Selection.md +0 -0
  145. {gam7-7.22.6 → gam7-7.22.7}/wiki/Drive-Items.md +0 -0
  146. {gam7-7.22.6 → gam7-7.22.7}/wiki/Drive-REST-API-v3.md +0 -0
  147. {gam7-7.22.6 → gam7-7.22.7}/wiki/Email-Audit-Monitor.md +0 -0
  148. {gam7-7.22.6 → gam7-7.22.7}/wiki/Find-File-Owner.md +0 -0
  149. {gam7-7.22.6 → gam7-7.22.7}/wiki/GAM-Public-Chat-Room.md +0 -0
  150. {gam7-7.22.6 → gam7-7.22.7}/wiki/GAM-Release-Process.md +0 -0
  151. {gam7-7.22.6 → gam7-7.22.7}/wiki/GAM-Return-Codes.md +0 -0
  152. {gam7-7.22.6 → gam7-7.22.7}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
  153. {gam7-7.22.6 → gam7-7.22.7}/wiki/GAM7-FAQ.md +0 -0
  154. {gam7-7.22.6 → gam7-7.22.7}/wiki/GAM7-on-Android-Devices.md +0 -0
  155. {gam7-7.22.6 → gam7-7.22.7}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
  156. {gam7-7.22.6 → gam7-7.22.7}/wiki/Global-Address-List.md +0 -0
  157. {gam7-7.22.6 → gam7-7.22.7}/wiki/Google-Data-Transfers.md +0 -0
  158. {gam7-7.22.6 → gam7-7.22.7}/wiki/Google-Network-Addresses.md +0 -0
  159. {gam7-7.22.6 → gam7-7.22.7}/wiki/Groups-Membership.md +0 -0
  160. {gam7-7.22.6 → gam7-7.22.7}/wiki/Groups.md +0 -0
  161. {gam7-7.22.6 → gam7-7.22.7}/wiki/HTTPS-Proxy.md +0 -0
  162. {gam7-7.22.6 → gam7-7.22.7}/wiki/Home.md +0 -0
  163. {gam7-7.22.6 → gam7-7.22.7}/wiki/How-to-Install-GAM7.md +0 -0
  164. {gam7-7.22.6 → gam7-7.22.7}/wiki/How-to-Uninstall-GAM7.md +0 -0
  165. {gam7-7.22.6 → gam7-7.22.7}/wiki/How-to-Update-GAM7.md +0 -0
  166. {gam7-7.22.6 → gam7-7.22.7}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
  167. {gam7-7.22.6 → gam7-7.22.7}/wiki/Inbound-SSO.md +0 -0
  168. {gam7-7.22.6 → gam7-7.22.7}/wiki/Install-GAM-as-Python-Library.md +0 -0
  169. {gam7-7.22.6 → gam7-7.22.7}/wiki/Licenses.md +0 -0
  170. {gam7-7.22.6 → gam7-7.22.7}/wiki/List.md +0 -0
  171. {gam7-7.22.6 → gam7-7.22.7}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
  172. {gam7-7.22.6 → gam7-7.22.7}/wiki/Mobile-Devices.md +0 -0
  173. {gam7-7.22.6 → gam7-7.22.7}/wiki/Organizational-Units.md +0 -0
  174. {gam7-7.22.6 → gam7-7.22.7}/wiki/Other-Resources.md +0 -0
  175. {gam7-7.22.6 → gam7-7.22.7}/wiki/Permission-Matches.md +0 -0
  176. {gam7-7.22.6 → gam7-7.22.7}/wiki/Python-Regular-Expressions.md +0 -0
  177. {gam7-7.22.6 → gam7-7.22.7}/wiki/README.md +0 -0
  178. {gam7-7.22.6 → gam7-7.22.7}/wiki/Rclone.md +0 -0
  179. {gam7-7.22.6 → gam7-7.22.7}/wiki/Reports.md +0 -0
  180. {gam7-7.22.6 → gam7-7.22.7}/wiki/Reseller.md +0 -0
  181. {gam7-7.22.6 → gam7-7.22.7}/wiki/Resources.md +0 -0
  182. {gam7-7.22.6 → gam7-7.22.7}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
  183. {gam7-7.22.6 → gam7-7.22.7}/wiki/SSL-Root-CA-Certificates.md +0 -0
  184. {gam7-7.22.6 → gam7-7.22.7}/wiki/Schemas.md +0 -0
  185. {gam7-7.22.6 → gam7-7.22.7}/wiki/Scripts.md +0 -0
  186. {gam7-7.22.6 → gam7-7.22.7}/wiki/Send-Email.md +0 -0
  187. {gam7-7.22.6 → gam7-7.22.7}/wiki/Shared-Drives.md +0 -0
  188. {gam7-7.22.6 → gam7-7.22.7}/wiki/Sites.md +0 -0
  189. {gam7-7.22.6 → gam7-7.22.7}/wiki/Tag-Replace.md +0 -0
  190. {gam7-7.22.6 → gam7-7.22.7}/wiki/Todrive.md +0 -0
  191. {gam7-7.22.6 → gam7-7.22.7}/wiki/Unmanaged-Accounts.md +0 -0
  192. {gam7-7.22.6 → gam7-7.22.7}/wiki/Upgrade-Benefits.md +0 -0
  193. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Analytics-Admin.md +0 -0
  194. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Application-Specific-Passwords.md +0 -0
  195. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Backup-Verification-Codes.md +0 -0
  196. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Calendars-Access.md +0 -0
  197. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Calendars-Events.md +0 -0
  198. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Calendars.md +0 -0
  199. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Chat.md +0 -0
  200. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Classification-Labels.md +0 -0
  201. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Classroom-Profile.md +0 -0
  202. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Contacts-Delegates.md +0 -0
  203. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Contacts.md +0 -0
  204. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Deprovision.md +0 -0
  205. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Activity-Settings.md +0 -0
  206. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Cleanup.md +0 -0
  207. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Comments.md +0 -0
  208. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Copy-Move.md +0 -0
  209. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Files-Display.md +0 -0
  210. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Files-Manage.md +0 -0
  211. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Orphans.md +0 -0
  212. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Ownership.md +0 -0
  213. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Permissions.md +0 -0
  214. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Query.md +0 -0
  215. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Revisions.md +0 -0
  216. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Shortcuts.md +0 -0
  217. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Drive-Transfer.md +0 -0
  218. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Forms.md +0 -0
  219. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-CSE.md +0 -0
  220. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-Delegates.md +0 -0
  221. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-Filters.md +0 -0
  222. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-Forwarding.md +0 -0
  223. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-Labels.md +0 -0
  224. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-Messages-Threads.md +0 -0
  225. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-Profile.md +0 -0
  226. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-S-MIME.md +0 -0
  227. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
  228. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Gmail-Settings.md +0 -0
  229. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Group-Membership.md +0 -0
  230. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Keep-Notes.md +0 -0
  231. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Looker-Studio.md +0 -0
  232. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Meet.md +0 -0
  233. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-People-Contacts-Profiles.md +0 -0
  234. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Photo.md +0 -0
  235. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Profile-Photo.md +0 -0
  236. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Profile-Sharing.md +0 -0
  237. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Shared-Drives.md +0 -0
  238. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Signout-Turnoff2SV.md +0 -0
  239. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Spreadsheets.md +0 -0
  240. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Tag-Manager.md +0 -0
  241. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Tasks.md +0 -0
  242. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Tokens.md +0 -0
  243. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-Web-Resources-and-Sites.md +0 -0
  244. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users-YouTube.md +0 -0
  245. {gam7-7.22.6 → gam7-7.22.7}/wiki/Users.md +0 -0
  246. {gam7-7.22.6 → gam7-7.22.7}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
  247. {gam7-7.22.6 → gam7-7.22.7}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
  248. {gam7-7.22.6 → gam7-7.22.7}/wiki/Using-GAM7-with-keyless-authentication-Workload-Identity-Federation.md +0 -0
  249. {gam7-7.22.6 → gam7-7.22.7}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
  250. {gam7-7.22.6 → gam7-7.22.7}/wiki/_Sidebar.md +0 -0
  251. {gam7-7.22.6 → gam7-7.22.7}/wiki/gam.cfg.md +0 -0
  252. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-AdminSettingsExamples.md +0 -0
  253. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Android-Installation.md +0 -0
  254. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-BulkOperations.md +0 -0
  255. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-CalendarExamples.md +0 -0
  256. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Chat-Bot.md +0 -0
  257. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Chrome-Browser-Management.md +0 -0
  258. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Chrome-OS-Installation.md +0 -0
  259. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Chrome-Policy-Settings.md +0 -0
  260. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Cloud-Identity-Groups.md +0 -0
  261. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Command-Reference-Calendar-Resources.md +0 -0
  262. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Command-Reference-Calendars.md +0 -0
  263. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Command-Reference-Definitions.md +0 -0
  264. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Command-Reference-Drive.md +0 -0
  265. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Command-Reference-Email.md +0 -0
  266. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Command-Reference-Group-Attributes.md +0 -0
  267. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Command-Reference-Groups.md +0 -0
  268. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Command-Reference-Users.md +0 -0
  269. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Context-Aware-Access-Levels.md +0 -0
  270. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
  271. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-CreatingClientSecretsFile.md +0 -0
  272. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Custom-Schemas.md +0 -0
  273. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Data-Transfers.md +0 -0
  274. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-DomainVerification.md +0 -0
  275. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-ExamplesAccountAuditing.md +0 -0
  276. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-ExamplesCSV.md +0 -0
  277. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-ExamplesEmailSettings.md +0 -0
  278. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-ExamplesOrganizations.md +0 -0
  279. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-GAM-Discussion-Group.md +0 -0
  280. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-GAM-on-Android-and-Chrome-OS.md +0 -0
  281. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-GAM-options-files.md +0 -0
  282. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-GAM-with--minimal-GCP-rights.md +0 -0
  283. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-GAM3CSVListings.md +0 -0
  284. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-GAM3DirectoryCommands.md +0 -0
  285. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-GAM3GroupSettings.md +0 -0
  286. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Google-Vault---Takeout-Commands.md +0 -0
  287. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-GoogleDriveManagement.md +0 -0
  288. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Grouping-18-or-Older-Users.md +0 -0
  289. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Home.md +0 -0
  290. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-How-to-upgrade-from-Standard-GAM.md +0 -0
  291. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Inbound-SSO-Settings.md +0 -0
  292. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-LicenseExamples.md +0 -0
  293. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Managing-Admins.md +0 -0
  294. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Managing-CloudPrint-Printers.md +0 -0
  295. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Managing-Devices.md +0 -0
  296. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Managing-Google-Classroom.md +0 -0
  297. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-OAuthKeyManagement.md +0 -0
  298. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Printers.md +0 -0
  299. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-ResellerCommands.md +0 -0
  300. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-SecurityExamples.md +0 -0
  301. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-UnmanagedUsersExamples.md +0 -0
  302. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
  303. {gam7-7.22.6 → gam7-7.22.7}/wiki/legacy/l-_Footer.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.22.6
3
+ Version: 7.22.7
4
4
  Summary: CLI tool to manage Google Workspace
5
5
  Project-URL: Homepage, https://github.com/GAM-team/GAM
6
6
  Project-URL: Issues, https://github.com/GAM-team/GAM/issues
@@ -5421,6 +5421,7 @@ gam print vaultcounts [todrive <ToDriveAttributes>*]
5421
5421
  [(accounts <EmailAddressEntity>) | (orgunit|org|ou <OrgUnitPath>) | everyone]
5422
5422
  [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
5423
5423
  [excludedrafts <Boolean>]
5424
+ [<JSONData>]
5424
5425
  [wait <Integer>]
5425
5426
  gam print vaultcounts [todrive <ToDriveAttributes>*]
5426
5427
  matter <MatterItem> operation <String> [wait <Integer>]
@@ -5434,18 +5435,20 @@ gam create vaultexport|export matter <MatterItem> [name <String>]
5434
5435
  [format ics|mbox|pst|xml]
5435
5436
  [region any|europe|us] [showdetails|returnidonly]
5436
5437
 
5437
- gam create vaultexport|export matter <MatterItem> [name <String>] corpus calendar|drive|gemini|groups|hangouts_chat|mail|voice
5438
+ gam create vaultexport|export matter <MatterItem> [name <String>]
5439
+ corpus calendar|drive|gemini|groups|hangouts_chat|mail|voice
5440
+ [scope all_data|held_data|unprocessed_data]
5438
5441
  (accounts <EmailAddressEntity>) | (orgunit|org|ou <OrgUnitPath>) | everyone
5442
+ (documentids (<DriveFileIDList>|(select <FileSelector>|<CSVFileSelector>))) |
5439
5443
  (shareddrives|teamdrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>))) |
5440
- (rooms (<ChatSpaceList>|(select <FileSelector>|<CSVFileSelector>))) |
5441
- (sitesurl (<URLList>||(select <FileSelector>|<CSVFileSelector>)))
5442
- [scope all_data|held_data|unprocessed_data]
5443
- [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
5444
- [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
5445
- [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
5446
5444
  [(includeshareddrives <Boolean>)|(shareddrivesoption included|included_if_account_is_not_a_member|not_included)]
5445
+ (sitesurl (<URLList>||(select <FileSelector>|<CSVFileSelector>)))
5447
5446
  [driveversiondate <Date>|<Time>]
5448
5447
  [includerooms <Boolean>]
5448
+ (rooms (<ChatSpaceList>|(select <FileSelector>|<CSVFileSelector>))) |
5449
+ [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
5450
+ [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
5451
+ [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
5449
5452
  (covereddata calllogs|textmessages|voicemails)*
5450
5453
  [driveclientsideencryption any|encrypted|unencrypted]
5451
5454
  [includeaccessinfo <Boolean>]
@@ -5575,10 +5578,13 @@ gam create vaultquery <MatterItem> [name <String>]
5575
5578
  [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
5576
5579
  [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
5577
5580
  (covereddata calllogs|textmessages|voicemails)*
5578
- [shownames] [formatjson]
5581
+ [<JSONData>]
5582
+ [shownames]
5583
+ [showdetails|returnidonly|formatjson]
5579
5584
 
5580
- gam copy vaultquery <MatterItem> <QueryItem> [targetmatter <MatterItem"] [name <String>]
5581
- [shownames] [formatjson]
5585
+ gam copy vaultquery <MatterItem> <QueryItem> [targetmatter <MatterItem>] [name <String>]
5586
+ [shownames]
5587
+ [showdetails|returnidonly|formatjson]
5582
5588
 
5583
5589
  gam delete vaultquery <QueryItem> matter <MatterItem>
5584
5590
  gam delete vaultquery <MatterItem> <QueryItem>
@@ -1,3 +1,9 @@
1
+ 7.22.07
2
+
3
+ Added options `showdetails` and `returnidonly` to `gam create|copy vaultquery`.
4
+
5
+ Added option `<JSONData>` to `gam create vaultexport|vaultquery` and `gam print vaultcounts`.
6
+
1
7
  7.22.06
2
8
 
3
9
  Added commands to create, copy and delete Vault saved queries.
@@ -19,7 +25,7 @@ gam create vaultquery <MatterItem> [name <String>]
19
25
  (covereddata calllogs|textmessages|voicemails)*
20
26
  [shownames] [formatjson]
21
27
 
22
- gam copy vaultquery <MatterItem> <QueryItem> [targetmatter <MatterItem"] [name <String>]
28
+ gam copy vaultquery <MatterItem> <QueryItem> [targetmatter <MatterItem>] [name <String>]
23
29
  [shownames] [formatjson]
24
30
 
25
31
  gam delete vaultquery <QueryItem> matter <MatterItem>
@@ -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.22.06'
28
+ __version__ = '7.22.07'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -41814,11 +41814,13 @@ VAULT_QUERY_ARGS = [
41814
41814
  # drive
41815
41815
  'driveclientsideencryption', 'driveversiondate', 'includeshareddrives', 'includeteamdrives', 'shareddrivesoption',
41816
41816
  # hangoutsChat
41817
- 'includerooms',
41817
+ 'includerooms',
41818
41818
  # mail
41819
41819
  'mailclientsideencryption', 'excludedrafts',
41820
41820
  # voice
41821
41821
  'covereddata',
41822
+ # all
41823
+ 'json',
41822
41824
  ] + list(VAULT_SEARCH_METHODS_MAP.keys())
41823
41825
 
41824
41826
  def _buildVaultQuery(myarg, query, corpusArgumentMap):
@@ -41835,11 +41837,11 @@ def _buildVaultQuery(myarg, query, corpusArgumentMap):
41835
41837
  elif myarg == 'scope':
41836
41838
  query['dataScope'] = getChoice(VAULT_EXPORT_DATASCOPE_MAP, mapChoice=True)
41837
41839
  elif myarg in VAULT_SEARCH_METHODS_MAP:
41838
- if query.get('searchMethod'):
41840
+ if query.get('method'):
41839
41841
  Cmd.Backup()
41840
41842
  usageErrorExit(Msg.MULTIPLE_SEARCH_METHODS_SPECIFIED.format(formatChoiceList(VAULT_SEARCH_METHODS_MAP)))
41841
41843
  searchMethod = VAULT_SEARCH_METHODS_MAP[myarg]
41842
- query['searchMethod'] = searchMethod
41844
+ query['method'] = searchMethod
41843
41845
  if searchMethod == 'ACCOUNT':
41844
41846
  query['accountInfo'] = {'emails': getNormalizedEmailAddressEntity()}
41845
41847
  elif searchMethod == 'ORG_UNIT':
@@ -41901,11 +41903,19 @@ def _buildVaultQuery(myarg, query, corpusArgumentMap):
41901
41903
  elif myarg == 'covereddata':
41902
41904
  query.setdefault('voiceOptions', {'coveredData': []})
41903
41905
  query['voiceOptions']['coveredData'].append(getChoice(VAULT_VOICE_COVERED_DATA_MAP, mapChoice=True))
41906
+ # all
41907
+ elif myarg == 'json':
41908
+ jsonData = getJSON([])
41909
+ if 'query' in jsonData:
41910
+ query.update(jsonData['query'])
41911
+ else:
41912
+ query.update(jsonData)
41913
+
41904
41914
 
41905
41915
  def _validateVaultQuery(body, corpusArgumentMap):
41906
41916
  if 'corpus' not in body['query']:
41907
41917
  missingArgumentExit(f'corpus {formatChoiceList(corpusArgumentMap)}')
41908
- if 'searchMethod' not in body['query']:
41918
+ if 'method' not in body['query']:
41909
41919
  missingArgumentExit(formatChoiceList(VAULT_SEARCH_METHODS_MAP))
41910
41920
  if 'exportOptions' in body:
41911
41921
  for corpus, options in VAULT_CORPUS_OPTIONS_MAP.items():
@@ -41935,6 +41945,7 @@ def _validateVaultQuery(body, corpusArgumentMap):
41935
41945
  # [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
41936
41946
  # [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
41937
41947
  # (covereddata calllogs|textmessages|voicemails)*
41948
+ # [<JSONData>]
41938
41949
  # [driveclientsideencryption any|encrypted|unencrypted]
41939
41950
  # [includeaccessinfo <Boolean>]
41940
41951
  # [excludedrafts <Boolean>] [mailclientsideencryption any|encrypted|unencrypted]
@@ -43054,6 +43065,7 @@ def doCreateCopyVaultQuery(copyCmd):
43054
43065
  targetId = None
43055
43066
  cd = drive = None
43056
43067
  FJQC = FormatJSONQuoteChar()
43068
+ returnIdOnly = showDetails = False
43057
43069
  while Cmd.ArgumentsRemaining():
43058
43070
  myarg = getArgument()
43059
43071
  if myarg == 'name':
@@ -43067,6 +43079,12 @@ def doCreateCopyVaultQuery(copyCmd):
43067
43079
  _, drive = buildGAPIServiceObject(API.DRIVE3, _getAdminEmail())
43068
43080
  if drive is None:
43069
43081
  return
43082
+ elif myarg == 'showdetails':
43083
+ showDetails = True
43084
+ returnIdOnly = False
43085
+ elif myarg == 'returnidonly':
43086
+ returnIdOnly = True
43087
+ showDetails = False
43070
43088
  else:
43071
43089
  FJQC.GetFormatJSON(myarg)
43072
43090
  if copyCmd:
@@ -43078,6 +43096,7 @@ def doCreateCopyVaultQuery(copyCmd):
43078
43096
  resultId = targetId
43079
43097
  resultNameId = targetNameId
43080
43098
  else:
43099
+ _validateVaultQuery(body, VAULT_CORPUS_ARGUMENT_MAP)
43081
43100
  if not body['displayName']:
43082
43101
  body['displayName'] = 'GAM {body["query"]["corpus"]} Query - {ISOformatTimeStamp(todaysTime())}'
43083
43102
  resultId = matterId
@@ -43086,7 +43105,13 @@ def doCreateCopyVaultQuery(copyCmd):
43086
43105
  result = callGAPI(v.matters().savedQueries(), 'create',
43087
43106
  throwReasons=[GAPI.NOT_FOUND, GAPI.BAD_REQUEST, GAPI.FORBIDDEN, GAPI.INVALID_ARGUMENT, GAPI.ALREADY_EXISTS],
43088
43107
  matterId=resultId, body=body)
43089
- _showVaultQuery(resultNameId, result, cd, drive, FJQC)
43108
+ if not returnIdOnly:
43109
+ if not FJQC.formatJSON:
43110
+ entityActionPerformed([Ent.VAULT_MATTER, matterNameId, Ent.VAULT_QUERY, formatVaultNameId(result['displayName'], result['savedQueryId'])])
43111
+ if showDetails or FJQC.formatJSON:
43112
+ _showVaultQuery(resultNameId, result, cd, drive, FJQC)
43113
+ else:
43114
+ writeStdout(f'{result["savedQueryId"]}\n')
43090
43115
  except (GAPI.notFound, GAPI.badRequest, GAPI.forbidden, GAPI.invalidArgument, GAPI.alreadyExists) as e:
43091
43116
  entityActionFailedWarning([Ent.VAULT_MATTER, resultNameId, Ent.VAULT_QUERY, body['displayName']], str(e))
43092
43117
 
@@ -43105,12 +43130,15 @@ def doCreateCopyVaultQuery(copyCmd):
43105
43130
  # [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
43106
43131
  # [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
43107
43132
  # (covereddata calllogs|textmessages|voicemails)*
43108
- # [shownames] [formatjson]
43133
+ # [<JSONData>]
43134
+ # [shownames]
43135
+ # [showdetails|returnidonly|formatjson]
43109
43136
  def doCreateVaultQuery():
43110
43137
  doCreateCopyVaultQuery(False)
43111
43138
 
43112
- # gam copy vaultquery <MatterItem> <QueryItem> [targetmatter <MatterItem"] [name <String>]
43113
- # [shownames] [formatjson]
43139
+ # gam copy vaultquery <MatterItem> <QueryItem> [targetmatter <MatterItem>] [name <String>]
43140
+ # [shownames]
43141
+ # [showdetails|returnidonly|formatjson]
43114
43142
  def doCopyVaultQuery():
43115
43143
  doCreateCopyVaultQuery(True)
43116
43144
 
@@ -43632,6 +43660,7 @@ PRINT_VAULT_COUNTS_TITLES = ['account', 'count', 'error']
43632
43660
  # (accounts <EmailAddressEntity>) | (orgunit|org|ou <OrgUnitPath>) | everyone|entireorg
43633
43661
  # [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
43634
43662
  # [excludedrafts <Boolean>]
43663
+ # [<JSONData>]
43635
43664
  # [wait <Integer>]
43636
43665
  # gam print vaultcounts [todrive <ToDriveAttributes>*]
43637
43666
  # matter <MatterItem> operation <String> [wait <Integer>]
@@ -43686,7 +43715,7 @@ def doPrintVaultCounts():
43686
43715
  doWait = True
43687
43716
  response = operation.get('response', {})
43688
43717
  query = operation['metadata']['query']
43689
- search_method = query.get('searchMethod')
43718
+ search_method = query.get('method')
43690
43719
  # ARGH count results don't include accounts with zero items.
43691
43720
  # so we keep track of which accounts we searched and can report
43692
43721
  # zero data for them.
@@ -10,6 +10,41 @@ 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.22.06
14
+
15
+ Added commands to create, copy and delete Vault saved queries.
16
+ ```
17
+ gam create vaultquery <MatterItem> [name <String>]
18
+ corpus calendar|drive|gemini|groups|hangouts_chat|mail|voice
19
+ [scope all_data|held_data|unprocessed_data]
20
+ (accounts <EmailAddressEntity>) | (orgunit|org|ou <OrgUnitPath>) | everyone
21
+ (documentids (<DriveFileIDList>|(select <FileSelector>|<CSVFileSelector>))) |
22
+ (shareddrives|teamdrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>))) |
23
+ [(includeshareddrives <Boolean>)|(shareddrivesoption included|included_if_account_is_not_a_member|not_included)]
24
+ (sitesurl (<URLList>||(select <FileSelector>|<CSVFileSelector>)))
25
+ [driveversiondate <Date>|<Time>]
26
+ [includerooms <Boolean>]
27
+ (rooms (<ChatSpaceList>|(select <FileSelector>|<CSVFileSelector>))) |
28
+ [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
29
+ [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
30
+ [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
31
+ (covereddata calllogs|textmessages|voicemails)*
32
+ [shownames] [formatjson]
33
+
34
+ gam copy vaultquery <MatterItem> <QueryItem> [targetmatter <MatterItem"] [name <String>]
35
+ [shownames] [formatjson]
36
+
37
+ gam delete vaultquery <QueryItem> matter <MatterItem>
38
+ gam delete vaultquery <MatterItem> <QueryItem>
39
+ ```
40
+
41
+ Added a variant of `gam print vaultcounts` that gets its query parameters from a saved Vault query.
42
+ ```
43
+ gam print vaultcounts [todrive <ToDriveAttributes>*]
44
+ matter <MatterItem> <QueryItem>
45
+ [wait <Integer>]
46
+ ```
47
+
13
48
  ### 7.22.05
14
49
 
15
50
  Added a variant of `gam create vaultexport` that gets its query parameters from a saved Vault query.
@@ -252,7 +252,7 @@ writes the credentials into the file oauth2.txt.
252
252
  admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
253
253
  admin@server:/Users/admin$ gam version
254
254
  WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
255
- GAM 7.22.05 - https://github.com/GAM-team/GAM - pyinstaller
255
+ GAM 7.22.06 - https://github.com/GAM-team/GAM - pyinstaller
256
256
  GAM Team <google-apps-manager@googlegroups.com>
257
257
  Python 3.13.7 64-bit final
258
258
  MacOS Sequoia 15.6.1 x86_64
@@ -43,6 +43,7 @@
43
43
  <DomainNameList> ::= "<DomainName>(,<DomainName>)*"
44
44
  <DriveFileACLRoleList> ::= "<DriveFileACLRole>(,<DriveFileACLRole>)*"
45
45
  <DriveFileACLTypeList> ::= "<DriveFileACLType>(,<DriveFileACLType>)*"
46
+ <DriveFileIDList> ::= "<DriveFileID>(,<DriveFileID>)*"
46
47
  <DriveFileList> ::= "<DriveFileItem>(,<DriveFileItem>)*"
47
48
  <DriveFilePermissionList> ::= "<DriveFilePermission>(,<DriveFilePermission>)*"
48
49
  <DriveFilePermissionIDList> ::= "<DriveFilePermissionID>(,<DriveFilePermissionID>)*"
@@ -21,6 +21,9 @@
21
21
  - [Display Vault Holds](#display-vault-holds)
22
22
  - [Display Vault Holds Affecting a User](#display-vault-holds-affecting-a-user)
23
23
  - [Vault Saved Queries](#vault-saved-queries)
24
+ - [Create Vault Saved Queries](#create-vault-saved-queries)
25
+ - [Copy Vault Saved Queries](#copy-vault-saved-queries)
26
+ - [Delete Vault Saved Queries](#delete-vault-saved-queries)
24
27
  - [Display Vault Saved Queries](#display-vault-saved-queries)
25
28
  - [Takeout](#takeout)
26
29
  - [Copy a Takeout Bucket](#copy-a-takeoutbucket)
@@ -66,6 +69,8 @@
66
69
 
67
70
  <ChatSpace> ::= spaces/<String> | space/<String> | <String>
68
71
  <ChatSpaceList> ::= "<ChatSpace>(,<ChatSpace>)*"
72
+ <DriveFileID> ::= <String>
73
+ <DriveFileIDList> ::= "<DriveFileID>(,<DriveFileID>)*"
69
74
  <ExportItem> ::= <UniqueID>|<String>
70
75
  <ExportStatus> ::= completed|failed|inprogrsss
71
76
  <ExportStatusList> ::= "<ExportStatus>(,<ExportStatus>)*"
@@ -202,11 +207,18 @@ Select fields to display:
202
207
  * `fields <VaultMatterFieldNameList>` - Display selected fields; `matterId` and `name` are always displayed
203
208
 
204
209
  ## Display Vault Counts
205
- Display item counts retained in Vault for the given users or groups.
210
+ ### Display item counts retained in Vault using a saved Vault query.
211
+ ```
212
+ gam print vaultcounts [todrive <ToDriveAttributes>*]
213
+ matter <MatterItem> <QueryItem>
214
+ [wait <Integer>]
215
+ ```
216
+
217
+ ### Display item counts retained in Vault for the given users or groups.
206
218
  * The required argument `matter` specifies the matter name or ID (prefix with id:) where the count should be performed.
207
219
  * The required argument `corpus` specifies whether Gmail mailbox data or Google Groups archives are queried.
208
- * You need to specify one argument of accounts, orgunit or everyone to determine which users/groups to query.
209
220
  * The `scope` argument specifies the data to be queried, `all_data` is the default and is recommended.
221
+ * You need to specify one argument of accounts, orgunit or everyone to determine which users/groups to query.
210
222
 
211
223
  The command may take some time to complete; GAM makes repeated API calls until the operation is complete. By default,
212
224
  GAM waits 15 seconds between API calls; use the `wait <Integer>` option to specify a different wait period.
@@ -214,12 +226,10 @@ GAM waits 15 seconds between API calls; use the `wait <Integer>` option to speci
214
226
  This command can be useful for discovering legacy former employee accounts which no longer have any mail data retained by Vault.
215
227
  ```
216
228
  gam print vaultcounts [todrive <ToDriveAttributes>*]
217
- matter <MatterItem> corpus mail|groups
218
- (accounts <EmailAddressEntity>) | (orgunit|org|ou <OrgUnitPath>) | everyone
219
- [(shareddrives|teamdrives (<TeamDriveIDList>|(select <FileSelector>|<CSVFileSelector>))) |
220
- (rooms (<ChatSpaceList>|(select <FileSelector>|<CSVFileSelector>))) |
221
- (sitesurl (<URLList>||(select <FileSelector>|<CSVFileSelector>)))]
222
- [scope <all_data|held_data|unprocessed_data>]
229
+ matter <MatterItem>
230
+ corpus mail|groups
231
+ [scope all_data|held_data|unprocessed_data]
232
+ (accounts <EmailAddressEntity>) | (orgunit|org|ou <OrgUnitPath>) | everyone|entireorg
223
233
  [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
224
234
  [excludedrafts <Boolean>]
225
235
  [wait <Integer>]
@@ -228,12 +238,13 @@ Specify the search method, this is optional:
228
238
  * `accounts <EmailAddressEntity>` - Search all accounts specified in `<EmailAddressEntity>`
229
239
  * `orgunit|org|ou <OrgUnitPath>` - Search all accounts in the OU `<OrgUnitPath>`
230
240
  * `everyone` - Search for all accounts in the organization
231
- * `shareddrives|teamdrives <SharedDriveIDList>` - Search for all accounts in the Shared Drives specified in `<SharedDriveIDList>`
232
- * `shareddrives|teamdrives select <FileSelector>|<CSVFileSelector>` - Search for all accounts in the Shared Drives specified in `<FileSelector>|<CSVFileSelector>`
233
- * `rooms <ChatSpaceList>` - Search in the Room specified in the chat rooms specified in `<ChatSpaceList>`
234
- * `rooms <ChatSpaceList>` - Search in the Room specified in the chat rooms specified in `<FileSelector>|<CSVFileSelector>`
235
- * `sitesurl <URLList>` - Search the published site URLs of new Google Sites in `<URLList>`
236
- * `sitesurl <URLList>` - Search the published site URLs of new Google Sites specified in `<FileSelector>|<CSVFileSelector>`
241
+
242
+ For `corpus mail|group`, you can specify search terms to limit the search.
243
+ * `terms <String>` - [Vault search](https://support.google.com/vault/answer/2474474)
244
+
245
+ For `corpus mail|group`, you can specify time limits on the search:
246
+ * `start|starttime <Date>|<Time>` - The start time range for the search query. These timestamps are in GMT and rounded down to the start of the given date.
247
+ * `end|endtime <Date>|<Time>` - The end time range for the search query. These timestamps are in GMT and rounded down to the start of the given date.
237
248
 
238
249
  Check the status of a previous count operation with the name from a previous command.
239
250
  ```
@@ -257,18 +268,20 @@ gam create vaultexport|export matter <MatterItem> [name <String>]
257
268
 
258
269
  Create a Google Vault export request by specifying the query parameters.
259
270
  ```
260
- gam create vaultexport|export matter <MatterItem> [name <String>] corpus calendar|drive|gemini|groups|hangouts_chat|mail|voice
261
- (accounts <EmailAddressEntity>) | (orgunit|org|ou <OrgUnitPath>) | everyone
262
- (shareddrives|teamdrives (<TeamDriveIDList>|(select <FileSelector>|<CSVFileSelector>))) |
263
- (rooms (<ChatSpaceList>|(select <FileSelector>|<CSVFileSelector>))) |
264
- (sitesurl (<URLList>||(select <FileSelector>|<CSVFileSelector>)))
271
+ gam create vaultexport|export matter <MatterItem> [name <String>]
272
+ corpus calendar|drive|gemini|groups|hangouts_chat|mail|voice
265
273
  [scope all_data|held_data|unprocessed_data]
266
- [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
267
- [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
268
- [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
274
+ (accounts <EmailAddressEntity>) | (orgunit|org|ou <OrgUnitPath>) | everyone
275
+ (documentids (<DriveFileIDList>|(select <FileSelector>|<CSVFileSelector>))) |
276
+ (shareddrives|teamdrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>))) |
269
277
  [(includeshareddrives <Boolean>)|(shareddrivesoption included|included_if_account_is_not_a_member|not_included)]
278
+ (sitesurl (<URLList>||(select <FileSelector>|<CSVFileSelector>)))
270
279
  [driveversiondate <Date>|<Time>]
271
280
  [includerooms <Boolean>]
281
+ (rooms (<ChatSpaceList>|(select <FileSelector>|<CSVFileSelector>))) |
282
+ [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
283
+ [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
284
+ [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
272
285
  (covereddata calllogs|textmessages|voicemails)*
273
286
  [driveclientsideencryption any|encrypted|unencrypted]
274
287
  [includeaccessinfo <Boolean>]
@@ -279,9 +292,9 @@ gam create vaultexport|export matter <MatterItem> [name <String>] corpus calenda
279
292
  ```
280
293
  <MatterItem> specifies the matter name or ID the export should be associated with.
281
294
 
282
- Specify the name of the export:
283
- * `name <String>` - The export will be named `<String>`
284
- * `default` - The export will be named `GAM <corpus> Export - <Time>`
295
+ If `name <String>` is omitted, the export will be named `GAM <corpus> Export - <Time>`
296
+
297
+ ## Vault Query options
285
298
 
286
299
  Specify the corpus of data, this option is required:
287
300
  * `calendar`
@@ -296,12 +309,14 @@ Specify the search method, this option is required:
296
309
  * `accounts <EmailAddressEntity>` - Search all accounts specified in `<EmailAddressEntity>`
297
310
  * `orgunit|org|ou <OrgUnitPath>` - Search all accounts in the OU `<OrgUnitPath>`
298
311
  * `everyone` - Search for all accounts in the organization
312
+ * `documentids <DriveFileIDList>` - Search for all drive files specified in `<DriveFileIDList>`
313
+ * `documentids select <FileSelector>|<CSVFileSelector>` - Search for all drive files specified in `<FileSelector>|<CSVFileSelector>`
299
314
  * `shareddrives|teamdrives <SharedDriveIDList>` - Search for all accounts in the Shared Drives specified in `<SharedDriveIDList>`
300
315
  * `shareddrives|teamdrives select <FileSelector>|<CSVFileSelector>` - Search for all accounts in the Shared Drives specified in `<FileSelector>|<CSVFileSelector>`
301
- * `rooms <ChatSpaceList>` - Search in the Room specified in the chat rooms specified in `<ChatSpaceList>`
302
- * `rooms <ChatSpaceList>` - Search in the Room specified in the chat rooms specified in `<FileSelector>|<CSVFileSelector>`
303
316
  * `sitesurl <URLList>` - Search the published site URLs of new Google Sites in `<URLList>`
304
317
  * `sitesurl <URLList>` - Search the published site URLs of new Google Sites specified in `<FileSelector>|<CSVFileSelector>`
318
+ * `rooms <ChatSpaceList>` - Search in the Room specified in the chat rooms specified in `<ChatSpaceList>`
319
+ * `rooms <ChatSpaceList>` - Search in the Room specified in the chat rooms specified in `<FileSelector>|<CSVFileSelector>`
305
320
 
306
321
  Specify the scope of data to include in the export:
307
322
  * `all_data` - All available data; this is the default
@@ -384,7 +399,7 @@ For `corpus calendar`, you can specify the format of the exported data:
384
399
 
385
400
  For `corpus drive`, you can not specify the format of the exported data,
386
401
 
387
- For `corpus gemini`, `format xml` is the only format of the exported data,
402
+ For `corpus gemini`, `format xml` is the only supported format of the exported data,
388
403
 
389
404
  For `corpus groups`, `corpus hangouts_chat`, `corpus mail` and `corpus voice`, you can specify the format of the exported data:
390
405
  * `format mbox` - Export in MBOX format, this is the default
@@ -785,6 +800,52 @@ gam <UserTypeEntity> show vaultholds|holds
785
800
  ```
786
801
 
787
802
  ## Vault Saved Queries
803
+ ## Create Vault Saved Queries
804
+ ```
805
+ gam create vaultquery <MatterItem> [name <String>]
806
+ corpus calendar|drive|gemini|groups|hangouts_chat|mail|voice
807
+ [scope all_data|held_data|unprocessed_data]
808
+ (accounts <EmailAddressEntity>) | (orgunit|org|ou <OrgUnitPath>) | everyone
809
+ (documentids (<DriveFileIDList>|(select <FileSelector>|<CSVFileSelector>))) |
810
+ (shareddrives|teamdrives (<SharedDriveIDList>|(select <FileSelector>|<CSVFileSelector>))) |
811
+ [(includeshareddrives <Boolean>)|(shareddrivesoption included|included_if_account_is_not_a_member|not_included)]
812
+ (sitesurl (<URLList>||(select <FileSelector>|<CSVFileSelector>)))
813
+ [driveversiondate <Date>|<Time>]
814
+ [includerooms <Boolean>]
815
+ (rooms (<ChatSpaceList>|(select <FileSelector>|<CSVFileSelector>))) |
816
+ [terms <String>] [start|starttime <Date>|<Time>] [end|endtime <Date>|<Time>] [timezone <TimeZone>]
817
+ [locationquery <StringList>] [peoplequery <StringList>] [minuswords <StringList>]
818
+ [responsestatuses <AttendeeStatus>(,<AttendeeStatus>)*] [calendarversiondate <Date>|<Time>]
819
+ (covereddata calllogs|textmessages|voicemails)*
820
+ [shownames] [formatjson]
821
+ ```
822
+
823
+ If `name <String>` is omitted, the query is named `GAM <corpus> Query - <Time>`
824
+
825
+ The `shownames` argument controls whether org unit and shared drive names are displayed in queries; additional API calls are required to get the names.
826
+
827
+ See: [Vault Query options](#vault-query-options)
828
+
829
+ ## Copy Vault Saved Queries
830
+ ```
831
+ gam copy vaultquery <MatterItem> <QueryItem> [targetmatter <MatterItem>] [name <String>]
832
+ [shownames] [formatjson]
833
+ ```
834
+
835
+ If `targetmatter <MatterItem>` is omitted, the query is copied in the source matter.
836
+
837
+ If `name <String>` is omitted:
838
+ * `targetmatter <MatterItem>` specified - The copied query has the same name as the source query
839
+ * `targetmatter <MatterItem>` omitted - The copied query is named `Copy of Source Query name`
840
+
841
+ The `shownames` argument controls whether org unit and shared drive names are displayed in queries; additional API calls are required to get the names.
842
+
843
+ ## Delete Vault Saved Queries
844
+ ```
845
+ gam delete vaultquery <QueryItem> matter <MatterItem>
846
+ gam delete vaultquery <MatterItem> <QueryItem>
847
+ ```
848
+
788
849
  ## Display Vault Saved Queries
789
850
  ```
790
851
  gam info vaultquery <QueryItem> matter <MatterItem>
@@ -3,7 +3,7 @@
3
3
  Print the current version of Gam with details
4
4
  ```
5
5
  gam version
6
- GAM 7.22.05 - https://github.com/GAM-team/GAM - pyinstaller
6
+ GAM 7.22.06 - https://github.com/GAM-team/GAM - pyinstaller
7
7
  GAM Team <google-apps-manager@googlegroups.com>
8
8
  Python 3.13.7 64-bit final
9
9
  macOS Sequoia 15.7 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.22.05 - https://github.com/GAM-team/GAM - pyinstaller
18
+ GAM 7.22.06 - https://github.com/GAM-team/GAM - pyinstaller
19
19
  GAM Team <google-apps-manager@googlegroups.com>
20
20
  Python 3.13.7 64-bit final
21
21
  macOS Sequoia 15.7 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.22.05 - https://github.com/GAM-team/GAM - pyinstaller
30
+ GAM 7.22.06 - https://github.com/GAM-team/GAM - pyinstaller
31
31
  GAM Team <google-apps-manager@googlegroups.com>
32
32
  Python 3.13.7 64-bit final
33
33
  macOS Sequoia 15.7 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