gam7 7.23.5__tar.gz → 7.23.6__tar.gz

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

Potentially problematic release.


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

Files changed (303) hide show
  1. {gam7-7.23.5 → gam7-7.23.6}/PKG-INFO +1 -1
  2. {gam7-7.23.5 → gam7-7.23.6}/src/GamCommands.txt +4 -0
  3. {gam7-7.23.5 → gam7-7.23.6}/src/GamUpdate.txt +11 -2
  4. {gam7-7.23.5 → gam7-7.23.6}/src/gam/__init__.py +35 -8
  5. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glclargs.py +1 -0
  6. {gam7-7.23.5 → gam7-7.23.6}/wiki/Administrators.md +8 -4
  7. {gam7-7.23.5 → gam7-7.23.6}/wiki/GamUpdates.md +5 -0
  8. {gam7-7.23.5 → gam7-7.23.6}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +1 -1
  9. {gam7-7.23.5 → gam7-7.23.6}/wiki/Version-and-Help.md +3 -3
  10. {gam7-7.23.5 → gam7-7.23.6}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
  11. {gam7-7.23.5 → gam7-7.23.6}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
  12. {gam7-7.23.5 → gam7-7.23.6}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
  13. {gam7-7.23.5 → gam7-7.23.6}/.github/ISSUE_TEMPLATE.txt +0 -0
  14. {gam7-7.23.5 → gam7-7.23.6}/.github/actions/decrypt.sh +0 -0
  15. {gam7-7.23.5 → gam7-7.23.6}/.github/actions/entitlements.plist +0 -0
  16. {gam7-7.23.5 → gam7-7.23.6}/.github/actions/package_exclusions.txt +0 -0
  17. {gam7-7.23.5 → gam7-7.23.6}/.github/stale.yml +0 -0
  18. {gam7-7.23.5 → gam7-7.23.6}/.github/workflows/build.yml +0 -0
  19. {gam7-7.23.5 → gam7-7.23.6}/.github/workflows/codeql-analysis.yml +0 -0
  20. {gam7-7.23.5 → gam7-7.23.6}/.github/workflows/get-cacerts.yml +0 -0
  21. {gam7-7.23.5 → gam7-7.23.6}/.github/workflows/pushwiki.yml +0 -0
  22. {gam7-7.23.5 → gam7-7.23.6}/.github/workflows/pypi.yml +0 -0
  23. {gam7-7.23.5 → gam7-7.23.6}/LICENSE +0 -0
  24. {gam7-7.23.5 → gam7-7.23.6}/README.md +0 -0
  25. {gam7-7.23.5 → gam7-7.23.6}/pyproject.toml +0 -0
  26. {gam7-7.23.5 → gam7-7.23.6}/src/.gitignore +0 -0
  27. {gam7-7.23.5 → gam7-7.23.6}/src/LICENSE +0 -0
  28. {gam7-7.23.5 → gam7-7.23.6}/src/README.md +0 -0
  29. {gam7-7.23.5 → gam7-7.23.6}/src/callgam.py +0 -0
  30. {gam7-7.23.5 → gam7-7.23.6}/src/gam/__main__.py +0 -0
  31. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/__init__.py +0 -0
  32. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/auth.py +0 -0
  33. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/client.py +0 -0
  34. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/core.py +0 -0
  35. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/data.py +0 -0
  36. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/http.py +0 -0
  37. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/http_core.py +0 -0
  38. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/http_interface.py +0 -0
  39. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/mock_http.py +0 -0
  40. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/mock_http_core.py +0 -0
  41. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/mock_service.py +0 -0
  42. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/service.py +0 -0
  43. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/token_store.py +0 -0
  44. {gam7-7.23.5 → gam7-7.23.6}/src/gam/atom/url.py +0 -0
  45. {gam7-7.23.5 → gam7-7.23.6}/src/gam/cacerts.pem +0 -0
  46. {gam7-7.23.5 → gam7-7.23.6}/src/gam/cbcm-v1.1beta1.json +0 -0
  47. {gam7-7.23.5 → gam7-7.23.6}/src/gam/contactdelegation-v1.json +0 -0
  48. {gam7-7.23.5 → gam7-7.23.6}/src/gam/datastudio-v1.json +0 -0
  49. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/__init__.py +0 -0
  50. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glaction.py +0 -0
  51. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glapi.py +0 -0
  52. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glcfg.py +0 -0
  53. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glentity.py +0 -0
  54. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glgapi.py +0 -0
  55. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glgdata.py +0 -0
  56. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glglobals.py +0 -0
  57. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glindent.py +0 -0
  58. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glmsgs.py +0 -0
  59. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glskus.py +0 -0
  60. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/gluprop.py +0 -0
  61. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/glverlibs.py +0 -0
  62. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gamlib/yubikey.py +0 -0
  63. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/__init__.py +0 -0
  64. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/alt/__init__.py +0 -0
  65. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/alt/app_engine.py +0 -0
  66. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/alt/appengine.py +0 -0
  67. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/apps/__init__.py +0 -0
  68. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/apps/audit/__init__.py +0 -0
  69. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/apps/audit/service.py +0 -0
  70. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/apps/contacts/__init__.py +0 -0
  71. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/apps/contacts/service.py +0 -0
  72. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/apps/service.py +0 -0
  73. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/service.py +0 -0
  74. {gam7-7.23.5 → gam7-7.23.6}/src/gam/gdata/urlfetch.py +0 -0
  75. {gam7-7.23.5 → gam7-7.23.6}/src/gam/meet-v2beta.json +0 -0
  76. {gam7-7.23.5 → gam7-7.23.6}/src/gam/serviceaccountlookup-v1.json +0 -0
  77. {gam7-7.23.5 → gam7-7.23.6}/src/gam-install.sh +0 -0
  78. {gam7-7.23.5 → gam7-7.23.6}/src/gam-setup.bat +0 -0
  79. {gam7-7.23.5 → gam7-7.23.6}/src/gam.exe.manifest +0 -0
  80. {gam7-7.23.5 → gam7-7.23.6}/src/gam.py +0 -0
  81. {gam7-7.23.5 → gam7-7.23.6}/src/gam.spec +0 -0
  82. {gam7-7.23.5 → gam7-7.23.6}/src/gam.wxs +0 -0
  83. {gam7-7.23.5 → gam7-7.23.6}/src/license.rtf +0 -0
  84. {gam7-7.23.5 → gam7-7.23.6}/src/tools/a_atleast_b.py +0 -0
  85. {gam7-7.23.5 → gam7-7.23.6}/src/tools/gen-wix-xml-filelist.py +0 -0
  86. {gam7-7.23.5 → gam7-7.23.6}/src/tools/hooks/hook-googleapiclient.model.py +0 -0
  87. {gam7-7.23.5 → gam7-7.23.6}/src/tools/hooks/hook-httplib2.py +0 -0
  88. {gam7-7.23.5 → gam7-7.23.6}/src/tools/mkGamRef.py +0 -0
  89. {gam7-7.23.5 → gam7-7.23.6}/src/tools/openssl.props +0 -0
  90. {gam7-7.23.5 → gam7-7.23.6}/src/tools/ssd.mjs +0 -0
  91. {gam7-7.23.5 → gam7-7.23.6}/src/version_info.txt.in +0 -0
  92. {gam7-7.23.5 → gam7-7.23.6}/wiki/00scratch.md +0 -0
  93. {gam7-7.23.5 → gam7-7.23.6}/wiki/Addresses.md +0 -0
  94. {gam7-7.23.5 → gam7-7.23.6}/wiki/Alert-Center.md +0 -0
  95. {gam7-7.23.5 → gam7-7.23.6}/wiki/Aliases.md +0 -0
  96. {gam7-7.23.5 → gam7-7.23.6}/wiki/Authorization.md +0 -0
  97. {gam7-7.23.5 → gam7-7.23.6}/wiki/BNF-Syntax.md +0 -0
  98. {gam7-7.23.5 → gam7-7.23.6}/wiki/Basic-Items.md +0 -0
  99. {gam7-7.23.5 → gam7-7.23.6}/wiki/Bulk-Processing.md +0 -0
  100. {gam7-7.23.5 → gam7-7.23.6}/wiki/Business-Account-Management.md +0 -0
  101. {gam7-7.23.5 → gam7-7.23.6}/wiki/CSV-Input-Filtering.md +0 -0
  102. {gam7-7.23.5 → gam7-7.23.6}/wiki/CSV-Output-Filtering.md +0 -0
  103. {gam7-7.23.5 → gam7-7.23.6}/wiki/CSV-Special-Characters.md +0 -0
  104. {gam7-7.23.5 → gam7-7.23.6}/wiki/Calendars-Access.md +0 -0
  105. {gam7-7.23.5 → gam7-7.23.6}/wiki/Calendars-Events.md +0 -0
  106. {gam7-7.23.5 → gam7-7.23.6}/wiki/Calendars.md +0 -0
  107. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chat-Bot-Setup-Use.md +0 -0
  108. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chrome-AUE-Counts.md +0 -0
  109. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
  110. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chrome-Installed-Apps.md +0 -0
  111. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
  112. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chrome-Policies.md +0 -0
  113. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chrome-Printers.md +0 -0
  114. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chrome-Profile-Management.md +0 -0
  115. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chrome-Version-Counts.md +0 -0
  116. {gam7-7.23.5 → gam7-7.23.6}/wiki/Chrome-Version-History.md +0 -0
  117. {gam7-7.23.5 → gam7-7.23.6}/wiki/ChromeOS-Devices.md +0 -0
  118. {gam7-7.23.5 → gam7-7.23.6}/wiki/Classroom-Courses.md +0 -0
  119. {gam7-7.23.5 → gam7-7.23.6}/wiki/Classroom-Guardians.md +0 -0
  120. {gam7-7.23.5 → gam7-7.23.6}/wiki/Classroom-Invitations.md +0 -0
  121. {gam7-7.23.5 → gam7-7.23.6}/wiki/Classroom-Membership.md +0 -0
  122. {gam7-7.23.5 → gam7-7.23.6}/wiki/Classroom-StudentGroups.md +0 -0
  123. {gam7-7.23.5 → gam7-7.23.6}/wiki/Cloud-Channel.md +0 -0
  124. {gam7-7.23.5 → gam7-7.23.6}/wiki/Cloud-Identity-Devices.md +0 -0
  125. {gam7-7.23.5 → gam7-7.23.6}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
  126. {gam7-7.23.5 → gam7-7.23.6}/wiki/Cloud-Identity-Groups.md +0 -0
  127. {gam7-7.23.5 → gam7-7.23.6}/wiki/Cloud-Identity-Policies.md +0 -0
  128. {gam7-7.23.5 → gam7-7.23.6}/wiki/Cloud-Storage.md +0 -0
  129. {gam7-7.23.5 → gam7-7.23.6}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
  130. {gam7-7.23.5 → gam7-7.23.6}/wiki/Collections-of-Items.md +0 -0
  131. {gam7-7.23.5 → gam7-7.23.6}/wiki/Collections-of-Users.md +0 -0
  132. {gam7-7.23.5 → gam7-7.23.6}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
  133. {gam7-7.23.5 → gam7-7.23.6}/wiki/Command-Line-Parsing.md +0 -0
  134. {gam7-7.23.5 → gam7-7.23.6}/wiki/Command-Logging-Progress.md +0 -0
  135. {gam7-7.23.5 → gam7-7.23.6}/wiki/Context-Aware-Access-Levels.md +0 -0
  136. {gam7-7.23.5 → gam7-7.23.6}/wiki/Customer.md +0 -0
  137. {gam7-7.23.5 → gam7-7.23.6}/wiki/Domain-People-Contacts-Profiles.md +0 -0
  138. {gam7-7.23.5 → gam7-7.23.6}/wiki/Domain-SharedContacts.md +0 -0
  139. {gam7-7.23.5 → gam7-7.23.6}/wiki/Domains-Verification.md +0 -0
  140. {gam7-7.23.5 → gam7-7.23.6}/wiki/Domains.md +0 -0
  141. {gam7-7.23.5 → gam7-7.23.6}/wiki/Downloads-Installs.md +0 -0
  142. {gam7-7.23.5 → gam7-7.23.6}/wiki/Drive-File-Selection.md +0 -0
  143. {gam7-7.23.5 → gam7-7.23.6}/wiki/Drive-Items.md +0 -0
  144. {gam7-7.23.5 → gam7-7.23.6}/wiki/Drive-REST-API-v3.md +0 -0
  145. {gam7-7.23.5 → gam7-7.23.6}/wiki/Email-Audit-Monitor.md +0 -0
  146. {gam7-7.23.5 → gam7-7.23.6}/wiki/Find-File-Owner.md +0 -0
  147. {gam7-7.23.5 → gam7-7.23.6}/wiki/GAM-Public-Chat-Room.md +0 -0
  148. {gam7-7.23.5 → gam7-7.23.6}/wiki/GAM-Release-Process.md +0 -0
  149. {gam7-7.23.5 → gam7-7.23.6}/wiki/GAM-Return-Codes.md +0 -0
  150. {gam7-7.23.5 → gam7-7.23.6}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
  151. {gam7-7.23.5 → gam7-7.23.6}/wiki/GAM7-FAQ.md +0 -0
  152. {gam7-7.23.5 → gam7-7.23.6}/wiki/GAM7-on-Android-Devices.md +0 -0
  153. {gam7-7.23.5 → gam7-7.23.6}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
  154. {gam7-7.23.5 → gam7-7.23.6}/wiki/Global-Address-List.md +0 -0
  155. {gam7-7.23.5 → gam7-7.23.6}/wiki/Google-Data-Transfers.md +0 -0
  156. {gam7-7.23.5 → gam7-7.23.6}/wiki/Google-Network-Addresses.md +0 -0
  157. {gam7-7.23.5 → gam7-7.23.6}/wiki/Groups-Membership.md +0 -0
  158. {gam7-7.23.5 → gam7-7.23.6}/wiki/Groups.md +0 -0
  159. {gam7-7.23.5 → gam7-7.23.6}/wiki/HTTPS-Proxy.md +0 -0
  160. {gam7-7.23.5 → gam7-7.23.6}/wiki/Home.md +0 -0
  161. {gam7-7.23.5 → gam7-7.23.6}/wiki/How-to-Install-GAM7.md +0 -0
  162. {gam7-7.23.5 → gam7-7.23.6}/wiki/How-to-Uninstall-GAM7.md +0 -0
  163. {gam7-7.23.5 → gam7-7.23.6}/wiki/How-to-Update-GAM7.md +0 -0
  164. {gam7-7.23.5 → gam7-7.23.6}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
  165. {gam7-7.23.5 → gam7-7.23.6}/wiki/Inbound-SSO.md +0 -0
  166. {gam7-7.23.5 → gam7-7.23.6}/wiki/Install-GAM-as-Python-Library.md +0 -0
  167. {gam7-7.23.5 → gam7-7.23.6}/wiki/Licenses.md +0 -0
  168. {gam7-7.23.5 → gam7-7.23.6}/wiki/List-Items.md +0 -0
  169. {gam7-7.23.5 → gam7-7.23.6}/wiki/List.md +0 -0
  170. {gam7-7.23.5 → gam7-7.23.6}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
  171. {gam7-7.23.5 → gam7-7.23.6}/wiki/Mobile-Devices.md +0 -0
  172. {gam7-7.23.5 → gam7-7.23.6}/wiki/Organizational-Units.md +0 -0
  173. {gam7-7.23.5 → gam7-7.23.6}/wiki/Other-Resources.md +0 -0
  174. {gam7-7.23.5 → gam7-7.23.6}/wiki/Permission-Matches.md +0 -0
  175. {gam7-7.23.5 → gam7-7.23.6}/wiki/Python-Regular-Expressions.md +0 -0
  176. {gam7-7.23.5 → gam7-7.23.6}/wiki/README.md +0 -0
  177. {gam7-7.23.5 → gam7-7.23.6}/wiki/Rclone.md +0 -0
  178. {gam7-7.23.5 → gam7-7.23.6}/wiki/Reports.md +0 -0
  179. {gam7-7.23.5 → gam7-7.23.6}/wiki/Reseller.md +0 -0
  180. {gam7-7.23.5 → gam7-7.23.6}/wiki/Resources.md +0 -0
  181. {gam7-7.23.5 → gam7-7.23.6}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
  182. {gam7-7.23.5 → gam7-7.23.6}/wiki/SSL-Root-CA-Certificates.md +0 -0
  183. {gam7-7.23.5 → gam7-7.23.6}/wiki/Schemas.md +0 -0
  184. {gam7-7.23.5 → gam7-7.23.6}/wiki/Scripts.md +0 -0
  185. {gam7-7.23.5 → gam7-7.23.6}/wiki/Send-Email.md +0 -0
  186. {gam7-7.23.5 → gam7-7.23.6}/wiki/Shared-Drives.md +0 -0
  187. {gam7-7.23.5 → gam7-7.23.6}/wiki/Sites.md +0 -0
  188. {gam7-7.23.5 → gam7-7.23.6}/wiki/Tag-Replace.md +0 -0
  189. {gam7-7.23.5 → gam7-7.23.6}/wiki/Todrive.md +0 -0
  190. {gam7-7.23.5 → gam7-7.23.6}/wiki/Unmanaged-Accounts.md +0 -0
  191. {gam7-7.23.5 → gam7-7.23.6}/wiki/Upgrade-Benefits.md +0 -0
  192. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Analytics-Admin.md +0 -0
  193. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Application-Specific-Passwords.md +0 -0
  194. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Backup-Verification-Codes.md +0 -0
  195. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Calendars-Access.md +0 -0
  196. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Calendars-Events.md +0 -0
  197. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Calendars.md +0 -0
  198. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Chat.md +0 -0
  199. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Classification-Labels.md +0 -0
  200. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Classroom-Profile.md +0 -0
  201. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Contacts-Delegates.md +0 -0
  202. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Contacts.md +0 -0
  203. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Deprovision.md +0 -0
  204. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Activity-Settings.md +0 -0
  205. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Cleanup.md +0 -0
  206. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Comments.md +0 -0
  207. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Copy-Move.md +0 -0
  208. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Files-Display.md +0 -0
  209. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Files-Manage.md +0 -0
  210. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Orphans.md +0 -0
  211. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Ownership.md +0 -0
  212. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Permissions.md +0 -0
  213. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Query.md +0 -0
  214. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Revisions.md +0 -0
  215. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Shortcuts.md +0 -0
  216. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Drive-Transfer.md +0 -0
  217. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Forms.md +0 -0
  218. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-CSE.md +0 -0
  219. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-Delegates.md +0 -0
  220. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-Filters.md +0 -0
  221. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-Forwarding.md +0 -0
  222. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-Labels.md +0 -0
  223. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-Messages-Threads.md +0 -0
  224. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-Profile.md +0 -0
  225. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-S-MIME.md +0 -0
  226. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
  227. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Gmail-Settings.md +0 -0
  228. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Group-Membership.md +0 -0
  229. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Keep-Notes.md +0 -0
  230. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Looker-Studio.md +0 -0
  231. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Meet.md +0 -0
  232. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-People-Contacts-Profiles.md +0 -0
  233. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Photo.md +0 -0
  234. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Profile-Photo.md +0 -0
  235. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Profile-Sharing.md +0 -0
  236. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Shared-Drives.md +0 -0
  237. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Signout-Turnoff2SV.md +0 -0
  238. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Spreadsheets.md +0 -0
  239. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Tag-Manager.md +0 -0
  240. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Tasks.md +0 -0
  241. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Tokens.md +0 -0
  242. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-Web-Resources-and-Sites.md +0 -0
  243. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users-YouTube.md +0 -0
  244. {gam7-7.23.5 → gam7-7.23.6}/wiki/Users.md +0 -0
  245. {gam7-7.23.5 → gam7-7.23.6}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
  246. {gam7-7.23.5 → gam7-7.23.6}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
  247. {gam7-7.23.5 → gam7-7.23.6}/wiki/Using-GAM7-with-keyless-authentication-Workload-Identity-Federation.md +0 -0
  248. {gam7-7.23.5 → gam7-7.23.6}/wiki/Vault-Takeout.md +0 -0
  249. {gam7-7.23.5 → gam7-7.23.6}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
  250. {gam7-7.23.5 → gam7-7.23.6}/wiki/_Sidebar.md +0 -0
  251. {gam7-7.23.5 → gam7-7.23.6}/wiki/gam.cfg.md +0 -0
  252. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-AdminSettingsExamples.md +0 -0
  253. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Android-Installation.md +0 -0
  254. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-BulkOperations.md +0 -0
  255. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-CalendarExamples.md +0 -0
  256. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Chat-Bot.md +0 -0
  257. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Chrome-Browser-Management.md +0 -0
  258. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Chrome-OS-Installation.md +0 -0
  259. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Chrome-Policy-Settings.md +0 -0
  260. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Cloud-Identity-Groups.md +0 -0
  261. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Command-Reference-Calendar-Resources.md +0 -0
  262. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Command-Reference-Calendars.md +0 -0
  263. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Command-Reference-Definitions.md +0 -0
  264. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Command-Reference-Drive.md +0 -0
  265. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Command-Reference-Email.md +0 -0
  266. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Command-Reference-Group-Attributes.md +0 -0
  267. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Command-Reference-Groups.md +0 -0
  268. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Command-Reference-Users.md +0 -0
  269. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Context-Aware-Access-Levels.md +0 -0
  270. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
  271. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-CreatingClientSecretsFile.md +0 -0
  272. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Custom-Schemas.md +0 -0
  273. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Data-Transfers.md +0 -0
  274. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-DomainVerification.md +0 -0
  275. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-ExamplesAccountAuditing.md +0 -0
  276. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-ExamplesCSV.md +0 -0
  277. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-ExamplesEmailSettings.md +0 -0
  278. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-ExamplesOrganizations.md +0 -0
  279. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-GAM-Discussion-Group.md +0 -0
  280. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-GAM-on-Android-and-Chrome-OS.md +0 -0
  281. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-GAM-options-files.md +0 -0
  282. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-GAM-with--minimal-GCP-rights.md +0 -0
  283. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-GAM3CSVListings.md +0 -0
  284. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-GAM3DirectoryCommands.md +0 -0
  285. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-GAM3GroupSettings.md +0 -0
  286. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Google-Vault---Takeout-Commands.md +0 -0
  287. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-GoogleDriveManagement.md +0 -0
  288. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Grouping-18-or-Older-Users.md +0 -0
  289. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Home.md +0 -0
  290. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-How-to-upgrade-from-Standard-GAM.md +0 -0
  291. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Inbound-SSO-Settings.md +0 -0
  292. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-LicenseExamples.md +0 -0
  293. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Managing-Admins.md +0 -0
  294. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Managing-CloudPrint-Printers.md +0 -0
  295. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Managing-Devices.md +0 -0
  296. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Managing-Google-Classroom.md +0 -0
  297. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-OAuthKeyManagement.md +0 -0
  298. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Printers.md +0 -0
  299. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-ResellerCommands.md +0 -0
  300. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-SecurityExamples.md +0 -0
  301. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-UnmanagedUsersExamples.md +0 -0
  302. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
  303. {gam7-7.23.5 → gam7-7.23.6}/wiki/legacy/l-_Footer.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.23.5
3
+ Version: 7.23.6
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
@@ -368,6 +368,7 @@ If an item contains spaces, it should be surrounded by ".
368
368
  ## Named items
369
369
 
370
370
  <AccessToken> ::= <String>
371
+ <AdminAssigneeType> ::= group|user|serviceaccount|unknown
371
372
  <AlertID> ::= <String>
372
373
  <APIScopeURL> ::= <String>
373
374
  <APPID> ::= <String>
@@ -691,6 +692,7 @@ If an item contains spaces, it should be surrounded by ".
691
692
 
692
693
  ## Lists of basic items
693
694
 
695
+ <AdminAssigneeTypeList> ::= "<AdminAssigneeType>(,<AdminAssigneeType>)*"
694
696
  <APIScopeURLList> ::= "<APIScopeURL>(,<APIScopeURL>)*"
695
697
  <ASPIDList> ::= "<ASPID>(,<ASPID>)*"
696
698
  <AssetTagList> ::= "<AssetTag>(,<AssetTag>)*"
@@ -1553,9 +1555,11 @@ gam delete admin <RoleAssignmentId>
1553
1555
 
1554
1556
  gam print admins [todrive <ToDriveAttribute>*]
1555
1557
  [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>]
1558
+ [types <AdminAssigneeTypeList>]
1556
1559
  [recursive] [condition] [privileges] [oneitemperrow]
1557
1560
  gam show admins
1558
1561
  [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>]
1562
+ [types <AdminAssigneeTypeList>]
1559
1563
  [recursive] [condition] [privileges]
1560
1564
 
1561
1565
  # Alert Center
@@ -1,7 +1,16 @@
1
+ 7.23.06
2
+
3
+ Added option `types <AdminAssigneeTypeList>` to `gam print|show admins` that allows filtering
4
+ of admin assignments by the type of the assignee; by default, all assignee types are displayed.
5
+ ```
6
+ <AdminAssigneeType> ::= group|user|serviceaccount|unknown
7
+ <AdminAssigneeTypeList> ::= "<AdminAssigneeType>(,<AdminAssigneeType>)*"
8
+ ```
9
+
1
10
  7.23.05
2
11
 
3
- Added option `recursive` to `gam print|show admins` that will display assignments to the members
4
- of security groups assigned to roles; the security group membershop is recursively expanded.
12
+ Added option `recursive` that will display assignments to the members
13
+ of security groups assigned to roles; the security group membership is recursively expanded.
5
14
 
6
15
  7.23.04
7
16
 
@@ -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.23.05'
28
+ __version__ = '7.23.06'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -16990,21 +16990,37 @@ def doDeleteAdmin():
16990
16990
  except (GAPI.forbidden, GAPI.permissionDenied) as e:
16991
16991
  ClientAPIAccessDeniedExit(str(e))
16992
16992
 
16993
- ASSIGNEE_EMAILTYPE_TOFIELD_MAP = {
16993
+ ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP = {
16994
16994
  'user': 'assignedToUser',
16995
16995
  'group': 'assignedToGroup',
16996
16996
  'serviceaccount': 'assignedToServiceAccount',
16997
+ 'unknown': 'assignedToUnknown',
16997
16998
  }
16999
+ ALL_ASSIGNEE_TYPES = ['user', 'group', 'serviceaccount']
17000
+
16998
17001
  PRINT_ADMIN_FIELDS = ['roleAssignmentId', 'roleId', 'assignedTo', 'scopeType', 'orgUnitId', 'assigneeType']
16999
17002
  PRINT_ADMIN_TITLES = ['roleAssignmentId', 'roleId', 'role',
17000
17003
  'assignedTo', 'assignedToUser', 'assignedToGroup', 'assignedToServiceAccount', 'assignedToUnknown',
17001
17004
  'scopeType', 'orgUnitId', 'orgUnit']
17002
17005
 
17006
+ def getAssigneeTypes(myarg, typesSet):
17007
+ if myarg in {'type', 'types'}:
17008
+ for gtype in getString(Cmd.OB_ADMIN_ASSIGNEE_TYPE_LIST).lower().replace(',', ' ').split():
17009
+ if gtype in ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP:
17010
+ typesSet.add(ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP[gtype])
17011
+ else:
17012
+ invalidChoiceExit(gtype, ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP, True)
17013
+ else:
17014
+ return False
17015
+ return True
17016
+
17003
17017
  # gam print admins [todrive <ToDriveAttribute>*]
17004
17018
  # [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>]
17019
+ # [types <AdminAssigneeTypeList>]
17005
17020
  # [recursive] [condition] [privileges] [oneitemperrow]
17006
17021
  # gam show admins
17007
17022
  # [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>]
17023
+ # [types <AdminAssigneeTypeList>]
17008
17024
  # [recursive] [condition] [privileges]
17009
17025
  def doPrintShowAdmins():
17010
17026
  def _getPrivileges(admin):
@@ -17034,14 +17050,16 @@ def doPrintShowAdmins():
17034
17050
  assignedTo = admin['assignedTo']
17035
17051
  if assignedTo not in assignedToIdEmailMap:
17036
17052
  assigneeEmail, assigneeType = convertUIDtoEmailAddressWithType(f'uid:{assignedTo}', cd, sal,
17037
- emailTypes=allAssigneeTypes if admin.get('assigneeType') != 'group' else ['group'])
17038
- if assigneeType in ASSIGNEE_EMAILTYPE_TOFIELD_MAP:
17039
- assignedToField = ASSIGNEE_EMAILTYPE_TOFIELD_MAP[assigneeType]
17053
+ emailTypes=ALL_ASSIGNEE_TYPES if admin.get('assigneeType') != 'group' else ['group'])
17054
+ if assigneeType in ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP:
17055
+ assignedToField = ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP[assigneeType]
17040
17056
  else:
17041
17057
  assignedToField = 'assignedToUnknown'
17058
+ if assignedToField == 'assignedToUnknown':
17042
17059
  assigneeEmail = True
17043
17060
  assignedToIdEmailMap[assignedTo] = {'assignedToField': assignedToField, 'assigneeEmail': assigneeEmail}
17044
17061
  admin[assignedToIdEmailMap[assignedTo]['assignedToField']] = assignedToIdEmailMap[assignedTo]['assigneeEmail']
17062
+ admin['assignedToField'] = assignedToIdEmailMap[assignedTo]['assignedToField']
17045
17063
  if privileges is not None:
17046
17064
  admin.update(privileges)
17047
17065
  if 'orgUnitId' in admin:
@@ -17058,11 +17076,11 @@ def doPrintShowAdmins():
17058
17076
  roleId = None
17059
17077
  userKey = None
17060
17078
  oneItemPerRow = recursive = showPrivileges = False
17079
+ typesSet = set()
17061
17080
  kwargs = {}
17062
17081
  rolePrivileges = {}
17063
17082
  fieldsList = PRINT_ADMIN_FIELDS
17064
17083
  assignedToIdEmailMap = {}
17065
- allAssigneeTypes = list(ASSIGNEE_EMAILTYPE_TOFIELD_MAP.keys())
17066
17084
  while Cmd.ArgumentsRemaining():
17067
17085
  myarg = getArgument()
17068
17086
  if csvPF and myarg == 'todrive':
@@ -17071,6 +17089,8 @@ def doPrintShowAdmins():
17071
17089
  userKey = kwargs['userKey'] = getEmailAddress()
17072
17090
  elif myarg == 'role':
17073
17091
  _, roleId = getRoleId()
17092
+ elif getAssigneeTypes(myarg, typesSet):
17093
+ pass
17074
17094
  elif myarg == 'recursive':
17075
17095
  recursive = True
17076
17096
  allGroupRoles = ','.join(sorted(ALL_GROUP_ROLES))
@@ -17093,6 +17113,8 @@ def doPrintShowAdmins():
17093
17113
  if roleId and not kwargs:
17094
17114
  kwargs['roleId'] = roleId
17095
17115
  roleId = None
17116
+ if not typesSet:
17117
+ typesSet = set(ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP.values())
17096
17118
  fields = getItemFieldsFromFieldsList('items', fieldsList)
17097
17119
  printGettingAllAccountEntities(Ent.ADMIN_ROLE_ASSIGNMENT)
17098
17120
  try:
@@ -17123,11 +17145,12 @@ def doPrintShowAdmins():
17123
17145
  i += 1
17124
17146
  if roleId and roleId != admin['roleId']:
17125
17147
  continue
17148
+ assignedTo = admin['assignedTo']
17126
17149
  if admin['assigneeType'] != 'group' or not recursive:
17127
17150
  _setNamesFromIds(admin, _getPrivileges(admin))
17128
- expandedAdmins.append(admin)
17151
+ if admin['assignedToField'] in typesSet:
17152
+ expandedAdmins.append(admin)
17129
17153
  continue
17130
- assignedTo = admin['assignedTo']
17131
17154
  if assignedTo not in groupMembers:
17132
17155
  membersList = []
17133
17156
  membersSet = set()
@@ -17136,6 +17159,9 @@ def doPrintShowAdmins():
17136
17159
  memberOptions, memberDisplayOptions, level, {Ent.TYPE_USER})
17137
17160
  groupMembers[assignedTo] = membersList[:]
17138
17161
  _setNamesFromIds(admin, _getPrivileges(admin))
17162
+ if admin[assignedToIdEmailMap[assignedTo]['assignedToField']] not in typesSet:
17163
+ continue
17164
+ expandedAdmins.append(admin)
17139
17165
  if not groupMembers[assignedTo]:
17140
17166
  expandedAdmins.append(admin)
17141
17167
  continue
@@ -17173,6 +17199,7 @@ def doPrintShowAdmins():
17173
17199
  Ind.Decrement()
17174
17200
  else:
17175
17201
  for admin in expandedAdmins:
17202
+ admin.pop('assignedToField')
17176
17203
  if not oneItemPerRow or 'rolePrivileges' not in admin:
17177
17204
  csvPF.WriteRowTitles(flattenJSON(admin))
17178
17205
  else:
@@ -1138,6 +1138,7 @@ class GamCLArgs():
1138
1138
  OB_ARGUMENT = 'argument'
1139
1139
  OB_ASP_ID_LIST = 'ASPIDList'
1140
1140
  OB_ASSET_ID = 'AssetID'
1141
+ OB_ADMIN_ASSIGNEE_TYPE_LIST = 'AdminAssigneeTypeList'
1141
1142
  OB_BROWSER_ENROLLEMNT_TOKEN_ID = 'BrowserEnrollmentTokenID'
1142
1143
  OB_BROWSER_ENTITY = 'BrowserEntity'
1143
1144
  OB_BUILDING_ID = 'BuildingID'
@@ -1475,16 +1475,20 @@ gam delete admin <RoleAssignmentId>
1475
1475
  ## Display administrators
1476
1476
  ```
1477
1477
  gam print admins [todrive <ToDriveAttribute>*]
1478
- [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>] [condition]
1479
- [privileges] [oneitemperrow]
1478
+ [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>]
1479
+ [recursive] [condition] [privileges] [oneitemperrow]
1480
1480
  gam show admins
1481
- [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>] [condition] [privileges]
1481
+ [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>]
1482
+ [recursive] [condition] [privileges]
1482
1483
  ```
1483
1484
  By default, all administrators and roles are displayed; choose from the following
1484
1485
  options to limit the display:
1485
- * `user <UserItem>` - Display only this administrator
1486
+ * `user|group <EmailAddress>|<UniqueID>` - Display assignments to this administrator
1486
1487
  * `role <RoleItem>` - Display only administrators with this role
1487
1488
 
1489
+ By default, assignments to security groups are shown as a single item; use `recursive`
1490
+ to display assignments to the members of the security groups; the security group membershop is recursively expanded.
1491
+
1488
1492
  * `condition` - Display any conditions associated with a role assignment
1489
1493
  * `privileges` - Display privileges associated with each role assignment
1490
1494
 
@@ -10,6 +10,11 @@ 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.23.05
14
+
15
+ Added option `recursive` to `gam print|show admins` that will display assignments to the members
16
+ of security groups assigned to roles; the security group membership is recursively expanded.
17
+
13
18
  ### 7.23.04
14
19
 
15
20
  Added option `addcsvdata <FieldName> <String>` to `gam <UserTypeEntity> print events`
@@ -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.23.04 - https://github.com/GAM-team/GAM - pyinstaller
255
+ GAM 7.23.05 - 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 Tahoe 26.0.1 x86_64
@@ -3,7 +3,7 @@
3
3
  Print the current version of Gam with details
4
4
  ```
5
5
  gam version
6
- GAM 7.23.04 - https://github.com/GAM-team/GAM - pyinstaller
6
+ GAM 7.23.05 - 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 Tahoe 26.0.1 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.23.04 - https://github.com/GAM-team/GAM - pyinstaller
18
+ GAM 7.23.05 - 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 Tahoe 26.0.1 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.23.04 - https://github.com/GAM-team/GAM - pyinstaller
30
+ GAM 7.23.05 - 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 Tahoe 26.0.1 x86_64
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
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