From 7d2b23cb0f5b79b858fcdce694f2007423de8c3e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 12 Oct 2026 22:03:34 +0000 Subject: [PATCH 1/2] GAM: bump 7.48.22 -> 7.48.26 (automated) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Asset attested (gh attestation verify, GAM-team/GAM build.yml on main), pinned, vendored, catalog regenerated, mock + doc counts refreshed by scripts/bump_gam.py. ❌ offline suite RED — needs code changes before merge --- CLAUDE.md | 6 +++--- README.md | 4 ++-- ROADMAP.md | 6 +++--- gamgui/core/gam/commands.py | 2 +- gamgui/resources/gam7/VERSION | 2 +- gamgui/resources/gam7/command_catalog.json | 2 +- scripts/fetch_gam.sh | 2 +- scripts/gam_checksums.txt | 2 +- tests/fixtures/mock_gam.sh | 2 +- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index b360b50..e13db62 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,8 +22,8 @@ Each of these exists because something went wrong. Several have tests guarding t ran on a bare POST — against what the preview showed: a confirm step that posts the live form runs the changes its preview held (single-use `web/previews.py` token), never a rebuild of that form. `tests/test_write_routes_guarded.py` holds every POST route to this or a stated exemption. -3. **Only read-only commands may become runnable automatically.** Of 1075 catalog entries, 538 run: - 26 hand-curated (the only ones that can *change* anything) plus 512 grammar-derived commands +3. **Only read-only commands may become runnable automatically.** Of 1077 catalog entries, 540 run: + 26 hand-curated (the only ones that can *change* anything) plus 514 grammar-derived commands auto-promoted by `core/catalog/readbuilder.py` **because they are confidently `READ_ONLY` and not flagged uncertain**. Everything else is inert, syntax display only. Adding write coverage is a deliberate act of curation. (Two agent-facing docs once claimed only the 26 curated commands run — @@ -113,7 +113,7 @@ make gam TAG=vX.Y.Z # re-vendor GAM (fails closed on an unpinned make app # build dist/GamGUI.app ``` -GAM is pinned at `EXPECTED_GAM_VERSION` in `core/gam/commands.py` (currently 7.48.22); three drift +GAM is pinned at `EXPECTED_GAM_VERSION` in `core/gam/commands.py` (currently 7.48.26); three drift guards (`test_required_command_tokens_present`, `test_catalog_matches_grammar`, `test_pinned_version_consistent`) fail if a bump breaks a command we use. Bump with `scripts/bump_gam.py vX.Y.Z` — runbook in [build-packaging](docs/domains/build-packaging.md); the diff --git a/README.md b/README.md index a130e24..eac23de 100644 --- a/README.md +++ b/README.md @@ -102,8 +102,8 @@ Actively developed and used against live Google Workspace tenants. Working today password goes on a copyable, printable sheet, or Google emails it via GAM's `notify`), the role's OU and signature, its groups and shared calendars, a Google Tasks checklist for whoever does the setup, and a templated welcome email — for one person, or a CSV of hires as a background job. -- **Command Builder** — browse/search the full categorized GAM catalog (1,075 commands, 538 of them - runnable: 26 hand-curated, the only ones that can change anything, plus 512 read-only commands +- **Command Builder** — browse/search the full categorized GAM catalog (1,077 commands, 540 of them + runnable: 26 hand-curated, the only ones that can change anything, plus 514 read-only commands derived from GAM's grammar); curated commands get typed slots, drag-a-user targeting, a guarded preview → run, linear sequencing, and results export (CSV download or straight to a Google Sheet). Result tables slice like grep — a live row filter plus an **External only** toggle that diff --git a/ROADMAP.md b/ROADMAP.md index 0d35ed0..b7d4341 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -47,8 +47,8 @@ around that is not on this list. See [CONTRIBUTING.md](CONTRIBUTING.md). ## Later -- **Grow the buildable command set — specifically the writes.** Of 1,075 catalog entries, 538 can - run today: 26 hand-curated commands (the only ones that can *change* anything) plus 512 +- **Grow the buildable command set — specifically the writes.** Of 1,077 catalog entries, 540 can + run today: 26 hand-curated commands (the only ones that can *change* anything) plus 514 grammar-derived commands auto-promoted because they are confidently read-only. The other 537 — every write, and anything whose risk could not be inferred with confidence — are inert, syntax display only. That asymmetry is the safety boundary: a command can become runnable automatically @@ -78,7 +78,7 @@ discover later. asked for it, so the effort goes elsewhere. The connector/core split is where you would start if that changed. - **A free-text `gam …` box.** The tempting escape hatch, and the trade-off is narrower than it - sounds. *Reads are already open*: 512 grammar-derived read commands run today with no curation at + sounds. *Reads are already open*: 514 grammar-derived read commands run today with no curation at all (the handful whose output is a secret or a file — backup codes, browser tokens, and every `get` download: Drive files and Docs, Keep attachments, ChromeOS device files, photos — are audited when run; SECURITY.md lists them). The line is drawn at **writes** — every command that can change something is hand-modeled, so diff --git a/gamgui/core/gam/commands.py b/gamgui/core/gam/commands.py index a0a418e..796fc45 100644 --- a/gamgui/core/gam/commands.py +++ b/gamgui/core/gam/commands.py @@ -21,7 +21,7 @@ # `scripts/fetch_gam.sh` (TAG), the mock, and the version tests must all match this; that's enforced by # tests/test_command_contract.py so they can't drift. Bump deliberately via the "Updating GAM" runbook. # Compared (as a substring) against the running `gam version` for the fail-soft runtime self-check. -EXPECTED_GAM_VERSION = "7.48.22" +EXPECTED_GAM_VERSION = "7.48.26" # Roles accepted by Google Directory for group membership. GROUP_ROLES = ("member", "manager", "owner") diff --git a/gamgui/resources/gam7/VERSION b/gamgui/resources/gam7/VERSION index e006a51..cf8a027 100644 --- a/gamgui/resources/gam7/VERSION +++ b/gamgui/resources/gam7/VERSION @@ -1 +1 @@ -v7.48.22 +v7.48.26 diff --git a/gamgui/resources/gam7/command_catalog.json b/gamgui/resources/gam7/command_catalog.json index cda558c..a771693 100644 --- a/gamgui/resources/gam7/command_catalog.json +++ b/gamgui/resources/gam7/command_catalog.json @@ -1 +1 @@ -{"version":"7.48.22","commands":[{"id":"raw.1376","category":"Meta Commands","subcategory":"","name":"[] [] [] [] [] ...","verb":"[]","raw_syntax":"gam []","risk":1,"uncertain":true,"description":""},{"id":"raw.1381","category":"Check connection to Google","subcategory":"","name":"Checkconnection","raw_syntax":"gam checkconnection","verb":"checkconnection","risk":0,"uncertain":false,"description":""},{"id":"raw.1384","category":"Comment","subcategory":"","name":"Comment","raw_syntax":"gam comment *","verb":"comment","risk":1,"uncertain":true,"description":""},{"id":"raw.1388","category":"Version and Help","subcategory":"","name":"Version","raw_syntax":"gam version [check|checkrc|simple|extended] [timeoffset] [location ]","verb":"version","risk":0,"uncertain":false,"description":""},{"id":"raw.1389","category":"Version and Help","subcategory":"","name":"Help","raw_syntax":"gam help","verb":"help","risk":1,"uncertain":true,"description":""},{"id":"raw.1399","category":"Bulk Processing","subcategory":"","name":"Batch","raw_syntax":"gam batch [showcmds []]","verb":"batch","risk":1,"uncertain":true,"description":""},{"id":"raw.1400","category":"Bulk Processing","subcategory":"","name":"Tbatch","raw_syntax":"gam tbatch [showcmds []]","verb":"tbatch","risk":1,"uncertain":true,"description":""},{"id":"raw.1411","category":"Bulk Processing","subcategory":"","name":"Csv","raw_syntax":"gam csv [warnifnodata]","verb":"csv","risk":1,"uncertain":true,"description":""},{"id":"raw.1417","category":"Bulk Processing","subcategory":"","name":"Loop","raw_syntax":"gam loop [warnifnodata]","verb":"loop","risk":1,"uncertain":true,"description":""},{"id":"raw.1431","category":"Bulk Processing","subcategory":"","name":"List","raw_syntax":"gam list [todrive *] [data | [delimiter ]]","verb":"list","risk":0,"uncertain":false,"description":""},{"id":"raw.1432","category":"Bulk Processing","subcategory":"","name":"List","raw_syntax":"gam | list [todrive *] [data [delimiter ]]","verb":"list","risk":0,"uncertain":false,"description":""},{"id":"raw.1436","category":"Addresses","subcategory":"","name":"Print addresses","raw_syntax":"gam print addresses [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1441","category":"Authorization","subcategory":"","name":"Info gcporgid","raw_syntax":"gam info gcporgid","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.1443","category":"Authorization","subcategory":"","name":"Create gcpfolder","raw_syntax":"gam create gcpfolder ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1444","category":"Authorization","subcategory":"","name":"Create gcpfolder","raw_syntax":"gam create gcpfolder [admin ] folder ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1446","category":"Authorization","subcategory":"","name":"Create project","raw_syntax":"gam create|add project [] []","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1447","category":"Authorization","subcategory":"","name":"Create project","raw_syntax":"gam create project [admin ] [project ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1456","category":"Authorization","subcategory":"","name":"Use project","raw_syntax":"gam use project [] []","verb":"use","risk":1,"uncertain":false,"description":""},{"id":"raw.1457","category":"Authorization","subcategory":"","name":"Use project","raw_syntax":"gam use project [admin ] [project ]","verb":"use","risk":1,"uncertain":false,"description":""},{"id":"raw.1464","category":"Authorization","subcategory":"","name":"Update project","raw_syntax":"gam update project [[admin] ] []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1465","category":"Authorization","subcategory":"","name":"Delete project","raw_syntax":"gam delete project [[admin] ] []","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1466","category":"Authorization","subcategory":"","name":"Show projects","raw_syntax":"gam show projects [[admin] ] [all|]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1468","category":"Authorization","subcategory":"","name":"Print projects","raw_syntax":"gam print projects [[admin] ] [all|] [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1471","category":"Authorization","subcategory":"","name":"Info currentprojectid","raw_syntax":"gam info currentprojectid","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.1473","category":"Authorization","subcategory":"","name":"Create svcacct","raw_syntax":"gam create|add svcacct [[admin] ] []","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1479","category":"Authorization","subcategory":"","name":"Delete svcacct","raw_syntax":"gam delete svcacct [[admin] ] []","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1481","category":"Authorization","subcategory":"","name":"Check svcacct","raw_syntax":"gam check svcacct (scope|scopes )*","verb":"check","risk":1,"uncertain":true,"description":""},{"id":"raw.1482","category":"Authorization","subcategory":"","name":"Update svcacct","raw_syntax":"gam update svcacct (scope|scopes )*","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1483","category":"Authorization","subcategory":"","name":"Show svcaccts","raw_syntax":"gam show svcaccts [[admin] ] [all|]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1485","category":"Authorization","subcategory":"","name":"Print svcaccts","raw_syntax":"gam print svcaccts [[admin] ] [all|]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1490","category":"Authorization","subcategory":"","name":"Create sakey","raw_syntax":"gam create sakey","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1494","category":"Authorization","subcategory":"","name":"Rotate","raw_syntax":"gam rotate sakey|sakeys retain_existing","verb":"rotate","risk":1,"uncertain":false,"description":""},{"id":"raw.1499","category":"Authorization","subcategory":"","name":"Update sakey","raw_syntax":"gam update sakey","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1503","category":"Authorization","subcategory":"","name":"Rotate","raw_syntax":"gam rotate sakey|sakeys replace_current","verb":"rotate","risk":1,"uncertain":false,"description":""},{"id":"raw.1508","category":"Authorization","subcategory":"","name":"Replace sakeys","raw_syntax":"gam replace sakeys","verb":"replace","risk":1,"uncertain":false,"description":""},{"id":"raw.1512","category":"Authorization","subcategory":"","name":"Rotate","raw_syntax":"gam rotate sakey|sakeys retain_none","verb":"rotate","risk":1,"uncertain":false,"description":""},{"id":"raw.1517","category":"Authorization","subcategory":"","name":"Upload sakey","raw_syntax":"gam upload sakey [admin ]","verb":"upload","risk":1,"uncertain":false,"description":""},{"id":"raw.1522","category":"Authorization","subcategory":"","name":"Delete sakeys","raw_syntax":"gam delete sakeys + [doit]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1523","category":"Authorization","subcategory":"","name":"Show sakeys","raw_syntax":"gam show sakeys [all|system|user]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1525","category":"Authorization","subcategory":"","name":"Yubikey resetpvi","raw_syntax":"gam yubikey resetpvi [yubikey_serialnumber ]","verb":"yubikey","risk":1,"uncertain":true,"description":""},{"id":"raw.1526","category":"Authorization","subcategory":"","name":"Rotate sakey","raw_syntax":"gam rotate sakey yubikey yubikey_pin yubikey_slot AUTHENTICATION|SIGNATURE yubikey_serialnumber ","verb":"rotate","risk":1,"uncertain":false,"description":""},{"id":"raw.1528","category":"Authorization","subcategory":"","name":"Create","raw_syntax":"gam create [gcpserviceaccount|signjwtserviceaccount]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1529","category":"Authorization","subcategory":"","name":"Enable apis","raw_syntax":"gam enable apis [auto|manual]","verb":"enable","risk":1,"uncertain":false,"description":""},{"id":"raw.1531","category":"Authorization","subcategory":"","name":"Create","raw_syntax":"gam oauth|oauth2 create|request []","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1532","category":"Authorization","subcategory":"","name":"Create","raw_syntax":"gam oauth|oauth2 create|request [admin ] [scopes ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1533","category":"Authorization","subcategory":"","name":"Update","raw_syntax":"gam oauth|oauth2 update []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1534","category":"Authorization","subcategory":"","name":"Update","raw_syntax":"gam oauth|oauth2 update [admin ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1535","category":"Authorization","subcategory":"","name":"Delete","raw_syntax":"gam oauth|oauth2 delete|revoke","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1536","category":"Authorization","subcategory":"","name":"Oauth export","raw_syntax":"gam oauth|oauth2 export []","verb":"oauth","risk":1,"uncertain":true,"description":""},{"id":"raw.1537","category":"Authorization","subcategory":"","name":"Oauth refresh","raw_syntax":"gam oauth|oauth2 refresh","verb":"oauth","risk":1,"uncertain":true,"description":""},{"id":"raw.1538","category":"Authorization","subcategory":"","name":"Info","raw_syntax":"gam oauth|oauth2 info|verify [showsecret] [accesstoken idtoken ] [showdetails]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.1540","category":"Authorization","subcategory":"","name":" check","raw_syntax":"gam check serviceaccount (scope|scopes )*","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.1541","category":"Authorization","subcategory":"","name":"Update serviceaccount","raw_syntax":"gam update serviceaccount (scope|scopes )*","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1545","category":"Administrators","subcategory":"","name":"Print privileges","raw_syntax":"gam print privileges [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1546","category":"Administrators","subcategory":"","name":"Show privileges","raw_syntax":"gam show privileges","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1553","category":"Administrators","subcategory":"","name":"Create adminrole","raw_syntax":"gam create adminrole [description ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1556","category":"Administrators","subcategory":"","name":"Update adminrole","raw_syntax":"gam update adminrole [name ] [description ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1559","category":"Administrators","subcategory":"","name":"Delete adminrole","raw_syntax":"gam delete adminrole ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1560","category":"Administrators","subcategory":"","name":"Info adminrole","raw_syntax":"gam info adminrole [privileges]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.1562","category":"Administrators","subcategory":"","name":"Print","raw_syntax":"gam print adminroles|roles [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1566","category":"Administrators","subcategory":"","name":"Show","raw_syntax":"gam show adminroles|roles","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1571","category":"Administrators","subcategory":"","name":"Create admin","raw_syntax":"gam create|add admin | customer|(org_unit )","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1573","category":"Administrators","subcategory":"","name":"Delete admin","raw_syntax":"gam delete admin ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1578","category":"Administrators","subcategory":"","name":"Print admins","raw_syntax":"gam print admins [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1582","category":"Administrators","subcategory":"","name":"Show admins","raw_syntax":"gam show admins","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1589","category":"Alert Center","subcategory":"","name":"Show alertsettings","raw_syntax":"gam show alertsettings","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1590","category":"Alert Center","subcategory":"","name":"Update alertsettings","raw_syntax":"gam update alertsettings ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1591","category":"Alert Center","subcategory":"","name":"Clear alertsettings","raw_syntax":"gam clear alertsettings","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.1593","category":"Alert Center","subcategory":"","name":"Delete alert","raw_syntax":"gam delete alert ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1594","category":"Alert Center","subcategory":"","name":"Undelete alert","raw_syntax":"gam undelete alert ","verb":"undelete","risk":1,"uncertain":false,"description":""},{"id":"raw.1595","category":"Alert Center","subcategory":"","name":"Info alert","raw_syntax":"gam info alert [formatjson]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.1596","category":"Alert Center","subcategory":"","name":"Show alerts","raw_syntax":"gam show alerts [filter ] [orderby createtime [ascending|descending]]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1598","category":"Alert Center","subcategory":"","name":"Print alerts","raw_syntax":"gam print alerts [todrive *] [filter ] [orderby createtime [ascending|descending]]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1601","category":"Alert Center","subcategory":"","name":"Create alertfeedback","raw_syntax":"gam create alertfeedback not_useful|somewhat_useful|very_useful","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1602","category":"Alert Center","subcategory":"","name":"Show alertfeedback","raw_syntax":"gam show alertfeedback [alert ] [filter ] [orderby createtime [ascending|descending]]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1604","category":"Alert Center","subcategory":"","name":"Print alertfeedback","raw_syntax":"gam print alertfeedback [todrive *] [alert ] [filter ] [orderby createtime [ascending|descending]]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1609","category":"Aliases","subcategory":"","name":"Create","raw_syntax":"gam create|add alias|aliases user|group|target |","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1611","category":"Aliases","subcategory":"","name":"Update","raw_syntax":"gam update alias|aliases user|group|target |","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1613","category":"Aliases","subcategory":"","name":"Delete","raw_syntax":"gam delete alias|aliases [user|group|target] ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1614","category":"Aliases","subcategory":"","name":"Remove","raw_syntax":"gam remove aliases|nicknames user|group ","verb":"remove","risk":2,"uncertain":false,"description":""},{"id":"raw.1615","category":"Aliases","subcategory":"","name":"Delete","raw_syntax":"gam delete alias|aliases","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1617","category":"Aliases","subcategory":"","name":"Info","raw_syntax":"gam info alias|aliases ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.1619","category":"Aliases","subcategory":"","name":"Print","raw_syntax":"gam print alias|aliases [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1631","category":"Aliases","subcategory":"","name":"Whatis","raw_syntax":"gam whatis [noinfo] [noinivitablecheck]","verb":"whatis","risk":0,"uncertain":false,"description":""},{"id":"raw.1635","category":"Analytics Admin","subcategory":"","name":"Print analyticaccounts","raw_syntax":"gam print analyticaccounts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1638","category":"Analytics Admin","subcategory":"","name":"Show analyticaccounts","raw_syntax":"gam show analyticaccounts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1642","category":"Analytics Admin","subcategory":"","name":"Print analyticaccountsummaries","raw_syntax":"gam print analyticaccountsummaries [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1645","category":"Analytics Admin","subcategory":"","name":"Show analyticaccountsummaries","raw_syntax":"gam show analyticaccountsummaries","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1649","category":"Analytics Admin","subcategory":"","name":"Print analyticproperties","raw_syntax":"gam print analyticproperties [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1653","category":"Analytics Admin","subcategory":"","name":"Show analyticproperties","raw_syntax":"gam show analyticproperties","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1658","category":"Analytics Admin","subcategory":"","name":"Print analyticdatastreams","raw_syntax":"gam print analyticdatastreams [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1662","category":"Analytics Admin","subcategory":"","name":"Show analyticdatastreams","raw_syntax":"gam show analyticdatastreams","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1684","category":"Calendars","subcategory":"","name":"Transfer","raw_syntax":"gam calendars transfer ","verb":"transfer","risk":1,"uncertain":false,"description":""},{"id":"raw.1686","category":"Calendars","subcategory":"","name":"Create","raw_syntax":"gam calendars create|add acls|calendaracls [sendnotifications ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1687","category":"Calendars","subcategory":"","name":"Update","raw_syntax":"gam calendars update acls|calendaracls [sendnotifications ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1688","category":"Calendars","subcategory":"","name":"Delete","raw_syntax":"gam calendars delete acls|calendaracls [] ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1689","category":"Calendars","subcategory":"","name":"Info","raw_syntax":"gam calendars info acls|calendaracls ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.1692","category":"Calendars","subcategory":"","name":"Show","raw_syntax":"gam calendars show acls|calendaracls","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1695","category":"Calendars","subcategory":"","name":"Print","raw_syntax":"gam calendars print acls|calendaracls [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1699","category":"Calendars","subcategory":"","name":"Create","raw_syntax":"gam calendar create|add ([user] )|(group )|(domain [])|default [sendnotifications ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1700","category":"Calendars","subcategory":"","name":"Update","raw_syntax":"gam calendar update ([user] )|(group )|(domain [])|default [sendnotifications ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1701","category":"Calendars","subcategory":"","name":"Delete","raw_syntax":"gam calendar delete [] ([user] )|(group )|(domain [])|default","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1702","category":"Calendars","subcategory":"","name":"Calendar","raw_syntax":"gam calendar showacl","verb":"calendar","risk":1,"uncertain":true,"description":""},{"id":"raw.1705","category":"Calendars","subcategory":"","name":"Calendar","raw_syntax":"gam calendar printacl [todrive *]","verb":"calendar","risk":1,"uncertain":true,"description":""},{"id":"raw.1844","category":"Calendars","subcategory":"","name":"Create event","raw_syntax":"gam calendar|calendars create|add event [id ] + []","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.1847","category":"Calendars","subcategory":"","name":"Import event","raw_syntax":"gam calendar|calendars import event icaluid +","verb":"import","risk":1,"uncertain":false,"description":""},{"id":"raw.1850","category":"Calendars","subcategory":"","name":"Update events","raw_syntax":"gam calendar|calendars update events [] [replacemode] + []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.1853","category":"Calendars","subcategory":"","name":"Delete events","raw_syntax":"gam calendar|calendars delete events []","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.1855","category":"Calendars","subcategory":"","name":"Purge events","raw_syntax":"gam calendar|calendars purge events []","verb":"purge","risk":2,"uncertain":false,"description":""},{"id":"raw.1857","category":"Calendars","subcategory":"","name":"Wipe events","raw_syntax":"gam calendar|calendars wipe events","verb":"wipe","risk":2,"uncertain":false,"description":""},{"id":"raw.1858","category":"Calendars","subcategory":"","name":"Move events","raw_syntax":"gam calendar|calendars move events [] destination|to []","verb":"move","risk":1,"uncertain":false,"description":""},{"id":"raw.1859","category":"Calendars","subcategory":"","name":"Empty calendartrash","raw_syntax":"gam calendar|calendars empty calendartrash","verb":"empty","risk":2,"uncertain":false,"description":""},{"id":"raw.1972","category":"Calendars","subcategory":"","name":"Info events","raw_syntax":"gam calendar|calendars info events [] [maxinstances ]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.1975","category":"Calendars","subcategory":"","name":"Show events","raw_syntax":"gam calendar|calendars show events [] *","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.1978","category":"Calendars","subcategory":"","name":"Print events","raw_syntax":"gam calendar|calendars print events [] *","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.1984","category":"Calendars","subcategory":"","name":"Calendar","raw_syntax":"gam calendar addevent + []","verb":"calendar","risk":1,"uncertain":true,"description":""},{"id":"raw.1987","category":"Calendars","subcategory":"","name":"Calendar","raw_syntax":"gam calendar updateevent [replacemode] + []","verb":"calendar","risk":1,"uncertain":true,"description":""},{"id":"raw.1988","category":"Calendars","subcategory":"","name":"Calendar","raw_syntax":"gam calendar deleteevent (id|eventid )+ [doit] []","verb":"calendar","risk":1,"uncertain":true,"description":""},{"id":"raw.1991","category":"Calendars","subcategory":"","name":"Calendar","raw_syntax":"gam calendar moveevent (id|eventid )+ destination []","verb":"calendar","risk":1,"uncertain":true,"description":""},{"id":"raw.1992","category":"Calendars","subcategory":"","name":"Wipe","raw_syntax":"gam calendar wipe","verb":"wipe","risk":2,"uncertain":false,"description":""},{"id":"raw.1993","category":"Calendars","subcategory":"","name":"Calendar","raw_syntax":"gam calendar printevents * *","verb":"calendar","risk":1,"uncertain":true,"description":""},{"id":"raw.2015","category":"Calendars","subcategory":"","name":"Show settings","raw_syntax":"gam calendar|calendars show settings","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2018","category":"Calendars","subcategory":"","name":"Print settings","raw_syntax":"gam calendar|calendars print settings [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2021","category":"Calendars","subcategory":"","name":"Modify","raw_syntax":"gam calendar|calendars modify +","verb":"modify","risk":1,"uncertain":false,"description":""},{"id":"raw.2036","category":"Chat Bot","subcategory":"","name":"Setup chat","raw_syntax":"gam setup chat","verb":"setup","risk":1,"uncertain":true,"description":""},{"id":"raw.2057","category":"Chat Bot","subcategory":"","name":"Info chatspace","raw_syntax":"gam info chatspace ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2060","category":"Chat Bot","subcategory":"","name":"Show chatspaces","raw_syntax":"gam show chatspaces","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2063","category":"Chat Bot","subcategory":"","name":"Print chatspaces","raw_syntax":"gam print chatspaces [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2077","category":"Chat Bot","subcategory":"","name":"Info chatmember","raw_syntax":"gam info chatmember member ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2080","category":"Chat Bot","subcategory":"","name":"Show chatmembers","raw_syntax":"gam show chatmembers ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2084","category":"Chat Bot","subcategory":"","name":"Print chatmembers","raw_syntax":"gam print chatmembers [todrive *] ","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2090","category":"Chat Bot","subcategory":"","name":"Create chatmessage","raw_syntax":"gam create chatmessage ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.2095","category":"Chat Bot","subcategory":"","name":"Update chatmessage","raw_syntax":"gam update chatmessage name ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.2097","category":"Chat Bot","subcategory":"","name":"Delete chatmessage","raw_syntax":"gam delete chatmessage name ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.2128","category":"Chat Bot","subcategory":"","name":"Info chatmessage","raw_syntax":"gam info chatmessage name ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2132","category":"Chat Bot","subcategory":"","name":"Info chatevent","raw_syntax":"gam info chatevent name ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2204","category":"Chrome Browser Cloud Management","subcategory":"","name":"Delete browser","raw_syntax":"gam delete browser ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.2205","category":"Chrome Browser Cloud Management","subcategory":"","name":"Update browser","raw_syntax":"gam update browser +","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.2206","category":"Chrome Browser Cloud Management","subcategory":"","name":"Move browsers","raw_syntax":"gam move browsers ou|org|orgunit ","verb":"move","risk":1,"uncertain":false,"description":""},{"id":"raw.2213","category":"Chrome Browser Cloud Management","subcategory":"","name":"Info browser","raw_syntax":"gam info browser ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2218","category":"Chrome Browser Cloud Management","subcategory":"","name":"Show browsers","raw_syntax":"gam show browsers","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2226","category":"Chrome Browser Cloud Management","subcategory":"","name":"Print browsers","raw_syntax":"gam print browsers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2236","category":"Chrome Browser Cloud Management","subcategory":"","name":"Create browsertoken","raw_syntax":"gam create browsertoken","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.2239","category":"Chrome Browser Cloud Management","subcategory":"","name":"Revoke browsertoken","raw_syntax":"gam revoke browsertoken ","verb":"revoke","risk":1,"uncertain":true,"description":""},{"id":"raw.2257","category":"Chrome Browser Cloud Management","subcategory":"","name":"Show browsertokens","raw_syntax":"gam show browsertokens","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2263","category":"Chrome Browser Cloud Management","subcategory":"","name":"Print browsertokens","raw_syntax":"gam print browsertokens [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2273","category":"Chrome Auto Update Expiration Counts","subcategory":"","name":"Print chromeaues","raw_syntax":"gam print chromeaues [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2278","category":"Chrome Auto Update Expiration Counts","subcategory":"","name":"Show chromeaues","raw_syntax":"gam show chromeaues","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2286","category":"Chrome Devices Need Attention Counts","subcategory":"","name":"Print chromeneedsattn","raw_syntax":"gam print chromeneedsattn [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2290","category":"Chrome Devices Need Attention Counts","subcategory":"","name":"Show chromeneedsattn","raw_syntax":"gam show chromeneedsattn","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2353","category":"Chrome Profile Management","subcategory":"","name":"Delete chromeprofile","raw_syntax":"gam delete chromeprofile ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.2355","category":"Chrome Profile Management","subcategory":"","name":"Info chromeprofile","raw_syntax":"gam info chromeprofile ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2357","category":"Chrome Profile Management","subcategory":"","name":"Show chromeprofiles","raw_syntax":"gam show chromeprofiles","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2362","category":"Chrome Profile Management","subcategory":"","name":"Print chromeprofiles","raw_syntax":"gam print chromeprofiles [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2368","category":"Chrome Profile Management","subcategory":"","name":"Create chromeprofilecommand","raw_syntax":"gam create chromeprofilecommand ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.2372","category":"Chrome Profile Management","subcategory":"","name":"Info chromeprofilecommand","raw_syntax":"gam info chromeprofilecommand ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2375","category":"Chrome Profile Management","subcategory":"","name":"Show chromeprofilecommands","raw_syntax":"gam show chromeprofilecommands ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2377","category":"Chrome Profile Management","subcategory":"","name":"Print chromeprofilecommands","raw_syntax":"gam print chromeprofilecommands [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2382","category":"Chrome Device Counts","subcategory":"","name":"Show chromedevicecounts","raw_syntax":"gam show chromedevicecounts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2385","category":"Chrome Device Counts","subcategory":"","name":"Print chromedevicecounts","raw_syntax":"gam print chromedevicecounts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2391","category":"Chrome Versions Counts","subcategory":"","name":"Show chromeversions","raw_syntax":"gam show chromeversions","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2396","category":"Chrome Versions Counts","subcategory":"","name":"Print chromeversions","raw_syntax":"gam print chromeversions [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2436","category":"Chrome Version History","subcategory":"","name":"Show chromehistory","raw_syntax":"gam show chromehistory platforms","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2438","category":"Chrome Version History","subcategory":"","name":"Print chromehistory","raw_syntax":"gam print chromehistory platforms [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2441","category":"Chrome Version History","subcategory":"","name":"Show chromehistory","raw_syntax":"gam show chromehistory channels","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2444","category":"Chrome Version History","subcategory":"","name":"Print chromehistory","raw_syntax":"gam print chromehistory channels [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2448","category":"Chrome Version History","subcategory":"","name":"Show chromehistory","raw_syntax":"gam show chromehistory versions","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2453","category":"Chrome Version History","subcategory":"","name":"Print chromehistory","raw_syntax":"gam print chromehistory versions [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2458","category":"Chrome Version History","subcategory":"","name":"Show chromehistory","raw_syntax":"gam show chromehistory releases","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2463","category":"Chrome Version History","subcategory":"","name":"Print chromehistory","raw_syntax":"gam print chromehistory releases [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2483","category":"ChromeOS Devices","subcategory":"","name":"Update cros","raw_syntax":"gam update cros action [acknowledge_device_touch_requirement]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.2485","category":"ChromeOS Devices","subcategory":"","name":"Update action","raw_syntax":"gam update action [acknowledge_device_touch_requirement]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.2495","category":"ChromeOS Devices","subcategory":"","name":"Issuecommand cros","raw_syntax":"gam issuecommand cros command ","verb":"issuecommand","risk":1,"uncertain":true,"description":""},{"id":"raw.2498","category":"ChromeOS Devices","subcategory":"","name":" issuecommand","raw_syntax":"gam issuecommand command ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.2501","category":"ChromeOS Devices","subcategory":"","name":"Getcommand cros","raw_syntax":"gam getcommand cros commandid ","verb":"getcommand","risk":1,"uncertain":true,"description":""},{"id":"raw.2504","category":"ChromeOS Devices","subcategory":"","name":" getcommand","raw_syntax":"gam getcommand commandid ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.2515","category":"ChromeOS Devices","subcategory":"","name":"Update cros","raw_syntax":"gam update cros + [quickcrosmove []] [nobatchupdate]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.2516","category":"ChromeOS Devices","subcategory":"","name":"Update","raw_syntax":"gam update + [quickcrosmove []] [nobatchupdate]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.2587","category":"ChromeOS Devices","subcategory":"","name":"Info cros","raw_syntax":"gam info cros ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2596","category":"ChromeOS Devices","subcategory":"","name":"Info","raw_syntax":"gam info","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2611","category":"ChromeOS Devices","subcategory":"","name":"Print cros","raw_syntax":"gam print cros [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2628","category":"ChromeOS Devices","subcategory":"","name":"Print cros","raw_syntax":"gam print cros [todrive *] select ","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2640","category":"ChromeOS Devices","subcategory":"","name":"Print cros","raw_syntax":"gam print cros [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2666","category":"ChromeOS Devices","subcategory":"","name":"Print","raw_syntax":"gam print","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2667","category":"ChromeOS Devices","subcategory":"","name":"Print cros","raw_syntax":"gam print cros","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2671","category":"ChromeOS Devices","subcategory":"","name":"Show count","raw_syntax":"gam show count","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2679","category":"ChromeOS Devices","subcategory":"","name":"Print crosactivity","raw_syntax":"gam print crosactivity [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2698","category":"ChromeOS Devices","subcategory":"","name":"Print crosactivity","raw_syntax":"gam print crosactivity [todrive *] select ","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2707","category":"ChromeOS Devices","subcategory":"","name":"Print crosactivity","raw_syntax":"gam print crosactivity [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2736","category":"ChromeOS Devices","subcategory":"","name":"Get devicefile","raw_syntax":"gam get devicefile [select ] [targetfolder ]","verb":"get","risk":0,"uncertain":false,"description":""},{"id":"raw.2737","category":"ChromeOS Devices","subcategory":"","name":"Get devicefile","raw_syntax":"gam get devicefile [select ] [targetfolder ]","verb":"get","risk":0,"uncertain":false,"description":""},{"id":"raw.2791","category":"ChromeOS Devices","subcategory":"","name":"Info crostelemetry","raw_syntax":"gam info crostelemetry ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2796","category":"ChromeOS Devices","subcategory":"","name":"Show crostelemetry","raw_syntax":"gam show crostelemetry","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2802","category":"ChromeOS Devices","subcategory":"","name":"Print crostelemetry","raw_syntax":"gam print crostelemetry [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2818","category":"Chrome Browser Policies","subcategory":"","name":"Create chromepolicyimage","raw_syntax":"gam create chromepolicyimage ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.2820","category":"Chrome Browser Policies","subcategory":"","name":"Update chromepolicy","raw_syntax":"gam update chromepolicy [convertcrnl]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.2824","category":"Chrome Browser Policies","subcategory":"","name":"Delete chromepolicy","raw_syntax":"gam delete chromepolicy","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.2828","category":"Chrome Browser Policies","subcategory":"","name":"Show chromepolicies","raw_syntax":"gam show chromepolicies","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2834","category":"Chrome Browser Policies","subcategory":"","name":"Print chromepolicies","raw_syntax":"gam print chromepolicies [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2856","category":"Chrome Browser Policies","subcategory":"","name":"Info chromeschema","raw_syntax":"gam info chromeschema ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2859","category":"Chrome Browser Policies","subcategory":"","name":"Show chromeschemas","raw_syntax":"gam show chromeschemas","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2863","category":"Chrome Browser Policies","subcategory":"","name":"Print chromschemas","raw_syntax":"gam print chromschemas [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2868","category":"Chrome Browser Policies","subcategory":"","name":"Info chromeschema","raw_syntax":"gam info chromeschema std ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2869","category":"Chrome Browser Policies","subcategory":"","name":"Show chromeschemas","raw_syntax":"gam show chromeschemas std","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2872","category":"Chrome Browser Policies","subcategory":"","name":"Create chromenetwork","raw_syntax":"gam create chromenetwork","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.2874","category":"Chrome Browser Policies","subcategory":"","name":"Delete chromenetwork","raw_syntax":"gam delete chromenetwork","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.2879","category":"Chrome Apps/Devices/Versions","subcategory":"","name":"Info chromeapp","raw_syntax":"gam info chromeapp android|chrome|web ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2882","category":"Chrome Apps/Devices/Versions","subcategory":"","name":"Show chromeapps","raw_syntax":"gam show chromeapps","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2888","category":"Chrome Apps/Devices/Versions","subcategory":"","name":"Print chromeapps","raw_syntax":"gam print chromeapps [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2895","category":"Chrome Apps/Devices/Versions","subcategory":"","name":"Show chromeappdevices","raw_syntax":"gam show chromeappdevices","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2902","category":"Chrome Apps/Devices/Versions","subcategory":"","name":"Print chromeappdevices","raw_syntax":"gam print chromeappdevices [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2910","category":"Chrome Apps/Devices/Versions","subcategory":"","name":"Show chromeversions","raw_syntax":"gam show chromeversions","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2915","category":"Chrome Apps/Devices/Versions","subcategory":"","name":"Print chromeversions","raw_syntax":"gam print chromeversions [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2921","category":"Chrome Apps/Devices/Versions","subcategory":"","name":"Print chromesnvalidity","raw_syntax":"gam print chromesnvalidity [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2927","category":"Classification Labels","subcategory":"","name":"Info classificationlabels","raw_syntax":"gam [] info classificationlabels ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.2930","category":"Classification Labels","subcategory":"","name":"Print classificationlabels","raw_syntax":"gam [] print classificationlabels [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2934","category":"Classification Labels","subcategory":"","name":"Show classificationlabels","raw_syntax":"gam [] show classificationlabels","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.2939","category":"Classification Labels","subcategory":"","name":"Create classificationlabelpermission","raw_syntax":"gam [] create classificationlabelpermission ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.2943","category":"Classification Labels","subcategory":"","name":"Delete classificationlabelpermission","raw_syntax":"gam [] delete classificationlabelpermission ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.2946","category":"Classification Labels","subcategory":"","name":"Remove classificationlabelpermission","raw_syntax":"gam [] remove classificationlabelpermission ","verb":"remove","risk":2,"uncertain":false,"description":""},{"id":"raw.2949","category":"Classification Labels","subcategory":"","name":"Print classificationlabelpermissions","raw_syntax":"gam [] print classificationlabelpermissions [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.2951","category":"Classification Labels","subcategory":"","name":"Show classificationlabelpermissions","raw_syntax":"gam [] show classificationlabelpermissions ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3023","category":"Context Aware Access","subcategory":"","name":"Info gcporgid","raw_syntax":"gam info gcporgid","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3025","category":"Context Aware Access","subcategory":"","name":"Create caalevel","raw_syntax":"gam create caalevel [description ] (basic +)|(custom )|","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3026","category":"Context Aware Access","subcategory":"","name":"Update caalevel","raw_syntax":"gam update caalevel [description ] (basic +)|(custom )|","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3027","category":"Context Aware Access","subcategory":"","name":"Delete caalevel","raw_syntax":"gam delete caalevel ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3028","category":"Context Aware Access","subcategory":"","name":"Show caalevels","raw_syntax":"gam show caalevels","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3030","category":"Context Aware Access","subcategory":"","name":"Print caalevels","raw_syntax":"gam print caalevels [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3050","category":"Cloud Channel","subcategory":"","name":"Print channelcustomers","raw_syntax":"gam print channelcustomers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3055","category":"Cloud Channel","subcategory":"","name":"Show channelcustomers","raw_syntax":"gam show channelcustomers","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3076","category":"Cloud Channel","subcategory":"","name":"Print channelcustomercentitlements","raw_syntax":"gam print channelcustomercentitlements [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3082","category":"Cloud Channel","subcategory":"","name":"Show channelcustomerentitlements","raw_syntax":"gam show channelcustomerentitlements","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3101","category":"Cloud Channel","subcategory":"","name":"Print channeloffers","raw_syntax":"gam print channeloffers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3106","category":"Cloud Channel","subcategory":"","name":"Show channeloffers","raw_syntax":"gam show channeloffers","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3117","category":"Cloud Channel","subcategory":"","name":"Print channelproducts","raw_syntax":"gam print channelproducts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3122","category":"Cloud Channel","subcategory":"","name":"Show channelproducts","raw_syntax":"gam show channelproducts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3134","category":"Cloud Channel","subcategory":"","name":"Print channelskus","raw_syntax":"gam print channelskus [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3139","category":"Cloud Channel","subcategory":"","name":"Show channelskus","raw_syntax":"gam show channelskus","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3147","category":"Contacts","subcategory":"Delegation","name":"Create contactdelegate","raw_syntax":"gam create contactdelegate ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3148","category":"Contacts","subcategory":"Delegation","name":"Delete contactdelegate","raw_syntax":"gam delete contactdelegate ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3149","category":"Contacts","subcategory":"Delegation","name":"Print contactdelegates","raw_syntax":"gam print contactdelegates [todrive *] [shownames]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3150","category":"Contacts","subcategory":"Delegation","name":"Show contactdelegates","raw_syntax":"gam show contactdelegates [shownames] [csv]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3206","category":"Classroom","subcategory":"Courses","name":"Create course","raw_syntax":"gam create|add course [id|alias ] *","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3224","category":"Classroom","subcategory":"Courses","name":"Update course","raw_syntax":"gam update course +","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3242","category":"Classroom","subcategory":"Courses","name":"Update courses","raw_syntax":"gam update courses +","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3260","category":"Classroom","subcategory":"Courses","name":"Delete course","raw_syntax":"gam delete course [archive|archived]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3261","category":"Classroom","subcategory":"Courses","name":"Delete courses","raw_syntax":"gam delete courses [archive|archived]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3263","category":"Classroom","subcategory":"Courses","name":"Create alias","raw_syntax":"gam course create|add alias ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3264","category":"Classroom","subcategory":"Courses","name":"Delete alias","raw_syntax":"gam course delete alias ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3272","category":"Classroom","subcategory":"Courses","name":"Create announcement","raw_syntax":"gam course create announcement","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3274","category":"Classroom","subcategory":"Courses","name":"Remove announcement","raw_syntax":"gam course remove announcement ","verb":"remove","risk":2,"uncertain":false,"description":""},{"id":"raw.3275","category":"Classroom","subcategory":"Courses","name":"Update announcement","raw_syntax":"gam course update announcement ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3278","category":"Classroom","subcategory":"Courses","name":"Create topic","raw_syntax":"gam course create|add topic ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3279","category":"Classroom","subcategory":"Courses","name":"Delete topic","raw_syntax":"gam course delete topic ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3280","category":"Classroom","subcategory":"Courses","name":"Update topic","raw_syntax":"gam course update topic ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3282","category":"Classroom","subcategory":"Courses","name":"Create teachers","raw_syntax":"gam course create|add teachers [makefirstteacherowner] ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3283","category":"Classroom","subcategory":"Courses","name":"Create students","raw_syntax":"gam course create|add students ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3284","category":"Classroom","subcategory":"Courses","name":"Delete","raw_syntax":"gam course delete|remove teachers|students [owneraccess] ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3285","category":"Classroom","subcategory":"Courses","name":"Clear","raw_syntax":"gam course clear teachers|students","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.3286","category":"Classroom","subcategory":"Courses","name":"Sync teachers","raw_syntax":"gam course sync teachers [addonly|removeonly] [makefirstteacherowner] ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.3287","category":"Classroom","subcategory":"Courses","name":"Sync students","raw_syntax":"gam course sync students [addonly|removeonly] ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.3289","category":"Classroom","subcategory":"Courses","name":"Create alias","raw_syntax":"gam courses create|add alias ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3290","category":"Classroom","subcategory":"Courses","name":"Delete alias","raw_syntax":"gam courses delete alias ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3292","category":"Classroom","subcategory":"Courses","name":"Create announcement","raw_syntax":"gam courses create announcement","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3294","category":"Classroom","subcategory":"Courses","name":"Remove announcement","raw_syntax":"gam courses remove announcement ","verb":"remove","risk":2,"uncertain":false,"description":""},{"id":"raw.3295","category":"Classroom","subcategory":"Courses","name":"Update announcement","raw_syntax":"gam courses update announcement ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3298","category":"Classroom","subcategory":"Courses","name":"Create topic","raw_syntax":"gam courses create|add topic ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3299","category":"Classroom","subcategory":"Courses","name":"Delete topic","raw_syntax":"gam courses delete topic ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3300","category":"Classroom","subcategory":"Courses","name":"Update topic","raw_syntax":"gam courses update topic ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3302","category":"Classroom","subcategory":"Courses","name":"Create teachers","raw_syntax":"gam courses create|add teachers [makefirstteacherowner] ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3303","category":"Classroom","subcategory":"Courses","name":"Create students","raw_syntax":"gam courses create|add students ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3304","category":"Classroom","subcategory":"Courses","name":"Delete","raw_syntax":"gam courses delete|remove teachers|students [owneraccess] ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3305","category":"Classroom","subcategory":"Courses","name":"Clear","raw_syntax":"gam courses clear teachers|students","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.3306","category":"Classroom","subcategory":"Courses","name":"Sync teachers","raw_syntax":"gam courses sync teachers [addonly|removeonly] [makefirstteacherowner] ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.3307","category":"Classroom","subcategory":"Courses","name":"Sync students","raw_syntax":"gam courses sync students [addonly|removeonly] ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.3309","category":"Classroom","subcategory":"Courses","name":"Info course","raw_syntax":"gam info course [owneraccess]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3313","category":"Classroom","subcategory":"Courses","name":"Info courses","raw_syntax":"gam info courses [owneraccess]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3317","category":"Classroom","subcategory":"Courses","name":"Print courses","raw_syntax":"gam print courses [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3328","category":"Classroom","subcategory":"Courses","name":"Print","raw_syntax":"gam print course-participants [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3334","category":"Classroom","subcategory":"Courses","name":"Print","raw_syntax":"gam print course-counts students|teachers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3429","category":"Classroom","subcategory":"Courses","name":"Print","raw_syntax":"gam print course-announcements [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3437","category":"Classroom","subcategory":"Courses","name":"Print","raw_syntax":"gam print course-materials [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3446","category":"Classroom","subcategory":"Courses","name":"Print","raw_syntax":"gam print course-submissions [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3454","category":"Classroom","subcategory":"Courses","name":"Print","raw_syntax":"gam print course-topics [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3459","category":"Classroom","subcategory":"Courses","name":"Print","raw_syntax":"gam print course-works [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3472","category":"Classroom","subcategory":"Student Groups","name":"Create","raw_syntax":"gam create course-studentgroups","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3476","category":"Classroom","subcategory":"Student Groups","name":"Update","raw_syntax":"gam update course-studentgroups title ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3477","category":"Classroom","subcategory":"Student Groups","name":"Delete","raw_syntax":"gam delete course-studentgroups ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3478","category":"Classroom","subcategory":"Student Groups","name":"Clear","raw_syntax":"gam clear course-studentgroups","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.3480","category":"Classroom","subcategory":"Student Groups","name":"Print","raw_syntax":"gam print course-studentgroups [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3484","category":"Classroom","subcategory":"Student Groups","name":"Create","raw_syntax":"gam create course-studentgroup-members ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3485","category":"Classroom","subcategory":"Student Groups","name":"Delete","raw_syntax":"gam delete course-studentgroup-members ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3486","category":"Classroom","subcategory":"Student Groups","name":"Sync","raw_syntax":"gam sync course-studentgroup-members ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.3487","category":"Classroom","subcategory":"Student Groups","name":"Clear","raw_syntax":"gam clear course-studentgroupmembers ","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.3488","category":"Classroom","subcategory":"Student Groups","name":"Print","raw_syntax":"gam print course-studentgroup-members [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3494","category":"Classroom","subcategory":"Invitations","name":"Create classroominvitation","raw_syntax":"gam create classroominvitation courses [role owner|student|teacher]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3497","category":"Classroom","subcategory":"Invitations","name":"Accept classroominvitation","raw_syntax":"gam accept classroominvitation (ids )|([courses ] [role all|owner|student|teacher])","verb":"accept","risk":1,"uncertain":false,"description":""},{"id":"raw.3498","category":"Classroom","subcategory":"Invitations","name":"Delete classroominvitation","raw_syntax":"gam delete classroominvitation (ids )|([courses ] [role all|owner|student|teacher])","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3499","category":"Classroom","subcategory":"Invitations","name":"Show classroominvitations","raw_syntax":"gam show classroominvitations [role all|owner|student|teacher]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3501","category":"Classroom","subcategory":"Invitations","name":"Print classroominvitations","raw_syntax":"gam print classroominvitations [todrive *] [role all|owner|student|teacher]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3504","category":"Classroom","subcategory":"Invitations","name":"Delete classroominvitation","raw_syntax":"gam delete classroominvitation courses (ids )|(role all|owner|student|teacher)","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3505","category":"Classroom","subcategory":"Invitations","name":"Show classroominvitations","raw_syntax":"gam show classroominvitations (course|class )*|([teacher ] [student ] [states ])","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3508","category":"Classroom","subcategory":"Invitations","name":"Print classroominvitations","raw_syntax":"gam print classroominvitations [todrive *] (course|class )*|([teacher ] [student ] [states ])","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3521","category":"Classroom","subcategory":"Guardians","name":"Create","raw_syntax":"gam create|add guardian|guardianinvitation ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3522","category":"Classroom","subcategory":"Guardians","name":"Cancel","raw_syntax":"gam cancel guardianinvitation|guardianinvitations ","verb":"cancel","risk":1,"uncertain":false,"description":""},{"id":"raw.3523","category":"Classroom","subcategory":"Guardians","name":"Delete","raw_syntax":"gam delete guardian|guardians [accepted|invitations|all]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3524","category":"Classroom","subcategory":"Guardians","name":"Clear","raw_syntax":"gam clear guardian|guardians [accepted|invitations|all]","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.3525","category":"Classroom","subcategory":"Guardians","name":"Sync","raw_syntax":"gam sync guardian|guardians ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.3526","category":"Classroom","subcategory":"Guardians","name":"Show","raw_syntax":"gam show guardian|guardians [accepted|invitations|all] [states ] [invitedguardian ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3529","category":"Classroom","subcategory":"Guardians","name":"Print","raw_syntax":"gam print guardian|guardians [todrive *] [accepted|invitations|all] [states ] [invitedguardian ]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3535","category":"Classroom","subcategory":"Guardians","name":"Create","raw_syntax":"gam create|add guardian|guardianinvitation ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3536","category":"Classroom","subcategory":"Guardians","name":"Cancel","raw_syntax":"gam cancel guardianinvitation|guardianinvitations ","verb":"cancel","risk":1,"uncertain":false,"description":""},{"id":"raw.3537","category":"Classroom","subcategory":"Guardians","name":"Delete","raw_syntax":"gam delete guardian|guardians [accepted|invitations|all]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3538","category":"Classroom","subcategory":"Guardians","name":"Show","raw_syntax":"gam show guardian|guardians [accepted|invitations|all] [states ] [invitedguardian ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3542","category":"Classroom","subcategory":"Guardians","name":"Print","raw_syntax":"gam print guardian|guardians [todrive *] [accepted|invitations|all] [states ] [invitedguardian ]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3548","category":"Classroom","subcategory":"Guardians","name":"Print","raw_syntax":"gam print guardian|guardians [todrive *] [accepted|invitations|all] [states ] [invitedguardian ]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3554","category":"Classroom User Profiles","subcategory":"","name":"Print classroomprofile","raw_syntax":"gam print classroomprofile [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3555","category":"Classroom User Profiles","subcategory":"","name":"Show classroomprofile","raw_syntax":"gam show classroomprofile","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3574","category":"Customer","subcategory":"","name":"Update customer","raw_syntax":"gam update customer *","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3576","category":"Customer","subcategory":"","name":"Info customer","raw_syntax":"gam info customer [formatjson]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3578","category":"Customer","subcategory":"","name":"Info instance","raw_syntax":"gam info instance [formatjson]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3580","category":"Customer","subcategory":"","name":"Info customerid","raw_syntax":"gam info customerid","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3582","category":"Customer","subcategory":"","name":"Info gcporgid","raw_syntax":"gam info gcporgid","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3586","category":"Data Transfers","subcategory":"","name":"Print transferapps","raw_syntax":"gam print|show transferapps","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3597","category":"Data Transfers","subcategory":"","name":"Create","raw_syntax":"gam create|add datatransfer|transfer ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3601","category":"Data Transfers","subcategory":"","name":"Info","raw_syntax":"gam info datatransfer|transfer ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3602","category":"Data Transfers","subcategory":"","name":"Print","raw_syntax":"gam print datatransfers|transfers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3606","category":"Data Transfers","subcategory":"","name":"Show","raw_syntax":"gam show datatransfers|transfers","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3614","category":"Domains","subcategory":"","name":"Create domain","raw_syntax":"gam create|add domain ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3615","category":"Domains","subcategory":"","name":"Update domain","raw_syntax":"gam update domain primary","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3616","category":"Domains","subcategory":"","name":"Delete domain","raw_syntax":"gam delete domain ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3618","category":"Domains","subcategory":"","name":"Info domain","raw_syntax":"gam info domain []","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3620","category":"Domains","subcategory":"","name":"Print domains","raw_syntax":"gam print domains [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3623","category":"Domains","subcategory":"","name":"Show domains","raw_syntax":"gam show domains","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3627","category":"Domains","subcategory":"","name":"Create","raw_syntax":"gam create|add domainalias|aliasdomain ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3628","category":"Domains","subcategory":"","name":"Delete","raw_syntax":"gam delete domainalias|aliasdomain ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3630","category":"Domains","subcategory":"","name":"Info","raw_syntax":"gam info domainalias|aliasdomain ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3632","category":"Domains","subcategory":"","name":"Print","raw_syntax":"gam print domainaliases|aliasdomains [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3635","category":"Domains","subcategory":"","name":"Show","raw_syntax":"gam show domainaliases|aliasdomains","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3691","category":"Domain","subcategory":"Contacts and Global Address List","name":"Create contact","raw_syntax":"gam create contact +","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3693","category":"Domain","subcategory":"Contacts and Global Address List","name":"Update contacts","raw_syntax":"gam update contacts | +","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3694","category":"Domain","subcategory":"Contacts and Global Address List","name":"Clear contacts","raw_syntax":"gam clear contacts |","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.3697","category":"Domain","subcategory":"Contacts and Global Address List","name":"Dedup contacts","raw_syntax":"gam dedup contacts | [matchType []]","verb":"dedup","risk":1,"uncertain":true,"description":""},{"id":"raw.3698","category":"Domain","subcategory":"Contacts and Global Address List","name":"Delete contacts","raw_syntax":"gam delete contacts |","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3700","category":"Domain","subcategory":"Contacts and Global Address List","name":"Update contactphotos","raw_syntax":"gam update contactphotos |","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3702","category":"Domain","subcategory":"Contacts and Global Address List","name":"Get contactphotos","raw_syntax":"gam get contactphotos |","verb":"get","risk":0,"uncertain":false,"description":""},{"id":"raw.3704","category":"Domain","subcategory":"Contacts and Global Address List","name":"Delete contactphotos","raw_syntax":"gam delete contactphotos |","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3748","category":"Domain","subcategory":"Contacts and Global Address List","name":"Info contacts","raw_syntax":"gam info contacts ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3752","category":"Domain","subcategory":"Contacts and Global Address List","name":"Show contacts","raw_syntax":"gam show contacts ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3756","category":"Domain","subcategory":"Contacts and Global Address List","name":"Print contacts","raw_syntax":"gam print contacts [todrive *] ","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3803","category":"Domain","subcategory":"People Contacts and Profiles","name":"Info","raw_syntax":"gam info domaincontacts|peoplecontacts ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3806","category":"Domain","subcategory":"People Contacts and Profiles","name":"Print","raw_syntax":"gam print domaincontacts|peoplecontacts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3812","category":"Domain","subcategory":"People Contacts and Profiles","name":"Show","raw_syntax":"gam show domaincontacts|peoplecontacts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3819","category":"Domain","subcategory":"People Contacts and Profiles","name":"Info","raw_syntax":"gam info people|peopleprofile ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.3822","category":"Domain","subcategory":"People Contacts and Profiles","name":"Print","raw_syntax":"gam print people|peopleprofile [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.3827","category":"Domain","subcategory":"People Contacts and Profiles","name":"Show","raw_syntax":"gam show people|peopleprofile","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.3835","category":"Email Audit Monitor","subcategory":"","name":"Create","raw_syntax":"gam audit monitor create [begin ] [end ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3837","category":"Email Audit Monitor","subcategory":"","name":"Delete","raw_syntax":"gam audit monitor delete ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.3838","category":"Email Audit Monitor","subcategory":"","name":"List","raw_syntax":"gam audit monitor list ","verb":"list","risk":0,"uncertain":false,"description":""},{"id":"raw.3919","category":"Groups","subcategory":"","name":"Create group","raw_syntax":"gam create|add group ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.3924","category":"Groups","subcategory":"","name":"Update","raw_syntax":"gam update group|groups [email ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3930","category":"Groups","subcategory":"","name":"Update","raw_syntax":"gam update group|groups create|add []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3936","category":"Groups","subcategory":"","name":"Update","raw_syntax":"gam update group|groups delete|remove []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3941","category":"Groups","subcategory":"","name":"Update","raw_syntax":"gam update group|groups sync [|ignorerole]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3949","category":"Groups","subcategory":"","name":"Update","raw_syntax":"gam update group|groups update []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3956","category":"Groups","subcategory":"","name":"Update","raw_syntax":"gam update group|groups clear [member] [manager] [owner]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.3962","category":"Groups","subcategory":"","name":"Delete","raw_syntax":"gam delete group|groups [noactionifalias]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4042","category":"Groups","subcategory":"","name":"Info","raw_syntax":"gam info group|groups ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4052","category":"Groups","subcategory":"","name":"Print groups","raw_syntax":"gam print groups [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4075","category":"Groups","subcategory":"","name":"Print grouptree","raw_syntax":"gam print grouptree [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4078","category":"Groups","subcategory":"","name":"Show grouptree","raw_syntax":"gam show grouptree ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4092","category":"Groups","subcategory":"","name":"Info","raw_syntax":"gam info member|group-members ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4093","category":"Groups","subcategory":"","name":"Info","raw_syntax":"gam info member|group-members | ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4094","category":"Groups","subcategory":"","name":"Print","raw_syntax":"gam print group-members [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4116","category":"Groups","subcategory":"","name":"Show","raw_syntax":"gam show group-members","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4149","category":"Cloud Identity Groups","subcategory":"","name":"Create cigroup","raw_syntax":"gam create cigroup ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4155","category":"Cloud Identity Groups","subcategory":"","name":"Update cigroup","raw_syntax":"gam update cigroup [copyfrom ] ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4164","category":"Cloud Identity Groups","subcategory":"","name":"Update cigroups","raw_syntax":"gam update cigroups create|add []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4169","category":"Cloud Identity Groups","subcategory":"","name":"Update cigroups","raw_syntax":"gam update cigroups delete|remove []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4174","category":"Cloud Identity Groups","subcategory":"","name":"Update cigroups","raw_syntax":"gam update cigroups sync [|ignorerole]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4179","category":"Cloud Identity Groups","subcategory":"","name":"Update cigroups","raw_syntax":"gam update cigroups update []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4184","category":"Cloud Identity Groups","subcategory":"","name":"Update cigroups","raw_syntax":"gam update cigroups clear [member] [manager] [owner]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4188","category":"Cloud Identity Groups","subcategory":"","name":"Delete cigroups","raw_syntax":"gam delete cigroups ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4190","category":"Cloud Identity Groups","subcategory":"","name":"Info cigroups","raw_syntax":"gam info cigroups ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4199","category":"Cloud Identity Groups","subcategory":"","name":"Print cigroups","raw_syntax":"gam print cigroups [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4227","category":"Cloud Identity Groups","subcategory":"","name":"Info cimember","raw_syntax":"gam info cimember ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4228","category":"Cloud Identity Groups","subcategory":"","name":"Info cimember","raw_syntax":"gam info cimember ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4229","category":"Cloud Identity Groups","subcategory":"","name":"Print","raw_syntax":"gam print cigroup-members [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4244","category":"Cloud Identity Groups","subcategory":"","name":"Show","raw_syntax":"gam show cigroup-members","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4263","category":"Cloud Identity Allowlisted Domains","subcategory":"","name":"Create allowlisteddomains","raw_syntax":"gam create allowlisteddomains ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4264","category":"Cloud Identity Allowlisted Domains","subcategory":"","name":"Delete allowlisteddomains","raw_syntax":"gam delete allowlisteddomains ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4265","category":"Cloud Identity Allowlisted Domains","subcategory":"","name":"Info allowlisteddomain","raw_syntax":"gam info allowlisteddomain ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4267","category":"Cloud Identity Allowlisted Domains","subcategory":"","name":"Print allowlisteddomains","raw_syntax":"gam print allowlisteddomains [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4270","category":"Cloud Identity Allowlisted Domains","subcategory":"","name":"Show allowlisteddomains","raw_syntax":"gam show allowlisteddomains","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4338","category":"Cloud Identity Devices","subcategory":"","name":"Create device","raw_syntax":"gam create device serialnumber devicetype [assettag ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4339","category":"Cloud Identity Devices","subcategory":"","name":"Delete device","raw_syntax":"gam delete device [doit]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4340","category":"Cloud Identity Devices","subcategory":"","name":"Update device","raw_syntax":"gam update device action [removeresetlock] [doit]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4341","category":"Cloud Identity Devices","subcategory":"","name":"Cancelwipe device","raw_syntax":"gam cancelwipe device [doit]","verb":"cancelwipe","risk":1,"uncertain":true,"description":""},{"id":"raw.4342","category":"Cloud Identity Devices","subcategory":"","name":"Wipe device","raw_syntax":"gam wipe device [removeresetlock] [doit]","verb":"wipe","risk":2,"uncertain":false,"description":""},{"id":"raw.4344","category":"Cloud Identity Devices","subcategory":"","name":"Sync devices","raw_syntax":"gam sync devices","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.4354","category":"Cloud Identity Devices","subcategory":"","name":"Info device","raw_syntax":"gam info device ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4358","category":"Cloud Identity Devices","subcategory":"","name":"Print devices","raw_syntax":"gam print devices [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4374","category":"Cloud Identity Devices","subcategory":"","name":"Delete deviceuser","raw_syntax":"gam delete deviceuser [doit]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4375","category":"Cloud Identity Devices","subcategory":"","name":"Update deviceuser","raw_syntax":"gam update deviceuser action [doit]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4376","category":"Cloud Identity Devices","subcategory":"","name":"Approve deviceuser","raw_syntax":"gam approve deviceuser [doit]","verb":"approve","risk":1,"uncertain":false,"description":""},{"id":"raw.4377","category":"Cloud Identity Devices","subcategory":"","name":"Block deviceuser","raw_syntax":"gam block deviceuser [doit]","verb":"block","risk":1,"uncertain":true,"description":""},{"id":"raw.4378","category":"Cloud Identity Devices","subcategory":"","name":"Cancelwipe deviceuser","raw_syntax":"gam cancelwipe deviceuser [doit]","verb":"cancelwipe","risk":1,"uncertain":true,"description":""},{"id":"raw.4379","category":"Cloud Identity Devices","subcategory":"","name":"Wipe deviceuser","raw_syntax":"gam wipe deviceuser [doit]","verb":"wipe","risk":2,"uncertain":false,"description":""},{"id":"raw.4381","category":"Cloud Identity Devices","subcategory":"","name":"Info deviceuser","raw_syntax":"gam info deviceuser ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4384","category":"Cloud Identity Devices","subcategory":"","name":"Print deviceusers","raw_syntax":"gam print deviceusers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4392","category":"Cloud Identity Devices","subcategory":"","name":"Info deviceuserstate","raw_syntax":"gam info deviceuserstate [clientid ]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4393","category":"Cloud Identity Devices","subcategory":"","name":"Update deviceuserstate","raw_syntax":"gam update deviceuserstate [clientid ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4401","category":"Cloud Identity Policies","subcategory":"","name":"Info policies","raw_syntax":"gam info policies ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4404","category":"Cloud Identity Policies","subcategory":"","name":"Print policies","raw_syntax":"gam print policies [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4408","category":"Cloud Identity Policies","subcategory":"","name":"Show policies","raw_syntax":"gam show policies","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4413","category":"Cloud Identity Policies","subcategory":"","name":"Create policy","raw_syntax":"gam create policy","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4416","category":"Cloud Identity Policies","subcategory":"","name":"Update policy","raw_syntax":"gam update policy","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4419","category":"Cloud Identity Policies","subcategory":"","name":"Delete policies","raw_syntax":"gam delete policies ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4428","category":"Inbound SSO","subcategory":"","name":"Create inboundssoprofile","raw_syntax":"gam create inboundssoprofile [saml|oidc] [name ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4431","category":"Inbound SSO","subcategory":"","name":"Update inboundssoprofile","raw_syntax":"gam update inboundssoprofile [saml|oidc] ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4434","category":"Inbound SSO","subcategory":"","name":"Delete inboundssoprofile","raw_syntax":"gam delete inboundssoprofile [saml|oidc] ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4436","category":"Inbound SSO","subcategory":"","name":"Info inboundssoprofile","raw_syntax":"gam info inboundssoprofile [all|saml|oidc] ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4438","category":"Inbound SSO","subcategory":"","name":"Show inboundssoprofiles","raw_syntax":"gam show inboundssoprofiles [all|saml|oidc]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4440","category":"Inbound SSO","subcategory":"","name":"Print inboundssoprofiles","raw_syntax":"gam print inboundssoprofiles [all|saml|oidc] [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4445","category":"Inbound SSO","subcategory":"","name":"Create inboundssocredential","raw_syntax":"gam create inboundssocredential profile ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4447","category":"Inbound SSO","subcategory":"","name":"Delete inboundssocredential","raw_syntax":"gam delete inboundssocredential ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4449","category":"Inbound SSO","subcategory":"","name":"Info inboundssocredential","raw_syntax":"gam info inboundssocredential ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4451","category":"Inbound SSO","subcategory":"","name":"Show inboundssocredentials","raw_syntax":"gam show inboundssocredentials [profile|profiles ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4453","category":"Inbound SSO","subcategory":"","name":"Print inboundssocredentials","raw_syntax":"gam print inboundssocredentials [profile|profiles ]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4464","category":"Inbound SSO","subcategory":"","name":"Create inboundssoassignment","raw_syntax":"gam create inboundssoassignment","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4468","category":"Inbound SSO","subcategory":"","name":"Update inboundssoassignment","raw_syntax":"gam update inboundssoassignment ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4472","category":"Inbound SSO","subcategory":"","name":"Delete inboundssoassignment","raw_syntax":"gam delete inboundssoassignment ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4474","category":"Inbound SSO","subcategory":"","name":"Info inboundssoassignment","raw_syntax":"gam info inboundssoassignment ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4476","category":"Inbound SSO","subcategory":"","name":"Show inboundssoassignments","raw_syntax":"gam show inboundssoassignments","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4478","category":"Inbound SSO","subcategory":"","name":"Print inboundssoassignments","raw_syntax":"gam print inboundssoassignments [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4483","category":"Licenses","subcategory":"","name":"Print licenses","raw_syntax":"gam print licenses [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4486","category":"Licenses","subcategory":"","name":"Show licenses","raw_syntax":"gam show licenses","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4489","category":"Licenses","subcategory":"","name":"Show configlicenseskus","raw_syntax":"gam show configlicenseskus [quiet]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4501","category":"Mobile Devices","subcategory":"","name":"Update mobile","raw_syntax":"gam update mobile action ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4503","category":"Mobile Devices","subcategory":"","name":"Delete mobile","raw_syntax":"gam delete mobile ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4551","category":"Mobile Devices","subcategory":"","name":"Info mobile","raw_syntax":"gam info mobile ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4554","category":"Mobile Devices","subcategory":"","name":"Print mobile","raw_syntax":"gam print mobile [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4573","category":"Organizational Units","subcategory":"","name":"Create","raw_syntax":"gam create|add org|ou [description ] [parent ] [buildpath]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4574","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update org|ou [name ] [description ] [parent ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4575","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update org|ou add|move [quickcrosmove []]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4576","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update org|ou add|move ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4577","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update org|ou sync [removetoou ] [quickcrosmove []]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4578","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update org|ou sync [removetoou ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4579","category":"Organizational Units","subcategory":"","name":"Delete","raw_syntax":"gam delete org|ou ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4581","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update orgs|ous [name ] [description ] [parent ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4582","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update orgs|ous add|move [quickcrosmove []]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4583","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update orgs|ous add|move ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4584","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update orgs|ous sync [removetoou ] [quickcrosmove []]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4585","category":"Organizational Units","subcategory":"","name":"Update","raw_syntax":"gam update orgs|ous sync [removetoou ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4586","category":"Organizational Units","subcategory":"","name":"Delete","raw_syntax":"gam delete orgs|ous ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4588","category":"Organizational Units","subcategory":"","name":"Info","raw_syntax":"gam info org|ou ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4590","category":"Organizational Units","subcategory":"","name":"Info","raw_syntax":"gam info orgs|ous ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4598","category":"Organizational Units","subcategory":"","name":"Print","raw_syntax":"gam print orgs|ous [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4605","category":"Organizational Units","subcategory":"","name":"Show orgtree","raw_syntax":"gam show orgtree [fromparent ] [batchsuborgs []]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4615","category":"Organizational Units","subcategory":"","name":"Check","raw_syntax":"gam check ou|org [todrive *]","verb":"check","risk":1,"uncertain":true,"description":""},{"id":"raw.4644","category":"Printers","subcategory":"","name":"Create printer","raw_syntax":"gam create printer + [nodetails|returnidonly]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4645","category":"Printers","subcategory":"","name":"Update printer","raw_syntax":"gam update printer + [nodetails|returnidonly]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4646","category":"Printers","subcategory":"","name":"Delete printer","raw_syntax":"gam delete printer","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4650","category":"Printers","subcategory":"","name":"Info printer","raw_syntax":"gam info printer ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4653","category":"Printers","subcategory":"","name":"Show printers","raw_syntax":"gam show printers","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4659","category":"Printers","subcategory":"","name":"Print printers","raw_syntax":"gam print printers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4665","category":"Printers","subcategory":"","name":"Show printermodels","raw_syntax":"gam show printermodels","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4668","category":"Printers","subcategory":"","name":"Print printermodels","raw_syntax":"gam print printermodels [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4674","category":"Reports","subcategory":"","name":"Report usageparameters","raw_syntax":"gam report usageparameters customer|user [todrive *]","verb":"report","risk":0,"uncertain":false,"description":""},{"id":"raw.4675","category":"Reports","subcategory":"","name":"Report usage","raw_syntax":"gam report usage user [todrive *]","verb":"report","risk":0,"uncertain":false,"description":""},{"id":"raw.4682","category":"Reports","subcategory":"","name":"Report usage","raw_syntax":"gam report usage customer [todrive *]","verb":"report","risk":0,"uncertain":false,"description":""},{"id":"raw.4729","category":"Reports","subcategory":"","name":"Report","raw_syntax":"gam report [todrive *]","verb":"report","risk":0,"uncertain":false,"description":""},{"id":"raw.4762","category":"Reports","subcategory":"","name":"Report","raw_syntax":"gam report customers|customer|domain [todrive *]","verb":"report","risk":0,"uncertain":false,"description":""},{"id":"raw.4780","category":"Reports","subcategory":"","name":"Report","raw_syntax":"gam report users|user [todrive *]","verb":"report","risk":0,"uncertain":false,"description":""},{"id":"raw.4808","category":"Reseller","subcategory":"","name":"Create resoldcustomer","raw_syntax":"gam create|add resoldcustomer (customer_auth_token ) +","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4809","category":"Reseller","subcategory":"","name":"Update resoldcustomer","raw_syntax":"gam update resoldcustomer +","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4810","category":"Reseller","subcategory":"","name":"Info resoldcustomer","raw_syntax":"gam info resoldcustomer [formatjson]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4812","category":"Reseller","subcategory":"","name":"Create resoldsubscription","raw_syntax":"gam create|add resoldsubscription (sku )","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4815","category":"Reseller","subcategory":"","name":"Update resoldsubscription","raw_syntax":"gam update resoldsubscription ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4820","category":"Reseller","subcategory":"","name":"Delete resoldsubscription","raw_syntax":"gam delete resoldsubscription cancel|downgrade|transfer_to_direct","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4821","category":"Reseller","subcategory":"","name":"Info resoldsubscription","raw_syntax":"gam info resoldsubscription ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4823","category":"Reseller","subcategory":"","name":"Show resoldsubscriptions","raw_syntax":"gam show resoldsubscriptions","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4827","category":"Reseller","subcategory":"","name":"Print resoldsubscriptions","raw_syntax":"gam print resoldsubscriptions [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4902","category":"Resource Calendars","subcategory":"","name":"Create building","raw_syntax":"gam create|add building *","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4903","category":"Resource Calendars","subcategory":"","name":"Update building","raw_syntax":"gam update building *","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4904","category":"Resource Calendars","subcategory":"","name":"Delete building","raw_syntax":"gam delete building ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4905","category":"Resource Calendars","subcategory":"","name":"Info building","raw_syntax":"gam info building ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4907","category":"Resource Calendars","subcategory":"","name":"Show buildings","raw_syntax":"gam show buildings","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4910","category":"Resource Calendars","subcategory":"","name":"Print buildings","raw_syntax":"gam print buildings [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4914","category":"Resource Calendars","subcategory":"","name":"Create feature","raw_syntax":"gam create|add feature name ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4915","category":"Resource Calendars","subcategory":"","name":"Update feature","raw_syntax":"gam update feature name ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4916","category":"Resource Calendars","subcategory":"","name":"Delete feature","raw_syntax":"gam delete feature ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4917","category":"Resource Calendars","subcategory":"","name":"Show features","raw_syntax":"gam show features","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4918","category":"Resource Calendars","subcategory":"","name":"Print features","raw_syntax":"gam print features [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4920","category":"Resource Calendars","subcategory":"","name":"Create resource","raw_syntax":"gam create|add resource *","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4921","category":"Resource Calendars","subcategory":"","name":"Update resource","raw_syntax":"gam update resource *","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4922","category":"Resource Calendars","subcategory":"","name":"Delete resource","raw_syntax":"gam delete resource ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4923","category":"Resource Calendars","subcategory":"","name":"Info resource","raw_syntax":"gam info resource ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4927","category":"Resource Calendars","subcategory":"","name":"Update resources","raw_syntax":"gam update resources *","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4928","category":"Resource Calendars","subcategory":"","name":"Delete resources","raw_syntax":"gam delete resources ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4929","category":"Resource Calendars","subcategory":"","name":"Info resources","raw_syntax":"gam info resources ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4933","category":"Resource Calendars","subcategory":"","name":"Show resources","raw_syntax":"gam show resources [allfields|*|(fields )]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4937","category":"Resource Calendars","subcategory":"","name":"Print resources","raw_syntax":"gam print resources [todrive *] [allfields|*|(fields )]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4953","category":"Resource Calendars","subcategory":"","name":"Create","raw_syntax":"gam resource create|add acls|calendaracls [sendnotifications ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4954","category":"Resource Calendars","subcategory":"","name":"Update","raw_syntax":"gam resource update acls|calendaracls [sendnotifications ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4955","category":"Resource Calendars","subcategory":"","name":"Delete","raw_syntax":"gam resource delete acls|calendaracls [] ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4956","category":"Resource Calendars","subcategory":"","name":"Info","raw_syntax":"gam resource info acls|calendaracls [formatjson]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4958","category":"Resource Calendars","subcategory":"","name":"Show","raw_syntax":"gam resource show acls|calendaracls","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4961","category":"Resource Calendars","subcategory":"","name":"Print","raw_syntax":"gam resource print acls|calendaracls [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4965","category":"Resource Calendars","subcategory":"","name":"Create","raw_syntax":"gam resources create|add acls|calendaracls [sendnotifications ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4966","category":"Resource Calendars","subcategory":"","name":"Update","raw_syntax":"gam resources update acls|calendaracls [sendnotifications ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4967","category":"Resource Calendars","subcategory":"","name":"Delete","raw_syntax":"gam resources delete acls|calendaracls [] ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4968","category":"Resource Calendars","subcategory":"","name":"Info","raw_syntax":"gam resources info acls|calendaracls [formatjson]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4970","category":"Resource Calendars","subcategory":"","name":"Show","raw_syntax":"gam resources show acls|calendaracls","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4973","category":"Resource Calendars","subcategory":"","name":"Print","raw_syntax":"gam resources print acls|calendaracls [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.4986","category":"Schemas","subcategory":"","name":"Create","raw_syntax":"gam create|add schema|schemas [displayname ] +","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.4987","category":"Schemas","subcategory":"","name":"Update schema","raw_syntax":"gam update schema [displayname ] * (deletefield )*","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4988","category":"Schemas","subcategory":"","name":"Delete schema","raw_syntax":"gam delete schema ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4989","category":"Schemas","subcategory":"","name":"Info schema","raw_syntax":"gam info schema ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4991","category":"Schemas","subcategory":"","name":"Update schemas","raw_syntax":"gam update schemas [displayname ] * (deletefield )*","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.4992","category":"Schemas","subcategory":"","name":"Delete schemas","raw_syntax":"gam delete schemas ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.4994","category":"Schemas","subcategory":"","name":"Info schemas","raw_syntax":"gam info schemas ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.4995","category":"Schemas","subcategory":"","name":"Show","raw_syntax":"gam show schema|schemas","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.4996","category":"Schemas","subcategory":"","name":"Print","raw_syntax":"gam print schema|schemas [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5006","category":"Send Email","subcategory":"","name":"Sendemail","raw_syntax":"gam sendemail [recipient|to] ","verb":"sendemail","risk":1,"uncertain":true,"description":""},{"id":"raw.5017","category":"Send Email","subcategory":"","name":" sendemail","raw_syntax":"gam sendemail recipient|to ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.5028","category":"Send Email","subcategory":"","name":" sendemail","raw_syntax":"gam sendemail from ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.5039","category":"Send Email","subcategory":"","name":" sendreply","raw_syntax":"gam sendreply","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.5081","category":"Shared Drives","subcategory":"Administrator","name":"Show shareddrivethemes","raw_syntax":"gam show shareddrivethemes","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5082","category":"Shared Drives","subcategory":"Administrator","name":"Create shareddrive","raw_syntax":"gam create shareddrive ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5089","category":"Shared Drives","subcategory":"Administrator","name":"Update shareddrive","raw_syntax":"gam update shareddrive [name ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.5093","category":"Shared Drives","subcategory":"Administrator","name":"Delete shareddrive","raw_syntax":"gam delete shareddrive ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5095","category":"Shared Drives","subcategory":"Administrator","name":"Hide shareddrive","raw_syntax":"gam hide shareddrive ","verb":"hide","risk":1,"uncertain":false,"description":""},{"id":"raw.5096","category":"Shared Drives","subcategory":"Administrator","name":"Unhide shareddrive","raw_syntax":"gam unhide shareddrive ","verb":"unhide","risk":1,"uncertain":false,"description":""},{"id":"raw.5097","category":"Shared Drives","subcategory":"Administrator","name":"Info shareddrive","raw_syntax":"gam info shareddrive ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5100","category":"Shared Drives","subcategory":"Administrator","name":"Show shareddriveinfo","raw_syntax":"gam show shareddriveinfo ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5103","category":"Shared Drives","subcategory":"Administrator","name":"Print shareddrives","raw_syntax":"gam print shareddrives [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5109","category":"Shared Drives","subcategory":"Administrator","name":"Show shareddrives","raw_syntax":"gam show shareddrives","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5116","category":"Shared Drives","subcategory":"Administrator","name":"Print shareddriveorganizers","raw_syntax":"gam print shareddriveorganizers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5128","category":"Shared Drives","subcategory":"Administrator","name":"Print oushareddrives","raw_syntax":"gam print oushareddrives [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5131","category":"Shared Drives","subcategory":"Administrator","name":"Show oushareddrives","raw_syntax":"gam show oushareddrives","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5137","category":"Shared Drives","subcategory":"Administrator","name":"Create shareddrive","raw_syntax":"gam create shareddrive adminaccess","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5144","category":"Shared Drives","subcategory":"Administrator","name":"Update shareddrive","raw_syntax":"gam update shareddrive adminaccess [name ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.5148","category":"Shared Drives","subcategory":"Administrator","name":"Delete shareddrive","raw_syntax":"gam delete shareddrive ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5150","category":"Shared Drives","subcategory":"Administrator","name":"Info shareddrive","raw_syntax":"gam info shareddrive ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5153","category":"Shared Drives","subcategory":"Administrator","name":"Show shareddriveinfo","raw_syntax":"gam show shareddriveinfo ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5156","category":"Shared Drives","subcategory":"Administrator","name":"Print shareddrives","raw_syntax":"gam print shareddrives [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5162","category":"Shared Drives","subcategory":"Administrator","name":"Show shareddrives","raw_syntax":"gam show shareddrives","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5171","category":"Shared Drives","subcategory":"Administrator","name":"Create shareddrive","raw_syntax":"gam create shareddrive ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5178","category":"Shared Drives","subcategory":"Administrator","name":"Update shareddrive","raw_syntax":"gam update shareddrive [name ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.5182","category":"Shared Drives","subcategory":"Administrator","name":"Delete shareddrive","raw_syntax":"gam delete shareddrive ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5184","category":"Shared Drives","subcategory":"Administrator","name":"Info shareddrive","raw_syntax":"gam info shareddrive ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5187","category":"Shared Drives","subcategory":"Administrator","name":"Show shareddriveinfo","raw_syntax":"gam show shareddriveinfo ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5190","category":"Shared Drives","subcategory":"Administrator","name":"Print shareddrives","raw_syntax":"gam print shareddrives [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5197","category":"Shared Drives","subcategory":"Administrator","name":"Show shareddrives","raw_syntax":"gam show shareddrives","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5247","category":"Shared Drives","subcategory":"Administrator","name":"Create drivefileacl","raw_syntax":"gam create|add drivefileacl ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5253","category":"Shared Drives","subcategory":"Administrator","name":"Update drivefileacl","raw_syntax":"gam update drivefileacl ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.5256","category":"Shared Drives","subcategory":"Administrator","name":"Delete drivefileacl","raw_syntax":"gam delete drivefileacl ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5258","category":"Shared Drives","subcategory":"Administrator","name":"Info drivefileacl","raw_syntax":"gam info drivefileacl ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5261","category":"Shared Drives","subcategory":"Administrator","name":"Show drivefileacls","raw_syntax":"gam show drivefileacls ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5269","category":"Shared Drives","subcategory":"Administrator","name":"Print drivefileacls","raw_syntax":"gam print drivefileacls [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5277","category":"Shared Drives","subcategory":"Administrator","name":"Create permissions","raw_syntax":"gam create|add permissions ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5280","category":"Shared Drives","subcategory":"Administrator","name":"Delete permissions","raw_syntax":"gam delete permissions ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5285","category":"Shared Drives","subcategory":"Administrator","name":"Create drivefileacl","raw_syntax":"gam create|add drivefileacl ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5293","category":"Shared Drives","subcategory":"Administrator","name":"Update drivefileacl","raw_syntax":"gam update drivefileacl ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.5297","category":"Shared Drives","subcategory":"Administrator","name":"Delete drivefileacl","raw_syntax":"gam delete drivefileacl ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5299","category":"Shared Drives","subcategory":"Administrator","name":"Info drivefileacl","raw_syntax":"gam info drivefileacl adminaccess","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5302","category":"Shared Drives","subcategory":"Administrator","name":"Show drivefileacls","raw_syntax":"gam show drivefileacls adminaccess","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5310","category":"Shared Drives","subcategory":"Administrator","name":"Print drivefileacls","raw_syntax":"gam print drivefileacls [todrive *] adminaccess","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5318","category":"Shared Drives","subcategory":"Administrator","name":"Create permissions","raw_syntax":"gam create|add permissions ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5321","category":"Shared Drives","subcategory":"Administrator","name":"Delete permissions","raw_syntax":"gam delete permissions adminaccess","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5326","category":"Shared Drives","subcategory":"Administrator","name":"Copy shareddriveacls","raw_syntax":"gam copy shareddriveacls to ","verb":"copy","risk":1,"uncertain":false,"description":""},{"id":"raw.5332","category":"Shared Drives","subcategory":"Administrator","name":"Sync shareddriveacls","raw_syntax":"gam sync shareddriveacls with ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.5339","category":"Shared Drives","subcategory":"Administrator","name":"Print shareddriveacls","raw_syntax":"gam print shareddriveacls [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5347","category":"Shared Drives","subcategory":"Administrator","name":"Show shareddriveacls","raw_syntax":"gam show shareddriveacls","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5357","category":"Shared Drives","subcategory":"Administrator","name":"Copy shareddriveacls","raw_syntax":"gam copy shareddriveacls to ","verb":"copy","risk":1,"uncertain":false,"description":""},{"id":"raw.5363","category":"Shared Drives","subcategory":"Administrator","name":"Sync shareddriveacls","raw_syntax":"gam sync shareddriveacls with ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.5370","category":"Shared Drives","subcategory":"Administrator","name":"Print shareddriveacls","raw_syntax":"gam print shareddriveacls [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5379","category":"Shared Drives","subcategory":"Administrator","name":"Show shareddriveacls","raw_syntax":"gam show shareddriveacls","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5523","category":"Vault/Takeout","subcategory":"","name":"Create","raw_syntax":"gam create|add vaultmatter|matter [name ] [description ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5526","category":"Vault/Takeout","subcategory":"","name":"Update","raw_syntax":"gam update vaultmatter|matter [name ] [description ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.5528","category":"Vault/Takeout","subcategory":"","name":"Update","raw_syntax":"gam update vaultmatter|matter action close|reopen|delete|undelete","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.5529","category":"Vault/Takeout","subcategory":"","name":"Close","raw_syntax":"gam close vaultmatter|matter ","verb":"close","risk":1,"uncertain":true,"description":""},{"id":"raw.5530","category":"Vault/Takeout","subcategory":"","name":"Reopen","raw_syntax":"gam reopen vaultmatter|matter ","verb":"reopen","risk":1,"uncertain":true,"description":""},{"id":"raw.5531","category":"Vault/Takeout","subcategory":"","name":"Delete","raw_syntax":"gam delete vaultmatter|matter ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5532","category":"Vault/Takeout","subcategory":"","name":"Undelete","raw_syntax":"gam undelete vaultmatter|matter ","verb":"undelete","risk":1,"uncertain":false,"description":""},{"id":"raw.5542","category":"Vault/Takeout","subcategory":"","name":"Info","raw_syntax":"gam info vaultmatter|matter [basic|full]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5545","category":"Vault/Takeout","subcategory":"","name":"Print","raw_syntax":"gam print vaultmatters|matters [todrive *] [matterstate ]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5548","category":"Vault/Takeout","subcategory":"","name":"Show","raw_syntax":"gam show vaultmatters|matters [matterstate ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5552","category":"Vault/Takeout","subcategory":"","name":"Print vaultcounts","raw_syntax":"gam print vaultcounts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5555","category":"Vault/Takeout","subcategory":"","name":"Print vaultcounts","raw_syntax":"gam print vaultcounts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5565","category":"Vault/Takeout","subcategory":"","name":"Print vaultcounts","raw_syntax":"gam print vaultcounts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5568","category":"Vault/Takeout","subcategory":"","name":"Create","raw_syntax":"gam create vaultexport|export matter [name ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5577","category":"Vault/Takeout","subcategory":"","name":"Create","raw_syntax":"gam create vaultexport|export matter [name ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5598","category":"Vault/Takeout","subcategory":"","name":"Delete","raw_syntax":"gam delete vaultexport|export matter ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5599","category":"Vault/Takeout","subcategory":"","name":"Delete","raw_syntax":"gam delete vaultexport|export ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5600","category":"Vault/Takeout","subcategory":"","name":"Download","raw_syntax":"gam download vaultexport|export matter ","verb":"download","risk":1,"uncertain":false,"description":""},{"id":"raw.5604","category":"Vault/Takeout","subcategory":"","name":"Download","raw_syntax":"gam download vaultexport|export ","verb":"download","risk":1,"uncertain":false,"description":""},{"id":"raw.5608","category":"Vault/Takeout","subcategory":"","name":"Copy","raw_syntax":"gam copy vaultexport|export matter ","verb":"copy","risk":1,"uncertain":false,"description":""},{"id":"raw.5612","category":"Vault/Takeout","subcategory":"","name":"Copy","raw_syntax":"gam copy vaultexport|export ","verb":"copy","risk":1,"uncertain":false,"description":""},{"id":"raw.5635","category":"Vault/Takeout","subcategory":"","name":"Info","raw_syntax":"gam info vaultexport|export matter ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5638","category":"Vault/Takeout","subcategory":"","name":"Info","raw_syntax":"gam info vaultexport|export ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5641","category":"Vault/Takeout","subcategory":"","name":"Print","raw_syntax":"gam print vaultexports|exports [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5646","category":"Vault/Takeout","subcategory":"","name":"Show","raw_syntax":"gam show vaultexports|exports","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5651","category":"Vault/Takeout","subcategory":"","name":"Create","raw_syntax":"gam create vaulthold|hold matter [name ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5654","category":"Vault/Takeout","subcategory":"","name":"Create","raw_syntax":"gam create vaulthold|hold matter [name ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5662","category":"Vault/Takeout","subcategory":"","name":"Update","raw_syntax":"gam update vaulthold|hold matter ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.5669","category":"Vault/Takeout","subcategory":"","name":"Delete","raw_syntax":"gam delete vaulthold|hold matter ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5670","category":"Vault/Takeout","subcategory":"","name":"Delete","raw_syntax":"gam delete vaulthold|hold ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5689","category":"Vault/Takeout","subcategory":"","name":"Info","raw_syntax":"gam info vaulthold|hold matter ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5692","category":"Vault/Takeout","subcategory":"","name":"Info","raw_syntax":"gam info vaulthold|hold ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5695","category":"Vault/Takeout","subcategory":"","name":"Print","raw_syntax":"gam print vaultholds|holds [todrive *] [matters ]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5699","category":"Vault/Takeout","subcategory":"","name":"Show","raw_syntax":"gam show vaultholds|holds [matters ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5703","category":"Vault/Takeout","subcategory":"","name":"Print","raw_syntax":"gam print vaultholds|holds [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5704","category":"Vault/Takeout","subcategory":"","name":"Show","raw_syntax":"gam show vaultholds|holds","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5706","category":"Vault/Takeout","subcategory":"","name":"Create vaultquery","raw_syntax":"gam create vaultquery [name ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5725","category":"Vault/Takeout","subcategory":"","name":"Copy vaultquery","raw_syntax":"gam copy vaultquery [targetmatter ] [name ]","verb":"copy","risk":1,"uncertain":false,"description":""},{"id":"raw.5729","category":"Vault/Takeout","subcategory":"","name":"Delete vaultquery","raw_syntax":"gam delete vaultquery matter ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5730","category":"Vault/Takeout","subcategory":"","name":"Delete vaultquery","raw_syntax":"gam delete vaultquery ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5742","category":"Vault/Takeout","subcategory":"","name":"Info vaultquery","raw_syntax":"gam info vaultquery matter ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5745","category":"Vault/Takeout","subcategory":"","name":"Info vaultquery","raw_syntax":"gam info vaultquery ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5748","category":"Vault/Takeout","subcategory":"","name":"Print vaultqueries","raw_syntax":"gam print vaultqueries [todrive *] [matters ]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.5751","category":"Vault/Takeout","subcategory":"","name":"Show vaultqueries","raw_syntax":"gam show vaultqueries [matters ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.5755","category":"Vault/Takeout","subcategory":"","name":"Download storagebucket","raw_syntax":"gam download storagebucket ","verb":"download","risk":1,"uncertain":false,"description":""},{"id":"raw.5757","category":"Vault/Takeout","subcategory":"","name":"Copy storagebucket","raw_syntax":"gam copy storagebucket sourcebucket targetbucket ","verb":"copy","risk":1,"uncertain":false,"description":""},{"id":"raw.5760","category":"Vault/Takeout","subcategory":"","name":"Download storagefile","raw_syntax":"gam download storagefile ","verb":"download","risk":1,"uncertain":false,"description":""},{"id":"raw.5922","category":"Users","subcategory":"","name":"Create user","raw_syntax":"gam create|add user [ignorenullpassword] *","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.5939","category":"Users","subcategory":"","name":" waitformailbox","raw_syntax":"gam waitformailbox [retries ]","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.5941","category":"Users","subcategory":"","name":"Update user","raw_syntax":"gam update user [ignorenullpassword] *","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.5963","category":"Users","subcategory":"","name":"Delete user","raw_syntax":"gam delete user [noactionifalias]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.5964","category":"Users","subcategory":"","name":"Undelete user","raw_syntax":"gam undelete user [ou|org|orgunit ]","verb":"undelete","risk":1,"uncertain":false,"description":""},{"id":"raw.5965","category":"Users","subcategory":"","name":"Check suspended","raw_syntax":"gam check suspended ","verb":"check","risk":1,"uncertain":true,"description":""},{"id":"raw.5966","category":"Users","subcategory":"","name":"Suspend user","raw_syntax":"gam suspend user [noactionifalias]","verb":"suspend","risk":2,"uncertain":false,"description":""},{"id":"raw.5967","category":"Users","subcategory":"","name":"Unsuspend user","raw_syntax":"gam unsuspend user [noactionifalias]","verb":"unsuspend","risk":1,"uncertain":false,"description":""},{"id":"raw.5968","category":"Users","subcategory":"","name":"Info user","raw_syntax":"gam info user []","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.5981","category":"Users","subcategory":"","name":"Update users","raw_syntax":"gam update users [ignorenullpassword] *","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6002","category":"Users","subcategory":"","name":"Delete users","raw_syntax":"gam delete users [noactionifalias]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6003","category":"Users","subcategory":"","name":"Undelete users","raw_syntax":"gam undelete users [ou|org|orgunit ]","verb":"undelete","risk":1,"uncertain":false,"description":""},{"id":"raw.6004","category":"Users","subcategory":"","name":"Suspend users","raw_syntax":"gam suspend users [noactionifalias]","verb":"suspend","risk":2,"uncertain":false,"description":""},{"id":"raw.6005","category":"Users","subcategory":"","name":"Unsuspend users","raw_syntax":"gam unsuspend users [noactionifalias]","verb":"unsuspend","risk":1,"uncertain":false,"description":""},{"id":"raw.6006","category":"Users","subcategory":"","name":"Info users","raw_syntax":"gam info users ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6019","category":"Users","subcategory":"","name":"Update users","raw_syntax":"gam update users [ignorenullpassword] *","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6040","category":"Users","subcategory":"","name":"Delete users","raw_syntax":"gam delete users [noactionifalias]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6041","category":"Users","subcategory":"","name":"Undelete users","raw_syntax":"gam undelete users [ou|org|orgunit ]","verb":"undelete","risk":1,"uncertain":false,"description":""},{"id":"raw.6042","category":"Users","subcategory":"","name":"Suspend users","raw_syntax":"gam suspend users [noactionifalias]","verb":"suspend","risk":2,"uncertain":false,"description":""},{"id":"raw.6043","category":"Users","subcategory":"","name":"Unsuspend users","raw_syntax":"gam unsuspend users [noactionifalias]","verb":"unsuspend","risk":1,"uncertain":false,"description":""},{"id":"raw.6044","category":"Users","subcategory":"","name":"Info users","raw_syntax":"gam info users","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6062","category":"Users","subcategory":"","name":"Print users","raw_syntax":"gam print users [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6085","category":"Users","subcategory":"","name":"Print users","raw_syntax":"gam print users [todrive *] select ","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6104","category":"Users","subcategory":"","name":"Print users","raw_syntax":"gam print users [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6128","category":"Users","subcategory":"","name":"Print","raw_syntax":"gam print","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6129","category":"Users","subcategory":"","name":"Print users","raw_syntax":"gam print users","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6136","category":"Users","subcategory":"","name":"Print users","raw_syntax":"gam print users [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6144","category":"Users","subcategory":"","name":"Print users","raw_syntax":"gam print users [todrive *] select ","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6147","category":"Users","subcategory":"","name":"Print users","raw_syntax":"gam print users [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6153","category":"Users","subcategory":"","name":"Print usercountsbyorgunit","raw_syntax":"gam print usercountsbyorgunit [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6158","category":"Users","subcategory":"","name":"Print userlist","raw_syntax":"gam print userlist [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6164","category":"Users","subcategory":"","name":"Show count","raw_syntax":"gam show count","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6168","category":"Users","subcategory":"Application Specific Passwords/backup Codes","name":"Delete","raw_syntax":"gam delete asps|applicationspecificpasswords all|","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6169","category":"Users","subcategory":"Application Specific Passwords/backup Codes","name":"Show","raw_syntax":"gam show asps|applicationspecificpasswords","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6170","category":"Users","subcategory":"Application Specific Passwords/backup Codes","name":"Print","raw_syntax":"gam print asps|applicationspecificpasswords [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6173","category":"Users","subcategory":"Application Specific Passwords/backup Codes","name":"Update","raw_syntax":"gam update backupcodes|verificationcodes","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6174","category":"Users","subcategory":"Application Specific Passwords/backup Codes","name":"Delete","raw_syntax":"gam delete backupcodes|verificationcodes","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6175","category":"Users","subcategory":"Application Specific Passwords/backup Codes","name":"Show","raw_syntax":"gam show backupcodes|verificationcodes","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6176","category":"Users","subcategory":"Application Specific Passwords/backup Codes","name":"Print","raw_syntax":"gam print backupcodes|verificationcodes [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6181","category":"Users","subcategory":"Business Profile Accounts","name":"Show businessprofileaccounts","raw_syntax":"gam show businessprofileaccounts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6183","category":"Users","subcategory":"Business Profile Accounts","name":"Print businessprofileaccounts","raw_syntax":"gam print businessprofileaccounts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6253","category":"Users","subcategory":"Calendars","name":"Add calendars","raw_syntax":"gam add calendars *","verb":"add","risk":1,"uncertain":false,"description":""},{"id":"raw.6254","category":"Users","subcategory":"Calendars","name":"Update calendars","raw_syntax":"gam update calendars +","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6255","category":"Users","subcategory":"Calendars","name":"Delete calendars","raw_syntax":"gam delete calendars ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6279","category":"Users","subcategory":"Calendars","name":"Info calendars","raw_syntax":"gam info calendars ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6282","category":"Users","subcategory":"Calendars","name":"Show calendars","raw_syntax":"gam show calendars","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6286","category":"Users","subcategory":"Calendars","name":"Print calendars","raw_syntax":"gam print calendars [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6310","category":"Users","subcategory":"Calendars","name":"Show calsettings","raw_syntax":"gam show calsettings","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6313","category":"Users","subcategory":"Calendars","name":"Print calsettings","raw_syntax":"gam print calsettings [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6319","category":"Users","subcategory":"Calendars","name":"Create calendar","raw_syntax":"gam create calendar +","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6320","category":"Users","subcategory":"Calendars","name":"Modify calendars","raw_syntax":"gam modify calendars +","verb":"modify","risk":1,"uncertain":false,"description":""},{"id":"raw.6321","category":"Users","subcategory":"Calendars","name":"Remove calendars","raw_syntax":"gam remove calendars ","verb":"remove","risk":2,"uncertain":false,"description":""},{"id":"raw.6325","category":"Users","subcategory":"Calendars","name":"Create calendaracls","raw_syntax":"gam create|add calendaracls [sendnotifications ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6326","category":"Users","subcategory":"Calendars","name":"Update calendaracls","raw_syntax":"gam update calendaracls [sendnotifications ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6327","category":"Users","subcategory":"Calendars","name":"Delete calendaracls","raw_syntax":"gam delete calendaracls ] ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6329","category":"Users","subcategory":"Calendars","name":"Info calendaracls","raw_syntax":"gam info calendaracls ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6331","category":"Users","subcategory":"Calendars","name":"Show calendaracls","raw_syntax":"gam show calendaracls ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6334","category":"Users","subcategory":"Calendars","name":"Print calendaracls","raw_syntax":"gam print calendaracls [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6469","category":"Users","subcategory":"Calendars","name":"Create event","raw_syntax":"gam create|add event [id ] + []","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6472","category":"Users","subcategory":"Calendars","name":"Import event","raw_syntax":"gam import event icaluid +","verb":"import","risk":1,"uncertain":false,"description":""},{"id":"raw.6475","category":"Users","subcategory":"Calendars","name":"Update events","raw_syntax":"gam update events [] [replacemode] + []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6478","category":"Users","subcategory":"Calendars","name":"Delete events","raw_syntax":"gam delete events []","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6480","category":"Users","subcategory":"Calendars","name":"Purge events","raw_syntax":"gam purge events []","verb":"purge","risk":2,"uncertain":false,"description":""},{"id":"raw.6482","category":"Users","subcategory":"Calendars","name":"Wipe events","raw_syntax":"gam wipe events ","verb":"wipe","risk":2,"uncertain":false,"description":""},{"id":"raw.6483","category":"Users","subcategory":"Calendars","name":"Move events","raw_syntax":"gam move events [] destination|to []","verb":"move","risk":1,"uncertain":false,"description":""},{"id":"raw.6484","category":"Users","subcategory":"Calendars","name":"Empty calendartrash","raw_syntax":"gam empty calendartrash ","verb":"empty","risk":2,"uncertain":false,"description":""},{"id":"raw.6493","category":"Users","subcategory":"Calendars","name":"Info events","raw_syntax":"gam info events [] [maxinstances ]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6496","category":"Users","subcategory":"Calendars","name":"Show events","raw_syntax":"gam show events [] *","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6499","category":"Users","subcategory":"Calendars","name":"Print events","raw_syntax":"gam print events [] *","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6504","category":"Users","subcategory":"Calendars","name":"Update calattendees","raw_syntax":"gam update calattendees [anyorganizer]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6520","category":"Users","subcategory":"Calendars","name":"Create focustime","raw_syntax":"gam create focustime","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6533","category":"Users","subcategory":"Calendars","name":"Create outofoffice","raw_syntax":"gam create outofoffice","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6545","category":"Users","subcategory":"Calendars","name":"Create workinglocation","raw_syntax":"gam create workinglocation","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6558","category":"Users","subcategory":"Calendars","name":"Delete","raw_syntax":"gam delete focustime|outofoffice|workinglocation","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6565","category":"Users","subcategory":"Calendars","name":"Show","raw_syntax":"gam show focustime|outofoffice|workinglocation","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6573","category":"Users","subcategory":"Calendars","name":"Print","raw_syntax":"gam print focustime|outofoffice|workinglocation","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6603","category":"Users","subcategory":"Chat","name":"Update chatavailability","raw_syntax":"gam update chatavailability","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6611","category":"Users","subcategory":"Chat","name":"Show chatavailability","raw_syntax":"gam show chatavailability","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6614","category":"Users","subcategory":"Chat","name":"Print chatavailability","raw_syntax":"gam print chatavailability [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6617","category":"Users","subcategory":"Chat","name":"Create chatspace","raw_syntax":"gam create chatspace","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6628","category":"Users","subcategory":"Chat","name":"Update chatspace","raw_syntax":"gam update chatspace ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6642","category":"Users","subcategory":"Chat","name":"Delete chatspace","raw_syntax":"gam delete chatspace ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6644","category":"Users","subcategory":"Chat","name":"Update chatspace","raw_syntax":"gam update chatspace asadmin ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6651","category":"Users","subcategory":"Chat","name":"Delete chatspace","raw_syntax":"gam delete chatspace asadmin ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6671","category":"Users","subcategory":"Chat","name":"Info chatspace","raw_syntax":"gam info chatspace ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6674","category":"Users","subcategory":"Chat","name":"Info chatspacedm","raw_syntax":"gam info chatspacedm ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6677","category":"Users","subcategory":"Chat","name":"Show chatspaces","raw_syntax":"gam show chatspaces","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6681","category":"Users","subcategory":"Chat","name":"Print chatspaces","raw_syntax":"gam print chatspaces [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6686","category":"Users","subcategory":"Chat","name":"Info chatspace","raw_syntax":"gam info chatspace asadmin ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6689","category":"Users","subcategory":"Chat","name":"Show chatspaces","raw_syntax":"gam show chatspaces asadmin","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6694","category":"Users","subcategory":"Chat","name":"Print chatspaces","raw_syntax":"gam print chatspaces asadmin [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6700","category":"Users","subcategory":"Chat","name":"Create chatsection","raw_syntax":"gam create chatsection","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6703","category":"Users","subcategory":"Chat","name":"Update chatsection","raw_syntax":"gam update chatsection ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6707","category":"Users","subcategory":"Chat","name":"Delete chatsection","raw_syntax":"gam delete chatsection ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6708","category":"Users","subcategory":"Chat","name":"Show chatsections","raw_syntax":"gam show chatsections","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6710","category":"Users","subcategory":"Chat","name":"Print chatsections","raw_syntax":"gam print chatsections [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6712","category":"Users","subcategory":"Chat","name":"Move chatsectionitem","raw_syntax":"gam move chatsectionitem to ","verb":"move","risk":1,"uncertain":false,"description":""},{"id":"raw.6713","category":"Users","subcategory":"Chat","name":"Show chatsectionitems","raw_syntax":"gam show chatsectionitems ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6716","category":"Users","subcategory":"Chat","name":"Print chatsectionitems","raw_syntax":"gam print chatsectionitems [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6720","category":"Users","subcategory":"Chat","name":"Create chatmember","raw_syntax":"gam create chatmember ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6725","category":"Users","subcategory":"Chat","name":"Delete chatmember","raw_syntax":"gam delete chatmember ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6729","category":"Users","subcategory":"Chat","name":"Update chatmember","raw_syntax":"gam update chatmember ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6732","category":"Users","subcategory":"Chat","name":"Modify chatmember","raw_syntax":"gam modify chatmember","verb":"modify","risk":1,"uncertain":false,"description":""},{"id":"raw.6735","category":"Users","subcategory":"Chat","name":"Sync chatmembers","raw_syntax":"gam sync chatmembers ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.6741","category":"Users","subcategory":"Chat","name":"Create chatmember","raw_syntax":"gam create chatmember asadmin ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6746","category":"Users","subcategory":"Chat","name":"Remove chatmember","raw_syntax":"gam remove chatmember asadmin members ","verb":"remove","risk":2,"uncertain":false,"description":""},{"id":"raw.6747","category":"Users","subcategory":"Chat","name":"Delete chatmember","raw_syntax":"gam delete chatmember asadmin ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6750","category":"Users","subcategory":"Chat","name":"Update chatmember","raw_syntax":"gam update chatmember asadmin ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6753","category":"Users","subcategory":"Chat","name":"Modify chatmember","raw_syntax":"gam modify chatmember asadmin","verb":"modify","risk":1,"uncertain":false,"description":""},{"id":"raw.6756","category":"Users","subcategory":"Chat","name":"Sync chatmembers","raw_syntax":"gam sync chatmembers asadmin ","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.6772","category":"Users","subcategory":"Chat","name":"Info chatmember","raw_syntax":"gam info chatmember","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6776","category":"Users","subcategory":"Chat","name":"Show chatmembers","raw_syntax":"gam show chatmembers","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6781","category":"Users","subcategory":"Chat","name":"Print chatmembers","raw_syntax":"gam print chatmembers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6788","category":"Users","subcategory":"Chat","name":"Info chatmember","raw_syntax":"gam info chatmember asadmin","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6792","category":"Users","subcategory":"Chat","name":"Show chatmembers","raw_syntax":"gam show chatmembers asadmin","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6798","category":"Users","subcategory":"Chat","name":"Print chatmembers","raw_syntax":"gam print chatmembers asadmin [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6806","category":"Users","subcategory":"Chat","name":"Create chatmessage","raw_syntax":"gam create chatmessage ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6811","category":"Users","subcategory":"Chat","name":"Update chatmessage","raw_syntax":"gam update chatmessage name ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6813","category":"Users","subcategory":"Chat","name":"Delete chatmessage","raw_syntax":"gam delete chatmessage name ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6844","category":"Users","subcategory":"Chat","name":"Info chatmessage","raw_syntax":"gam info chatmessage name ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6847","category":"Users","subcategory":"Chat","name":"Show chatmessages","raw_syntax":"gam show chatmessages","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6854","category":"Users","subcategory":"Chat","name":"Print chatmessages","raw_syntax":"gam print chatmessages [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6863","category":"Users","subcategory":"Chat","name":"Show chatsearchmessages","raw_syntax":"gam show chatsearchmessages","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6874","category":"Users","subcategory":"Chat","name":"Print chatsearchmessages","raw_syntax":"gam print chatsearchmessages [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6886","category":"Users","subcategory":"Chat","name":"Info chatevent","raw_syntax":"gam info chatevent name ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6888","category":"Users","subcategory":"Chat","name":"Show chatevents","raw_syntax":"gam show chatevents","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6892","category":"Users","subcategory":"Chat","name":"Print chatevents","raw_syntax":"gam print chatevents [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6900","category":"Users","subcategory":"Chat","name":"Create chatemoji","raw_syntax":"gam create chatemoji ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.6903","category":"Users","subcategory":"Chat","name":"Delete chatemoji","raw_syntax":"gam delete chatemoji ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6904","category":"Users","subcategory":"Chat","name":"Info chatemoji","raw_syntax":"gam info chatemoji ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.6906","category":"Users","subcategory":"Chat","name":"Show chatemojis","raw_syntax":"gam show chatemojis","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6909","category":"Users","subcategory":"Chat","name":"Print chatemojis","raw_syntax":"gam print chatemojis [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6931","category":"Users","subcategory":"Data Studio (Formerly Looker Studuo)","name":"Show datastudioassets","raw_syntax":"gam show datastudioassets","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.6939","category":"Users","subcategory":"Data Studio (Formerly Looker Studuo)","name":"Add datastudiopermissions","raw_syntax":"gam add datastudiopermissions","verb":"add","risk":1,"uncertain":false,"description":""},{"id":"raw.6946","category":"Users","subcategory":"Data Studio (Formerly Looker Studuo)","name":"Delete datastudiopermissions","raw_syntax":"gam delete datastudiopermissions","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.6952","category":"Users","subcategory":"Data Studio (Formerly Looker Studuo)","name":"Update datastudiopermissions","raw_syntax":"gam update datastudiopermissions","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.6960","category":"Users","subcategory":"Data Studio (Formerly Looker Studuo)","name":"Print datastudiopermissions","raw_syntax":"gam print datastudiopermissions [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.6967","category":"Users","subcategory":"Data Studio (Formerly Looker Studuo)","name":"Show datastudiopermissions","raw_syntax":"gam show datastudiopermissions","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7062","category":"Users","subcategory":"Drive","name":"Create drivefile","raw_syntax":"gam create|add drivefile","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.7083","category":"Users","subcategory":"Drive","name":"Update drivefile","raw_syntax":"gam update drivefile [copy] [returnidonly|returnlinkonly]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.7108","category":"Users","subcategory":"Drive","name":"Copy drivefile","raw_syntax":"gam copy drivefile ","verb":"copy","risk":1,"uncertain":false,"description":""},{"id":"raw.7158","category":"Users","subcategory":"Drive","name":"Move drivefile","raw_syntax":"gam move drivefile [newfilename ]","verb":"move","risk":1,"uncertain":false,"description":""},{"id":"raw.7183","category":"Users","subcategory":"Drive","name":"Get document","raw_syntax":"gam get document ","verb":"get","risk":0,"uncertain":false,"description":""},{"id":"raw.7189","category":"Users","subcategory":"Drive","name":"Update docuument","raw_syntax":"gam update docuument ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.7194","category":"Users","subcategory":"Drive","name":"Get drivefile","raw_syntax":"gam get drivefile [revision ]","verb":"get","risk":0,"uncertain":false,"description":""},{"id":"raw.7200","category":"Users","subcategory":"Drive","name":"Delete drivefile","raw_syntax":"gam delete drivefile [purge|untrash|trash] [shortcutandtarget []]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.7201","category":"Users","subcategory":"Drive","name":"Purge drivefile","raw_syntax":"gam purge drivefile [shortcutandtarget []]","verb":"purge","risk":2,"uncertain":false,"description":""},{"id":"raw.7202","category":"Users","subcategory":"Drive","name":"Trash drivefile","raw_syntax":"gam trash drivefile [shortcutandtarget []]","verb":"trash","risk":2,"uncertain":false,"description":""},{"id":"raw.7203","category":"Users","subcategory":"Drive","name":" untrash","raw_syntax":"gam untrash drivefile [shortcutandtarget []]","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.7205","category":"Users","subcategory":"Drive","name":"Info drivefile","raw_syntax":"gam info drivefile ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.7217","category":"Users","subcategory":"Drive","name":"Create drivefolderpath","raw_syntax":"gam create|add drivefolderpath","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.7225","category":"Users","subcategory":"Drive","name":"Create drivefileshortcut","raw_syntax":"gam create|add drivefileshortcut [shortcutname ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.7229","category":"Users","subcategory":"Drive","name":" check","raw_syntax":"gam check drivefileshortcut ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.7280","category":"Users","subcategory":"Drive","name":"Create drivefileacl","raw_syntax":"gam create|add drivefileacl [adminaccess|asadmin]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.7287","category":"Users","subcategory":"Drive","name":"Update drivefileacl","raw_syntax":"gam update drivefileacl ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.7291","category":"Users","subcategory":"Drive","name":"Delete drivefileacl","raw_syntax":"gam delete drivefileacl ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.7294","category":"Users","subcategory":"Drive","name":"Info drivefileacl","raw_syntax":"gam info drivefileacl ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.7297","category":"Users","subcategory":"Drive","name":"Show drivefileacls","raw_syntax":"gam show drivefileacls ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7303","category":"Users","subcategory":"Drive","name":"Print drivefileacls","raw_syntax":"gam print drivefileacls [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7309","category":"Users","subcategory":"Drive","name":"Create permissions","raw_syntax":"gam create|add permissions ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.7313","category":"Users","subcategory":"Drive","name":"Delete permissions","raw_syntax":"gam delete permissions ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.7316","category":"Users","subcategory":"Drive","name":" process","raw_syntax":"gam process filedrivelabels ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.7325","category":"Users","subcategory":"Drive","name":"Show ownership","raw_syntax":"gam show ownership |(drivefilename )","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7327","category":"Users","subcategory":"Drive","name":"Print ownership","raw_syntax":"gam print ownership |(drivefilename ) [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7365","category":"Users","subcategory":"Drive","name":"Show filecomments","raw_syntax":"gam show filecomments ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7370","category":"Users","subcategory":"Drive","name":"Print filecomments","raw_syntax":"gam print filecomments [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7395","category":"Users","subcategory":"Drive","name":"Delete filerevisions","raw_syntax":"gam delete filerevisions select ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.7397","category":"Users","subcategory":"Drive","name":"Update filerevisions","raw_syntax":"gam update filerevisions select ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.7401","category":"Users","subcategory":"Drive","name":"Show filerevisions","raw_syntax":"gam show filerevisions ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7407","category":"Users","subcategory":"Drive","name":"Print filerevisions","raw_syntax":"gam print filerevisions [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7414","category":"Users","subcategory":"Drive","name":"Transfer ownership","raw_syntax":"gam transfer ownership ","verb":"transfer","risk":1,"uncertain":false,"description":""},{"id":"raw.7419","category":"Users","subcategory":"Drive","name":"Claim ownership","raw_syntax":"gam claim ownership ","verb":"claim","risk":1,"uncertain":false,"description":""},{"id":"raw.7428","category":"Users","subcategory":"Drive","name":"Transfer drive","raw_syntax":"gam transfer drive [select ]","verb":"transfer","risk":1,"uncertain":false,"description":""},{"id":"raw.7439","category":"Users","subcategory":"Drive","name":" collect","raw_syntax":"gam collect orphans","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.7687","category":"Users","subcategory":"Drive","name":"Show fileinfo","raw_syntax":"gam show fileinfo ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7699","category":"Users","subcategory":"Drive","name":"Show filepath","raw_syntax":"gam show filepath ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7705","category":"Users","subcategory":"Drive","name":"Print filepath","raw_syntax":"gam print filepath [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7711","category":"Users","subcategory":"Drive","name":"Print filecounts","raw_syntax":"gam print filecounts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7727","category":"Users","subcategory":"Drive","name":"Show filecounts","raw_syntax":"gam show filecounts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7743","category":"Users","subcategory":"Drive","name":"Print filesharecounts","raw_syntax":"gam print filesharecounts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7747","category":"Users","subcategory":"Drive","name":"Show filesharecounts","raw_syntax":"gam show filesharecounts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7764","category":"Users","subcategory":"Drive","name":"Print filetree","raw_syntax":"gam print filetree [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7776","category":"Users","subcategory":"Drive","name":"Show filetree","raw_syntax":"gam show filetree","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7789","category":"Users","subcategory":"Drive","name":"Print fileparenttree","raw_syntax":"gam print fileparenttree [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7792","category":"Users","subcategory":"Drive","name":"Print filelist","raw_syntax":"gam print filelist [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7821","category":"Users","subcategory":"Drive","name":"Print diskusage","raw_syntax":"gam print diskusage [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7844","category":"Users","subcategory":"Drive","name":"Print driveactivity","raw_syntax":"gam print driveactivity [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7872","category":"Users","subcategory":"Drive","name":"Print drivelastmodification","raw_syntax":"gam print drivelastmodification [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7876","category":"Users","subcategory":"Drive","name":"Show drivelastmodification","raw_syntax":"gam show drivelastmodification","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7880","category":"Users","subcategory":"Drive","name":"Print drivesettings","raw_syntax":"gam print drivesettings [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7883","category":"Users","subcategory":"Drive","name":"Show drivesettings","raw_syntax":"gam show drivesettings","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7887","category":"Users","subcategory":"Drive","name":"Print emptydrivefolders","raw_syntax":"gam print emptydrivefolders [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7890","category":"Users","subcategory":"Drive","name":"Delete emptydrivefolders","raw_syntax":"gam delete emptydrivefolders","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.7894","category":"Users","subcategory":"Drive","name":"Delete emptydrivefolders","raw_syntax":"gam delete emptydrivefolders []","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.7896","category":"Users","subcategory":"Drive","name":"Empty drivetrash","raw_syntax":"gam empty drivetrash []","verb":"empty","risk":2,"uncertain":false,"description":""},{"id":"raw.7900","category":"Users","subcategory":"Deprovision","name":"Deprovision","raw_syntax":"gam deprovision|deprov [popimap] [signout] [turnoff2sv]","verb":"deprovision","risk":2,"uncertain":false,"description":""},{"id":"raw.7904","category":"Users","subcategory":"Gmail - Delegates","name":" delegate","raw_syntax":"gam delegate to [convertalias] ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.7911","category":"Users","subcategory":"Gmail - Delegates","name":"Create","raw_syntax":"gam create|add delegate|delegates [convertalias] ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.7918","category":"Users","subcategory":"Gmail - Delegates","name":"Delete","raw_syntax":"gam delete delegate|delegates [convertalias] ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.7919","category":"Users","subcategory":"Gmail - Delegates","name":"Update","raw_syntax":"gam update delegate|delegates [convertalias] []","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.7920","category":"Users","subcategory":"Gmail - Delegates","name":"Show","raw_syntax":"gam show delegates|delegate [shownames] [csv]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7921","category":"Users","subcategory":"Gmail - Delegates","name":"Print","raw_syntax":"gam print delegates|delegate [todrive *] [shownames]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7953","category":"Users","subcategory":"Gmail - Filters","name":"","raw_syntax":"gam [create|add] filter","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.7956","category":"Users","subcategory":"Gmail - Filters","name":"Delete filters","raw_syntax":"gam delete filters ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.7958","category":"Users","subcategory":"Gmail - Filters","name":"Info filters","raw_syntax":"gam info filters [labelidsonly] [formatjson]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.7959","category":"Users","subcategory":"Gmail - Filters","name":"Show filters","raw_syntax":"gam show filters [labelidsonly] [formatjson]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7960","category":"Users","subcategory":"Gmail - Filters","name":"Print filters","raw_syntax":"gam print filters [labelidsonly] [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7965","category":"Users","subcategory":"Forms","name":"Create form","raw_syntax":"gam create form","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.7970","category":"Users","subcategory":"Forms","name":"Update form","raw_syntax":"gam update form ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.7974","category":"Users","subcategory":"Forms","name":"Print forms","raw_syntax":"gam print forms [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7977","category":"Users","subcategory":"Forms","name":"Show forms","raw_syntax":"gam show forms ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7980","category":"Users","subcategory":"Forms","name":"Print formresponses","raw_syntax":"gam print formresponses [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7984","category":"Users","subcategory":"Forms","name":"Show formresponses","raw_syntax":"gam show formresponses ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7990","category":"Users","subcategory":"Gmail - Forwarding","name":"Create","raw_syntax":"gam create|add forwardingaddress|forwardingaddresses ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.7991","category":"Users","subcategory":"Gmail - Forwarding","name":"Delete","raw_syntax":"gam delete forwardingaddress|forwardingaddresses ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.7993","category":"Users","subcategory":"Gmail - Forwarding","name":"Info","raw_syntax":"gam info forwardingaddress|forwardingaddresses ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.7994","category":"Users","subcategory":"Gmail - Forwarding","name":"Show","raw_syntax":"gam show forwardingaddress|forwardingaddresses","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.7996","category":"Users","subcategory":"Gmail - Forwarding","name":"Print","raw_syntax":"gam print forwardingaddress|forwardingaddresses [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.7999","category":"Users","subcategory":"Gmail - Forwarding","name":" forward","raw_syntax":"gam forward ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8000","category":"Users","subcategory":"Gmail - Forwarding","name":"Keep","raw_syntax":"gam forward keep|leaveininbox|archive|delete|trash|markread ","verb":"keep","risk":2,"uncertain":false,"description":""},{"id":"raw.8001","category":"Users","subcategory":"Gmail - Forwarding","name":"Show","raw_syntax":"gam show forward|forwards","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8002","category":"Users","subcategory":"Gmail - Forwarding","name":"Print","raw_syntax":"gam print forward|forwards [enabledonly] [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8006","category":"Users","subcategory":"Gmail - Labels/Messages","name":"","raw_syntax":"gam [create|add] label|labels ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8011","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Create labellist","raw_syntax":"gam create labellist ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8016","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Update labelid","raw_syntax":"gam update labelid [name ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8020","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Update labelsettings","raw_syntax":"gam update labelsettings [name ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8024","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Update","raw_syntax":"gam update label|labels [search ] [replace ] [merge [keepoldlabel]]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8025","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Delete","raw_syntax":"gam delete label|labels |regex:|--ALL_LABELS--","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8026","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Delete labellist","raw_syntax":"gam delete labellist ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8027","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Delete labelid","raw_syntax":"gam delete labelid ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8028","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Delete labelidlist","raw_syntax":"gam delete labelidlist ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8030","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Show","raw_syntax":"gam show labels|label","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8034","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Print","raw_syntax":"gam print labels|label [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8138","category":"Users","subcategory":"Gmail - Labels/Messages","name":" draft","raw_syntax":"gam draft message","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8145","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Import message","raw_syntax":"gam import message","verb":"import","risk":1,"uncertain":false,"description":""},{"id":"raw.8154","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Insert message","raw_syntax":"gam insert message","verb":"insert","risk":1,"uncertain":false,"description":""},{"id":"raw.8164","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Archive messages","raw_syntax":"gam archive messages ","verb":"archive","risk":1,"uncertain":false,"description":""},{"id":"raw.8169","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Delete","raw_syntax":"gam delete messages|threads","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8174","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Modify","raw_syntax":"gam modify messages|threads","verb":"modify","risk":1,"uncertain":false,"description":""},{"id":"raw.8180","category":"Users","subcategory":"Gmail - Labels/Messages","name":" spam","raw_syntax":"gam spam messages|threads","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8185","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Trash","raw_syntax":"gam trash messages|threads","verb":"trash","risk":2,"uncertain":false,"description":""},{"id":"raw.8190","category":"Users","subcategory":"Gmail - Labels/Messages","name":" untrash","raw_syntax":"gam untrash messages|threads","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8196","category":"Users","subcategory":"Gmail - Labels/Messages","name":" export","raw_syntax":"gam export message|messages","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8201","category":"Users","subcategory":"Gmail - Labels/Messages","name":" export","raw_syntax":"gam export thread|threads","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8207","category":"Users","subcategory":"Gmail - Labels/Messages","name":" forward","raw_syntax":"gam forward message|messages [recipient|to] ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8212","category":"Users","subcategory":"Gmail - Labels/Messages","name":" forward","raw_syntax":"gam forward thread|thtreads [recipient|to] ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8218","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Show messages","raw_syntax":"gam show messages","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8231","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Print messages","raw_syntax":"gam print messages [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8245","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Print","raw_syntax":"gam print thread|threads [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8258","category":"Users","subcategory":"Gmail - Labels/Messages","name":"Show","raw_syntax":"gam show thread|threads","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8274","category":"Users","subcategory":"Gmail - Profile","name":"Show gmailprofile","raw_syntax":"gam show gmailprofile","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8275","category":"Users","subcategory":"Gmail - Profile","name":"Print gmailprofile","raw_syntax":"gam print gmailprofile [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8279","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"","raw_syntax":"gam [create|add] sendas [name] ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8287","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"Update sendas","raw_syntax":"gam update sendas [name ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8292","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"Delete sendas","raw_syntax":"gam delete sendas ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8293","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"Info sendas","raw_syntax":"gam info sendas [compact|format|html]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8294","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"Show sendas","raw_syntax":"gam show sendas [compact|format|html]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8296","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"Print sendas","raw_syntax":"gam print sendas [compact]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8299","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"","raw_syntax":"gam signature|sig","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8306","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"Show","raw_syntax":"gam show signature|sig [compact|format|html|template]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8308","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"Print signature","raw_syntax":"gam print signature [compact]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8311","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":" vacation","raw_syntax":"gam vacation [] [subject ]","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8317","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"Show vacation","raw_syntax":"gam show vacation [compact|format|html] [enabledonly]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8318","category":"Users","subcategory":"Gmail - Send As/Signature/Vacation","name":"Print vacation","raw_syntax":"gam print vacation [compact] [enabledonly] [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8322","category":"Users","subcategory":"Gmail - S/MIME","name":"Create smime","raw_syntax":"gam create|add smime file [password ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8324","category":"Users","subcategory":"Gmail - S/MIME","name":"Update smime","raw_syntax":"gam update smime default","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8326","category":"Users","subcategory":"Gmail - S/MIME","name":"Delete smime","raw_syntax":"gam delete smime","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8328","category":"Users","subcategory":"Gmail - S/MIME","name":"Show smimes","raw_syntax":"gam show smimes","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8330","category":"Users","subcategory":"Gmail - S/MIME","name":"Print smimes","raw_syntax":"gam print smimes [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8335","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Create cseidentity","raw_syntax":"gam create cseidentity","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8339","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Update cseidentity","raw_syntax":"gam update cseidentity","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8343","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Delete cseidentity","raw_syntax":"gam delete cseidentity [kpemail ]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8345","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Info cseidentity","raw_syntax":"gam info cseidentity [kpemail ]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8347","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Show cseidentities","raw_syntax":"gam show cseidentities","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8349","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Print cseidentities","raw_syntax":"gam print cseidentities [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8352","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Create csekeypair","raw_syntax":"gam create csekeypair","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8356","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Disable csekeypair","raw_syntax":"gam disable csekeypair ","verb":"disable","risk":1,"uncertain":false,"description":""},{"id":"raw.8358","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Enable csekeypair","raw_syntax":"gam enable csekeypair ","verb":"enable","risk":1,"uncertain":false,"description":""},{"id":"raw.8360","category":"Users","subcategory":"Gmail Client Side Encryption","name":" obliterate","raw_syntax":"gam obliterate csekeypair ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8362","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Info csekeypair","raw_syntax":"gam info csekeypair ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8364","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Show csekeypairs","raw_syntax":"gam show csekeypairs","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8366","category":"Users","subcategory":"Gmail Client Side Encryption","name":"Print csekeypairs","raw_syntax":"gam print csekeypairs [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8371","category":"Users","subcategory":"Gmail - Settings","name":"","raw_syntax":"gam imap|imap4 ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8374","category":"Users","subcategory":"Gmail - Settings","name":"Show","raw_syntax":"gam show imap|imap4","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8375","category":"Users","subcategory":"Gmail - Settings","name":"Print","raw_syntax":"gam print imap|imap4 [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8377","category":"Users","subcategory":"Gmail - Settings","name":"","raw_syntax":"gam pop|pop3 ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8380","category":"Users","subcategory":"Gmail - Settings","name":"Show","raw_syntax":"gam show pop|pop3","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8381","category":"Users","subcategory":"Gmail - Settings","name":"Print","raw_syntax":"gam print pop|pop3 [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8383","category":"Users","subcategory":"Gmail - Settings","name":" language","raw_syntax":"gam language ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8384","category":"Users","subcategory":"Gmail - Settings","name":"Show language","raw_syntax":"gam show language","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8385","category":"Users","subcategory":"Gmail - Settings","name":"Print language","raw_syntax":"gam print language [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8389","category":"Users","subcategory":"Groups","name":"Add","raw_syntax":"gam add group|groups","verb":"add","risk":1,"uncertain":false,"description":""},{"id":"raw.8391","category":"Users","subcategory":"Groups","name":"Delete","raw_syntax":"gam delete group|groups","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8394","category":"Users","subcategory":"Groups","name":"Update","raw_syntax":"gam update group|groups","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8397","category":"Users","subcategory":"Groups","name":"Sync","raw_syntax":"gam sync group|groups","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.8400","category":"Users","subcategory":"Groups","name":" check","raw_syntax":"gam check group|groups","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8402","category":"Users","subcategory":"Groups","name":"Print groups","raw_syntax":"gam print groups [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8405","category":"Users","subcategory":"Groups","name":"Show groups","raw_syntax":"gam show groups","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8408","category":"Users","subcategory":"Groups","name":"Print grouptree","raw_syntax":"gam print grouptree [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8413","category":"Users","subcategory":"Groups","name":"Show grouptree","raw_syntax":"gam show grouptree","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8417","category":"Users","subcategory":"Groups","name":"Print groupslist","raw_syntax":"gam print groupslist [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8423","category":"Users","subcategory":"Invitations","name":"Send userinvitation","raw_syntax":"gam send userinvitation ","verb":"send","risk":1,"uncertain":false,"description":""},{"id":"raw.8424","category":"Users","subcategory":"Invitations","name":"Cancel userinvitation","raw_syntax":"gam cancel userinvitation ","verb":"cancel","risk":1,"uncertain":false,"description":""},{"id":"raw.8425","category":"Users","subcategory":"Invitations","name":"Info userinvitation","raw_syntax":"gam info userinvitation [formatjson]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8426","category":"Users","subcategory":"Invitations","name":"Show userinvitations","raw_syntax":"gam show userinvitations","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8430","category":"Users","subcategory":"Invitations","name":"Print userinvitations","raw_syntax":"gam print userinvitations [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8434","category":"Users","subcategory":"Invitations","name":"Check","raw_syntax":"gam check isinvitable|userinvitation ","verb":"check","risk":1,"uncertain":true,"description":""},{"id":"raw.8435","category":"Users","subcategory":"Invitations","name":" check","raw_syntax":"gam check isinvitable [todrive *]","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8446","category":"Users","subcategory":"Keep Notes","name":"Create note","raw_syntax":"gam create note [title ]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8452","category":"Users","subcategory":"Keep Notes","name":"Delete note","raw_syntax":"gam delete note ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8466","category":"Users","subcategory":"Keep Notes","name":"Info note","raw_syntax":"gam info note ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8470","category":"Users","subcategory":"Keep Notes","name":"Show notes","raw_syntax":"gam show notes","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8475","category":"Users","subcategory":"Keep Notes","name":"Print notes","raw_syntax":"gam print notes [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8481","category":"Users","subcategory":"Keep Notes","name":"Get noteattachments","raw_syntax":"gam get noteattachments ","verb":"get","risk":0,"uncertain":false,"description":""},{"id":"raw.8485","category":"Users","subcategory":"Keep Notes","name":"Create noteacl","raw_syntax":"gam create noteacl ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8489","category":"Users","subcategory":"Keep Notes","name":"Delete noteacl","raw_syntax":"gam delete noteacl ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8495","category":"Users","subcategory":"Licenses","name":"Create license","raw_syntax":"gam create|add license [product|productid ] [preview] [actioncsv]","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8496","category":"Users","subcategory":"Licenses","name":"Update license","raw_syntax":"gam update license [product|productid ] [from] ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8498","category":"Users","subcategory":"Licenses","name":"Delete license","raw_syntax":"gam delete license [product|productid ] [preview] [actioncsv]","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8499","category":"Users","subcategory":"Licenses","name":"Sync license","raw_syntax":"gam sync license [product|productid ] [addonly|removeonly] [allskus|onesku] [preview] [actioncsv]","verb":"sync","risk":1,"uncertain":false,"description":""},{"id":"raw.8517","category":"Users","subcategory":"Meet","name":"Create meetspace","raw_syntax":"gam create meetspace","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8521","category":"Users","subcategory":"Meet","name":"Update meetspace","raw_syntax":"gam update meetspace ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8525","category":"Users","subcategory":"Meet","name":"Info meetspace","raw_syntax":"gam info meetspace ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8528","category":"Users","subcategory":"Meet","name":" end","raw_syntax":"gam end meetconference ","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8530","category":"Users","subcategory":"Meet","name":"Show meetconferences","raw_syntax":"gam show meetconferences","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8534","category":"Users","subcategory":"Meet","name":"Print meetconferences","raw_syntax":"gam print meetconferences [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8538","category":"Users","subcategory":"Meet","name":"Show meetparticipants","raw_syntax":"gam show meetparticipants ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8541","category":"Users","subcategory":"Meet","name":"Print meetparticipants","raw_syntax":"gam print meetparticipants [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8545","category":"Users","subcategory":"Meet","name":"Show meetrecordings","raw_syntax":"gam show meetrecordings ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8547","category":"Users","subcategory":"Meet","name":"Print meetrecordings","raw_syntax":"gam print meetrecordings [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8550","category":"Users","subcategory":"Meet","name":"Show meettranscripts","raw_syntax":"gam show meettranscripts ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8552","category":"Users","subcategory":"Meet","name":"Print meettranscripts","raw_syntax":"gam print meettranscripts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8611","category":"Users","subcategory":"Contacts and Profiles","name":"Create contact","raw_syntax":"gam create contact","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8615","category":"Users","subcategory":"Contacts and Profiles","name":"Update contacts","raw_syntax":"gam update contacts","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8619","category":"Users","subcategory":"Contacts and Profiles","name":"Delete contacts","raw_syntax":"gam delete contacts","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8622","category":"Users","subcategory":"Contacts and Profiles","name":"Clear contacts","raw_syntax":"gam clear contacts","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.8627","category":"Users","subcategory":"Contacts and Profiles","name":" dedup","raw_syntax":"gam dedup contacts","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8631","category":"Users","subcategory":"Contacts and Profiles","name":" replacedomain","raw_syntax":"gam replacedomain contacts","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8635","category":"Users","subcategory":"Contacts and Profiles","name":"Update contactphotos","raw_syntax":"gam update contactphotos","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8638","category":"Users","subcategory":"Contacts and Profiles","name":"Get contactphotos","raw_syntax":"gam get contactphotos","verb":"get","risk":0,"uncertain":false,"description":""},{"id":"raw.8641","category":"Users","subcategory":"Contacts and Profiles","name":"Delete contactphotos","raw_syntax":"gam delete contactphotos","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8644","category":"Users","subcategory":"Contacts and Profiles","name":"Info contacts","raw_syntax":"gam info contacts","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8654","category":"Users","subcategory":"Contacts and Profiles","name":"Show contacts","raw_syntax":"gam show contacts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8659","category":"Users","subcategory":"Contacts and Profiles","name":"Print contacts","raw_syntax":"gam print contacts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8677","category":"Users","subcategory":"Contacts and Profiles","name":"Copy othercontacts","raw_syntax":"gam copy othercontacts","verb":"copy","risk":1,"uncertain":false,"description":""},{"id":"raw.8679","category":"Users","subcategory":"Contacts and Profiles","name":"Move othercontacts","raw_syntax":"gam move othercontacts","verb":"move","risk":1,"uncertain":false,"description":""},{"id":"raw.8681","category":"Users","subcategory":"Contacts and Profiles","name":"Update othercontacts","raw_syntax":"gam update othercontacts","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8685","category":"Users","subcategory":"Contacts and Profiles","name":"Delete othercontacts","raw_syntax":"gam delete othercontacts","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8688","category":"Users","subcategory":"Contacts and Profiles","name":"Show othercontacts","raw_syntax":"gam show othercontacts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8692","category":"Users","subcategory":"Contacts and Profiles","name":"Print othercontacts","raw_syntax":"gam print othercontacts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8710","category":"Users","subcategory":"Contacts and Profiles","name":"Create contactgroup","raw_syntax":"gam create contactgroup +","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8712","category":"Users","subcategory":"Contacts and Profiles","name":"Update contactgroup","raw_syntax":"gam update contactgroup +","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8713","category":"Users","subcategory":"Contacts and Profiles","name":"Delete contactgroups","raw_syntax":"gam delete contactgroups ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8715","category":"Users","subcategory":"Contacts and Profiles","name":"Info contactgroups","raw_syntax":"gam info contactgroups ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8718","category":"Users","subcategory":"Contacts and Profiles","name":"Show contactgroups","raw_syntax":"gam show contactgroups","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8721","category":"Users","subcategory":"Contacts and Profiles","name":"Print contactgroups","raw_syntax":"gam print contactgroups [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8764","category":"Users","subcategory":"Contacts and Profiles","name":"Show peopleprofile","raw_syntax":"gam show peopleprofile","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8768","category":"Users","subcategory":"Contacts and Profiles","name":"Print peopleprofile","raw_syntax":"gam print peopleprofile [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8775","category":"Users","subcategory":"Photo","name":"Update photo","raw_syntax":"gam update photo","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8779","category":"Users","subcategory":"Photo","name":"Delete photo","raw_syntax":"gam delete photo","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8780","category":"Users","subcategory":"Photo","name":"Get photo","raw_syntax":"gam get photo [drivedir|(targetfolder )] [filename ]","verb":"get","risk":0,"uncertain":false,"description":""},{"id":"raw.8782","category":"Users","subcategory":"Photo","name":"Get profilephoto","raw_syntax":"gam get profilephoto [drivedir|(targetfolder )] [filename ]","verb":"get","risk":0,"uncertain":false,"description":""},{"id":"raw.8787","category":"Users","subcategory":"Profile","name":" profile","raw_syntax":"gam profile share|shared|unshare|unshared","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.8789","category":"Users","subcategory":"Profile","name":"Show profile","raw_syntax":"gam show profile","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8817","category":"Users","subcategory":"Tag Manager","name":"Show tagmanageraccounts","raw_syntax":"gam show tagmanageraccounts","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8820","category":"Users","subcategory":"Tag Manager","name":"Print tagmanagerccounts","raw_syntax":"gam print tagmanagerccounts [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8824","category":"Users","subcategory":"Tag Manager","name":"Show tagmanagercontainers","raw_syntax":"gam show tagmanagercontainers ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8826","category":"Users","subcategory":"Tag Manager","name":"Print tagmanagercontainers","raw_syntax":"gam print tagmanagercontainers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8829","category":"Users","subcategory":"Tag Manager","name":"Show tagmanagerworkspaces","raw_syntax":"gam show tagmanagerworkspaces ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8831","category":"Users","subcategory":"Tag Manager","name":"Print tagmanagerworkspaces","raw_syntax":"gam print tagmanagerworkspaces [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8834","category":"Users","subcategory":"Tag Manager","name":"Show tagmanagertags","raw_syntax":"gam show tagmanagertags ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8836","category":"Users","subcategory":"Tag Manager","name":"Print tagmanagertags","raw_syntax":"gam print tagmanagertags [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8839","category":"Users","subcategory":"Tag Manager","name":"Show tagmanagerpermissions","raw_syntax":"gam show tagmanagerpermissions ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8841","category":"Users","subcategory":"Tag Manager","name":"Print tagmanagerpermissions","raw_syntax":"gam print tagmanagerpermissions [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8852","category":"Users","subcategory":"Tasks","name":"Create task","raw_syntax":"gam create task ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8855","category":"Users","subcategory":"Tasks","name":"Update task","raw_syntax":"gam update task ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8858","category":"Users","subcategory":"Tasks","name":"Delete task","raw_syntax":"gam delete task ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8859","category":"Users","subcategory":"Tasks","name":"Move task","raw_syntax":"gam move task ","verb":"move","risk":1,"uncertain":false,"description":""},{"id":"raw.8863","category":"Users","subcategory":"Tasks","name":"Info task","raw_syntax":"gam info task ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8865","category":"Users","subcategory":"Tasks","name":"Show tasks","raw_syntax":"gam show tasks [tasklists ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8872","category":"Users","subcategory":"Tasks","name":"Print tasks","raw_syntax":"gam print tasks [tasklists ] [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8883","category":"Users","subcategory":"Tasks","name":"Create tasklist","raw_syntax":"gam create tasklist","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8886","category":"Users","subcategory":"Tasks","name":"Update tasklist","raw_syntax":"gam update tasklist ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8889","category":"Users","subcategory":"Tasks","name":"Delete tasklist","raw_syntax":"gam delete tasklist ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8890","category":"Users","subcategory":"Tasks","name":"Clear tasklist","raw_syntax":"gam clear tasklist ","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.8892","category":"Users","subcategory":"Tasks","name":"Info tasklist","raw_syntax":"gam info tasklist ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8894","category":"Users","subcategory":"Tasks","name":"Show tasklists","raw_syntax":"gam show tasklists","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8896","category":"Users","subcategory":"Tasks","name":"Print tasklists","raw_syntax":"gam print tasklists [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8919","category":"Users","subcategory":"Shared Drives","name":"Show shareddrivethemes","raw_syntax":"gam show shareddrivethemes","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8920","category":"Users","subcategory":"Shared Drives","name":"Create shareddrive","raw_syntax":"gam create shareddrive ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.8926","category":"Users","subcategory":"Shared Drives","name":"Update shareddrive","raw_syntax":"gam update shareddrive [name ]","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.8930","category":"Users","subcategory":"Shared Drives","name":"Delete shareddrive","raw_syntax":"gam delete shareddrive ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.8932","category":"Users","subcategory":"Shared Drives","name":"Hide shareddrive","raw_syntax":"gam hide shareddrive ","verb":"hide","risk":1,"uncertain":false,"description":""},{"id":"raw.8933","category":"Users","subcategory":"Shared Drives","name":"Unhide shareddrive","raw_syntax":"gam unhide shareddrive ","verb":"unhide","risk":1,"uncertain":false,"description":""},{"id":"raw.8934","category":"Users","subcategory":"Shared Drives","name":"Info shareddrive","raw_syntax":"gam info shareddrive [fields ]","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.8936","category":"Users","subcategory":"Shared Drives","name":"Show shareddriveinfo","raw_syntax":"gam show shareddriveinfo [fields ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8938","category":"Users","subcategory":"Shared Drives","name":"Print shareddrives","raw_syntax":"gam print shareddrives [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8944","category":"Users","subcategory":"Shared Drives","name":"Show shareddrives","raw_syntax":"gam show shareddrives","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.8951","category":"Users","subcategory":"Shared Drives","name":"Print shareddriveorganizers","raw_syntax":"gam print shareddriveorganizers [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.8966","category":"Users","subcategory":"Force Signout and Turn Off 2-Step Verification","name":"Signout","raw_syntax":"gam signout","verb":"signout","risk":1,"uncertain":false,"description":""},{"id":"raw.8967","category":"Users","subcategory":"Force Signout and Turn Off 2-Step Verification","name":" turnoff2sv","raw_syntax":"gam turnoff2sv","verb":"","risk":1,"uncertain":true,"description":""},{"id":"raw.9018","category":"Users","subcategory":"Spreadsheets","name":"Create sheet","raw_syntax":"gam create|add sheet","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.9023","category":"Users","subcategory":"Spreadsheets","name":"Update sheet","raw_syntax":"gam update sheet ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.9027","category":"Users","subcategory":"Spreadsheets","name":"Info sheet","raw_syntax":"gam info|show sheet ","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.9032","category":"Users","subcategory":"Spreadsheets","name":"Print sheet","raw_syntax":"gam print sheet [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.9042","category":"Users","subcategory":"Spreadsheets","name":"Append sheetrange","raw_syntax":"gam append sheetrange ","verb":"append","risk":1,"uncertain":false,"description":""},{"id":"raw.9049","category":"Users","subcategory":"Spreadsheets","name":"Update sheetrange","raw_syntax":"gam update sheetrange ","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.9056","category":"Users","subcategory":"Spreadsheets","name":"Clear sheetrange","raw_syntax":"gam clear sheetrange ","verb":"clear","risk":1,"uncertain":false,"description":""},{"id":"raw.9060","category":"Users","subcategory":"Spreadsheets","name":"Print sheetrange","raw_syntax":"gam print sheetrange [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.9064","category":"Users","subcategory":"Spreadsheets","name":"Show sheetrange","raw_syntax":"gam show sheetrange ","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.9071","category":"Users","subcategory":"Tokens","name":"Delete tokens","raw_syntax":"gam delete tokens clientid ","verb":"delete","risk":2,"uncertain":false,"description":""},{"id":"raw.9073","category":"Users","subcategory":"Tokens","name":"Info gcporgid","raw_syntax":"gam info gcporgid","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.9075","category":"Users","subcategory":"Tokens","name":"Print","raw_syntax":"gam print tokens|token [todrive *] [clientid ]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.9078","category":"Users","subcategory":"Tokens","name":"Show","raw_syntax":"gam show tokens|token|3lo|oauth [clientid ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.9081","category":"Users","subcategory":"Tokens","name":"Print","raw_syntax":"gam print tokens|token [todrive *] [clientid ]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.9085","category":"Users","subcategory":"Tokens","name":"Show","raw_syntax":"gam show tokens|token [clientid ]","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.9107","category":"Users","subcategory":"YouTube","name":"Show youtubechannels","raw_syntax":"gam show youtubechannels","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.9115","category":"Users","subcategory":"YouTube","name":"Print youtubechannels","raw_syntax":"gam print youtubechannels [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.9126","category":"Verifications","subcategory":"","name":"Create","raw_syntax":"gam create|add verify|verification ","verb":"create","risk":1,"uncertain":false,"description":""},{"id":"raw.9127","category":"Verifications","subcategory":"","name":"Update","raw_syntax":"gam update verify|verification cname|txt|text|site|file","verb":"update","risk":1,"uncertain":false,"description":""},{"id":"raw.9128","category":"Verifications","subcategory":"","name":"Info","raw_syntax":"gam info verify|verification","verb":"info","risk":0,"uncertain":false,"description":""},{"id":"raw.9132","category":"Web Resourses and Sites","subcategory":"","name":"Show webresources","raw_syntax":"gam show webresources","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.9133","category":"Web Resourses and Sites","subcategory":"","name":"Print webresources","raw_syntax":"gam print webresources [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""},{"id":"raw.9134","category":"Web Resourses and Sites","subcategory":"","name":"Show webmastersites","raw_syntax":"gam show webmastersites","verb":"show","risk":0,"uncertain":false,"description":""},{"id":"raw.9135","category":"Web Resourses and Sites","subcategory":"","name":"Print webmastersites","raw_syntax":"gam print webmastersites [todrive *]","verb":"print","risk":0,"uncertain":false,"description":""}]} \ No newline at end of file diff --git a/scripts/fetch_gam.sh b/scripts/fetch_gam.sh index eae821c..05b5d88 100755 --- a/scripts/fetch_gam.sh +++ b/scripts/fetch_gam.sh @@ -13,7 +13,7 @@ REPO="GAM-team/GAM" ROOT="$(cd "$(dirname "$0")/.." && pwd)" DEST="$ROOT/gamgui/resources/gam7" # Pinned for reproducible builds. Override with `--tag latest` to grab the newest release. -TAG="v7.48.22" +TAG="v7.48.26" # Installing an asset we have no pinned hash for is opt-in: see the checksum gate below. ALLOW_UNPINNED=0 diff --git a/scripts/gam_checksums.txt b/scripts/gam_checksums.txt index 861291a..d71c1c2 100644 --- a/scripts/gam_checksums.txt +++ b/scripts/gam_checksums.txt @@ -3,4 +3,4 @@ # install on mismatch (catches a tampered / MITM'd / unexpected binary). Tracked in git so the pin # is reviewable. Update DELIBERATELY when bumping EXPECTED_GAM_VERSION (record the new asset's hash). # Format: -c4b320217cd08e94b37041888c8c9272d4f89870d97dfffd779a498aa6473ec8 gam-7.48.22-macos26.6-arm64.tar.xz +e51831498b0a520d324434813357468a39855f374d5821a659715a07469aa6af gam-7.48.26-macos26.6-arm64.tar.xz diff --git a/tests/fixtures/mock_gam.sh b/tests/fixtures/mock_gam.sh index 47beff1..4681d52 100755 --- a/tests/fixtures/mock_gam.sh +++ b/tests/fixtures/mock_gam.sh @@ -144,7 +144,7 @@ acl_notify_tail() { case "${1:-}" in version) - echo "GAM 7.48.22 - mock" + echo "GAM 7.48.26 - mock" exit 0 ;; esac From 2e03223fe7ba985cf59908570597e12bd856c5c2 Mon Sep 17 00:00:00 2001 From: goetchstone Date: Tue, 13 Oct 2026 06:12:50 -0400 Subject: [PATCH 2/2] ci: read GAM's exit codes with the build's own Python GAM 7.48.26 is frozen with Python 3.15, whose bytecode the 3.14 suite can't load, and the dev lock has no 3.15 wheels yet. The table reader moves to a stdlib-only script; gam-compat and gam-watch run it under the build's Python (set up off PATH) and pass the JSON, stamped with the binary's SHA-256, to the suite via GAM_RC_TABLE. Also: 7.48.26's libpython targets macOS 26.6. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/ci.yml | 26 +++++++- .github/workflows/gam-watch.yml | 31 ++++++++- docs/domains/build-packaging.md | 7 +- scripts/gam_rc_table.py | 114 ++++++++++++++++++++++++++++++++ tests/test_gam_exit_codes.py | 98 +++++++++++++-------------- tests/test_props_parsing.py | 2 +- 6 files changed, 222 insertions(+), 56 deletions(-) create mode 100644 scripts/gam_rc_table.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cdc943d..0d70aff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: "3.14" # the vendored gam's own Python: test_gam_exit_codes unmarshals its bytecode + python-version: "3.14" # the suite's; the build's own Python reads its exit codes below - name: Install (hash-locked, wheels only) run: | python -m pip install --require-hashes --only-binary :all: -r requirements/dev.txt @@ -110,16 +110,36 @@ jobs: PY - name: Restore the committed command catalog (fetch_gam.sh replaces resources/gam7 wholesale) run: git checkout -- gamgui/resources/gam7/command_catalog.json + # The build's *_RC table is marshalled bytecode, which loads only in the Python that froze it (3.15 + # for 7.48.26, ahead of the dev lock's wheels). So that Python, set up beside the suite's and left + # off PATH, reads it with the stdlib-only script, and the suite gets the table as JSON. + - name: Which Python froze the vendored gam + id: buildpy + run: | + version=$(python -I scripts/gam_rc_table.py --python-version gamgui/resources/gam7/gam) + echo "version=$version" >> "$GITHUB_OUTPUT" + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + id: gampy + with: + python-version: ${{ steps.buildpy.outputs.version }} + allow-prereleases: true + update-environment: false + - name: Read the build's exit-code table with its own Python (stdlib only, nothing installed) + env: + GAM_PYTHON: ${{ steps.gampy.outputs.python-path }} + run: | + "$GAM_PYTHON" -I scripts/gam_rc_table.py gamgui/resources/gam7/gam > "$RUNNER_TEMP/gam_rc.json" - name: The whole suite against the REAL reference (the command contract, and every argv sent to the mock) run: pytest -q env: - # tests/test_gam_exit_codes.py reads the build's *_RC table here; a skip would hide that it didn't. + # tests/test_gam_exit_codes.py compares the build's *_RC table here; a skip would hide that it didn't. EXIT_CODES_REQUIRE_GAM: "1" + GAM_RC_TABLE: ${{ runner.temp }}/gam_rc.json app: # Freezes the .app exactly as `make app` does, so a spec, lock or signing change that breaks the # bundle fails here rather than at the next local build. The runner has no signing identity, so - # build_app.sh signs ad-hoc (hardened runtime). The pinned gam's libpython needs macOS >= 26.5. + # build_app.sh signs ad-hoc (hardened runtime). The pinned gam's libpython needs macOS >= 26.6. name: app (build + smoke check) runs-on: macos-latest timeout-minutes: 20 diff --git a/.github/workflows/gam-watch.yml b/.github/workflows/gam-watch.yml index c4a266d..947cfb1 100644 --- a/.github/workflows/gam-watch.yml +++ b/.github/workflows/gam-watch.yml @@ -85,11 +85,40 @@ jobs: # Never expand an expression inside run: — pass it through env so the shell sees data. run: python scripts/bump_gam.py "v$LATEST" + # The new build's *_RC table loads only in the Python that froze it (see ci.yml's gam-compat). A + # failure here leaves no table, so the suite below goes red and the PR still opens, flagged. + - name: Which Python froze the new gam + if: steps.check.outputs.todo == 'true' + id: buildpy + continue-on-error: true + run: | + version=$(python -I scripts/gam_rc_table.py --python-version gamgui/resources/gam7/gam) + echo "version=$version" >> "$GITHUB_OUTPUT" + + - name: Set up the build's own Python (off PATH; the suite stays on 3.14) + if: steps.check.outputs.todo == 'true' + id: gampy + continue-on-error: true + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + with: + python-version: ${{ steps.buildpy.outputs.version }} + allow-prereleases: true + update-environment: false + + - name: Read the new build's exit-code table with its own Python (stdlib only) + if: steps.check.outputs.todo == 'true' + continue-on-error: true + env: + GAM_PYTHON: ${{ steps.gampy.outputs.python-path }} + run: | + "$GAM_PYTHON" -I scripts/gam_rc_table.py gamgui/resources/gam7/gam > "$RUNNER_TEMP/gam_rc.json" + - name: Run the suite (drift guards included) if: steps.check.outputs.todo == 'true' id: tests env: - EXIT_CODES_REQUIRE_GAM: "1" # the new build's *_RC table must be read, not skipped + EXIT_CODES_REQUIRE_GAM: "1" # the new build's *_RC table must be compared, not skipped + GAM_RC_TABLE: ${{ runner.temp }}/gam_rc.json run: | set +e python -m pytest -q > /tmp/pytest.log 2>&1 diff --git a/docs/domains/build-packaging.md b/docs/domains/build-packaging.md index 82bcab2..5ecffdf 100644 --- a/docs/domains/build-packaging.md +++ b/docs/domains/build-packaging.md @@ -3,7 +3,7 @@ **One line:** Vendors the GAM7 binary (checksum-pinned), hash-locks the Python dependencies, regenerates the browse catalog, precompiles the UI's Tailwind CSS with a checksum-pinned CLI, and builds the codesigned macOS `.app` — plus the drift guards that fail CI when any pin/count goes stale. **Owns invariant(s):** #7 (the vendored GAM pin fails closed — an asset with no committed SHA-256 is refused, `--allow-unpinned` is CI-preview only). Also owns the three drift guards named in CLAUDE.md. -**Enforcement home:** `tests/test_workflow_safety.py` (no expression inside a `run:` script; every action pinned by commit SHA; CI keeps the coverage gate; CI builds the `.app` from the pinned GAM and runs `check_app.py` on it; every job that vendors GAM and runs the suite, `gam-compat` and gam-watch's `prepare`, sets `EXIT_CODES_REQUIRE_GAM`), `tests/test_build_css.py` (the Tailwind CLI's fail-closed pin, hermetic; every mapped platform pinned; the committed `app.css` carries the pinned version's banner and, where the CLI is cached, is what it builds; CI's lint job runs the check; `build_app.sh` rebuilds the CSS before freezing), `tests/test_fetch_gam.py` (the fail-closed gate, hermetic; also `test_ci_only_grants_the_opt_in_to_the_preview_job` and `test_pywebview_is_pinned`), `tests/test_locks.py` (the locks match pyproject, cover every input, stay universal and hashed; CI and `build_app.sh` install nothing else; Dependabot uses the uv ecosystem), `tests/test_command_contract.py` (`test_required_command_tokens_present`, `test_catalog_matches_grammar`, `test_pinned_version_consistent`), `tests/test_gam_exit_codes.py` (every `*_RC` the app names equals the vendored build's, read from its PyInstaller archive with the stdlib (no PyInstaller import, so it runs wherever GAM is vendored); skips without the binary or on a Python that can't load the build's bytecode, except where `EXIT_CODES_REQUIRE_GAM=1` makes either a failure), `tests/test_bump_gam.py` (bump edits still match their targets), `tests/test_build_signing.py` (hardened runtime on every signature, the sign order, minimal entitlements, `gam.entitlements` == the vendored binary's, `check_app.py`'s module list and pin regex still match the source), `scripts/check_app.py` (CI's `app` job: the built bundle itself), `tests/test_polish.py` (the stated counts/pin/floor stay true — `test_docs_state_the_real_catalog_counts` for CLAUDE.md, README and ROADMAP, `test_claude_md_states_the_current_gam_pin_and_python_floor`). +**Enforcement home:** `tests/test_workflow_safety.py` (no expression inside a `run:` script; every action pinned by commit SHA; CI keeps the coverage gate; CI builds the `.app` from the pinned GAM and runs `check_app.py` on it; every job that vendors GAM and runs the suite, `gam-compat` and gam-watch's `prepare`, sets `EXIT_CODES_REQUIRE_GAM`), `tests/test_build_css.py` (the Tailwind CLI's fail-closed pin, hermetic; every mapped platform pinned; the committed `app.css` carries the pinned version's banner and, where the CLI is cached, is what it builds; CI's lint job runs the check; `build_app.sh` rebuilds the CSS before freezing), `tests/test_fetch_gam.py` (the fail-closed gate, hermetic; also `test_ci_only_grants_the_opt_in_to_the_preview_job` and `test_pywebview_is_pinned`), `tests/test_locks.py` (the locks match pyproject, cover every input, stay universal and hashed; CI and `build_app.sh` install nothing else; Dependabot uses the uv ecosystem), `tests/test_command_contract.py` (`test_required_command_tokens_present`, `test_catalog_matches_grammar`, `test_pinned_version_consistent`), `tests/test_gam_exit_codes.py` (every `*_RC` the app names, and the mock's credential-failure exits, equal the vendored build's, read from its PyInstaller archive by the stdlib-only `scripts/gam_rc_table.py` (no PyInstaller import, so it runs wherever GAM is vendored); the table comes from `GAM_RC_TABLE` (JSON the build's own Python wrote, checked against the binary's SHA-256) or from this Python when it can load the build's bytecode; skips without the binary or a readable table, except where `EXIT_CODES_REQUIRE_GAM=1` makes either a failure), `tests/test_bump_gam.py` (bump edits still match their targets), `tests/test_build_signing.py` (hardened runtime on every signature, the sign order, minimal entitlements, `gam.entitlements` == the vendored binary's, `check_app.py`'s module list and pin regex still match the source), `scripts/check_app.py` (CI's `app` job: the built bundle itself), `tests/test_polish.py` (the stated counts/pin/floor stay true — `test_docs_state_the_real_catalog_counts` for CLAUDE.md, README and ROADMAP, `test_claude_md_states_the_current_gam_pin_and_python_floor`). ## Files - `Makefile` — `venv` (auto-picks newest `python3.1x` ≥3.10; system 3.9 is refused), `setup` (`venv`, then the locked pip from `requirements/pip.txt`, then `dev.txt` + `app.txt` in one `--require-hashes --build-constraint requirements/app.txt` resolve, then the project with `--no-deps --no-build-isolation -e .`), `setup-latest` (`venv`, then pyproject's flexible ranges, unhashed — the only target that installs them), `gam`→`fetch_gam.sh`, `css`→`build_css.sh`, `test`, `cov`→the suite under `--cov` with the `fail_under` floor in `[tool.coverage.report]` (what CI's macOS 3.14 leg runs), `lock`→`uv pip compile` of both locks (`ARGS=--upgrade` refreshes every pin), `lint`→`ruff check .`, `mypy`, then `build_css.sh --check` (the same checks as CI's `lint` job; rule set, `[tool.mypy]` and the exact ruff/mypy pins in `pyproject.toml` — bug-catching rules only, plus bandit's `S` set and a banned `asyncio.create_subprocess_shell` (TID251), which together guard invariant 1 (every other hit is a `noqa` with its reason); ruff's formatter deliberately not adopted; mypy covers `gamgui/core` + `gamgui/web` at `check_untyped_defs`, checked as `platform = darwin` / py3.10 even on CI's Linux runner, with only the optional `abapit` import exempt from stubs), `run`, `app`→`build_app.sh`. @@ -13,6 +13,7 @@ - `scripts/bump_gam.py` — the whole "Updating GAM" runbook as one command: attest → pin → vendor → bump version strings + mock → regen catalog → refresh the counts in CLAUDE.md, README and ROADMAP. Opens a PR in CI. - `scripts/build_command_catalog.py` — parses `GamCommands.txt` via `parse_grammar` → writes `command_catalog.json` stamped with `EXPECTED_GAM_VERSION`. - `scripts/build_app.sh` — PyInstaller build of `dist/GamGUI.app`; auto-vendors GAM if missing; rebuilds `app.css` (`build_css.sh`) so the bundle's CSS matches its templates; creates a fresh `build/venv` from `$PYTHON` (default `.venv/bin/python`, the interpreter it freezes), installs the locked pip (`requirements/pip.txt`) and then only `requirements/app.txt` into it with `--require-hashes`, the same file as `--build-constraint`; picks the stable "GamGUI Local" identity (else ad-hoc) and hands off to `sign_app.sh`. +- `scripts/gam_rc_table.py` — prints the vendored `gam`'s `*_RC` table as JSON (with the binary's SHA-256), stdlib only so it runs `-I` under the build's own Python with nothing installed; `--python-version` reads which Python froze the build from the archive cookie, under any Python. On another Python the table read exits 1, never guesses. CI's `gam-compat` and gam-watch's `prepare` run it and pass the JSON to the suite as `GAM_RC_TABLE`. - `scripts/check_app.py` — smoke-checks a built bundle without launching it; run with the build venv's Python (`build/venv/bin/python scripts/check_app.py dist/GamGUI.app`, it needs that venv's PyInstaller). Checks: `CFBundleExecutable` exists and is executable; `codesign --verify --deep --strict`; the hardened-runtime flag on the app and on `gam`; the entry script and, via `CArchiveReader(...).open_embedded_archive()`, every `gamgui` source module (bar `NOT_FROZEN`) plus the modules loaded by name at runtime (`DYNAMIC`: uvicorn's loop/protocol/lifespan, `keyring.backends.macOS`, `webview.platforms.cocoa`, `python_multipart`, pyobjc); every template and static file, `GamCommands.txt` and a `command_catalog.json` stamped with the pin, all under `Contents/Frameworks` (the `.app`'s `sys._MEIPASS`); and the bundled `gam version` reporting `GAM `, run with a throwaway `HOME`/`GAMCFGDIR` and a bare `PATH`. - `scripts/sign_app.sh` — signs a built bundle with the hardened runtime: `--deep` app sign, then `gam` with its own entitlements, then a shallow reseal; `--verify --deep --strict`. Runs alone on a built `.app` (`scripts/sign_app.sh dist/GamGUI.app -`). - `scripts/app.entitlements` / `scripts/gam.entitlements` — the app gets `disable-library-validation` only; `gam` gets upstream GAM's own set (`allow-jit`, `allow-unsigned-executable-memory`, `disable-library-validation`). @@ -140,7 +141,7 @@ - **The catalog, the drift guards and the strict mock are the only GAM checks that run offline.** `mock_gam.sh` has a grammar-shaped handler per write and fails anything unhandled, but those handlers are hand-written and its outputs canned — it cannot prove GAM accepts a command. The real syntax source of truth is the vendored grammar `gamgui/resources/gam7/GamCommands.txt`; the grammar contract checks our argv's words and leading command words against it — not option order, and not a live run. - **A green `pytest` never proves a GAM write works** (CLAUDE.md invariant #2 / "the mock lies"). After a bump: skim `GamUpdate.txt` for breaking changes and run `scripts/acceptance.py` (read-only) against a real tenant — `bump_gam.py` deliberately omits both because they need judgment, not mechanism. - **`make gam` wipes `resources/gam7/` (`rm -rf $DEST`)**, including the generated `command_catalog.json` — always regenerate it (or `git checkout` it, at the pinned version), or `test_catalog_matches_grammar` goes red on a count mismatch. `build_app.sh`'s own auto-vendor path does the same, and would bundle no catalog (the app then falls back to a slower live parse with no version stamp); `check_app.py` fails such a bundle. -- **The pinned `gam` needs macOS ≥ 26.5 to start.** The `gam` executable targets macOS 11.0, but GAM 7.48.11's bundled `libpython3.14.dylib` and extension modules target 26.5 (`otool -l`, `minos`), and dyld refuses a library built for a newer macOS than the one running (not reproduced here — this Mac runs 26.6.2). `macos-latest` was macOS 26.6.2 (image 20260907) when the `app` job went in; the job's `gam version` step is what would say so if a runner or a GAM bump moved that line. `fetch_gam.sh`'s own closing `gam version` swallows failure, so `gam-compat` never noticed. +- **The pinned `gam` needs macOS ≥ 26.6 to start.** The `gam` executable targets macOS 11.0, but its bundled libpython and extension modules target the asset's macOS (`otool -l`, `minos`): 26.5 for 7.48.11's `libpython3.14.dylib`, 26.6 for 7.48.26's `libpython3.15.dylib` (asset `…-macos26.6-arm64`), and dyld refuses a library built for a newer macOS than the one running (not reproduced here — this Mac runs 26.6.2). `macos-latest` was macOS 26.6.2 (image 20260907) when the `app` job went in; the job's `gam version` step is what would say so if a runner or a GAM bump moved that line. `fetch_gam.sh`'s own closing `gam version` swallows failure, so `gam-compat` never noticed. - **macOS-only vendoring.** `fetch_gam.sh` uses BSD `find -perm +111`; `test_fetch_gam.py` only asserts a completed install on Darwin (it still checks the gate on Linux). System `/usr/bin/python3` (3.9) cannot install the venv. - **A package that ships only as source needs its build backend in the app lock.** `proxy-tools` (a pywebview dependency) has no wheel, so pip builds it; `--build-constraint requirements/app.txt` makes that build install the locked, hashed `setuptools`, and a build dependency missing from the lock fails the build (hash-checking mode) rather than downloading unchecked. `--build-constraint` needs pip ≥ 25.3 — an older one fails with "no such option", and the pip bundled with a python.org 3.12.10 is 25.0.1 (uv's 3.10: 23.0.1) — so `build_app.sh` and `make setup` first install the pip locked in `requirements/pip.txt` (any pip can: it is a hashed wheel, no build). Review 2 (R8, 2026-09-25) caught `make app` failing on 3.10–3.12 before that step existed; CI's `app` job builds only with 3.14. CI's dev lock has no source-only package, so CI uses `--only-binary :all:` instead and works with any pip. - **`make lock` keeps existing pins** — uv prefers what the `.txt` already holds; `make lock ARGS=--upgrade` (or `ARGS="--upgrade-package starlette"`) moves them. After editing a dependency, change pyproject **and** the `.in`, then `make lock`; `test_locks.py` fails on either half left behind. @@ -150,7 +151,7 @@ ## Testing / live-verification status - `tests/test_fetch_gam.py` — hermetic: copies the script into a throwaway root, drives it with a stub `curl` on PATH, real `.tar.xz`; never touches api.github.com or the real `resources/gam7`. Covers refuse-unpinned, opt-in install, matching pin, mismatch-always-refuses, unknown-flag, and static branch/CI assertions. - `tests/test_build_css.py` — hermetic like `test_fetch_gam.py` (a stub `curl` serving a fake CLI into a throwaway root): refuse-unpinned before any download, mismatch caches nothing, the pinned URL and cache path, `--check` on a stale file, a tampered cache discarded without being run, `--no-fetch` never downloads. Static: every platform the script maps is pinned, `app.css` carries the pinned version's banner, CI and `build_app.sh` run the script, the spec bundles `web/static`. The real CLI's output was checked by pixel and computed-style diff against the Play CDN build (see U14 above); a scratch PyInstaller build of `gamgui.spec` (the dev venv's PyInstaller, unsigned, outside `dist/`) held a byte-identical `app.css`, and CI's `check_app.py` checks every static file is in the bundle. -- `tests/test_gam_exit_codes.py` — reads the vendored `gam`'s CArchive cookie and TOC, then its PYZ's marshalled TOC and the zlib-compressed `gam` module, with `struct`/`zlib`/`marshal` only. CI installs only the dev lock, so the earlier PyInstaller import skipped it in every job; `requirements/app.txt` can't go in with CI's `--only-binary :all:` (`proxy-tools` is sdist-only), and adding PyInstaller to the dev lock would ship it to every job for ~20 lines of format. Checked once against PyInstaller 6.22.3's own reader on 7.48.14: the same code object and 67-entry table. Marshalled code loads only in the Python that wrote it, so the job's Python must match the build's (3.14 today); a mismatch fails `gam-compat` rather than skipping. +- `tests/test_gam_exit_codes.py` — reads the vendored `gam`'s CArchive cookie and TOC, then its PYZ's marshalled TOC and the zlib-compressed `gam` module, with `struct`/`zlib`/`marshal` only. CI installs only the dev lock, so the earlier PyInstaller import skipped it in every job; `requirements/app.txt` can't go in with CI's `--only-binary :all:` (`proxy-tools` is sdist-only), and adding PyInstaller to the dev lock would ship it to every job for ~20 lines of format. Checked once against PyInstaller 6.22.3's own reader on 7.48.14: the same code object and 67-entry table. Marshalled code loads only in the Python that wrote it, and GAM 7.48.26 moved its build to 3.15 while the dev lock's markupsafe, pydantic-core and atheris had no cp315 wheels, so the suite could not follow it. The reader is therefore `scripts/gam_rc_table.py`, stdlib only: `gam-compat` and gam-watch's `prepare` ask it which Python froze the build, set that Python up with `update-environment: false` (off PATH, so the suite stays on 3.14), run the script `-I` with it into `$RUNNER_TEMP/gam_rc.json`, and hand that to the suite as `GAM_RC_TABLE`; the test refuses a table whose SHA-256 is not the vendored binary's. In `gam-compat` a failed read fails the job; in `prepare` those steps `continue-on-error`, so the suite goes red and the PR still opens, flagged. Checked locally on 7.48.26 with uv's CPython 3.15.0rc2: 67 entries, every name the app uses equal, the mock's exits equal; under the venv's 3.14 the same tests skip with the version reason, and fail with `EXIT_CODES_REQUIRE_GAM=1` and no table. - `tests/test_bump_gam.py` — unit-tests the pure text transforms (`select_asset`, the regex rewrites) and the attestation argv so a future rename fails here instead of no-op'ing in CI. Network/subprocess orchestration is not covered. - `tests/test_command_contract.py` + `tests/test_polish.py` — the drift/consistency guards above. All run in the offline `pytest` suite; the whole suite re-runs in the `gam-compat` CI job (the committed catalog restored after the fetch), so the token/catalog tests and the end-of-session argv sweep (gam-runner runbook) run there against a freshly fetched real binary. - `tests/test_build_signing.py` — static: `sign_app.sh`'s runtime flag and sign order, `build_app.sh` signing only through it, the entitlement sets; on macOS with `gam` vendored, `gam.entitlements` against `codesign -d --entitlements` of the vendored binary (reads the signature, never runs `gam`). diff --git a/scripts/gam_rc_table.py b/scripts/gam_rc_table.py new file mode 100644 index 0000000..eaf8992 --- /dev/null +++ b/scripts/gam_rc_table.py @@ -0,0 +1,114 @@ +#!/usr/bin/env python3 +"""Read the vendored gam's exit-code table (its `NAME_RC = ` constants) with the stdlib alone. + + python -I scripts/gam_rc_table.py gamgui/resources/gam7/gam > gam_rc.json + python -I scripts/gam_rc_table.py --python-version gamgui/resources/gam7/gam # e.g. 3.15 + +GAM is a PyInstaller build, and the table lives in its marshalled bytecode, which loads only in the +Python that wrote it. That can be newer than the suite's (7.48.26 is 3.15's, and parts of the dev lock +have no 3.15 wheels yet), so CI sets up the build's own Python beside the suite's and runs this with +it: it imports nothing outside the stdlib, so it needs no install. The JSON names the binary's +SHA-256, and tests/test_gam_exit_codes.py reads it through GAM_RC_TABLE. `--python-version` reads the +build's version from the archive cookie and runs under any Python. On another Python the table read +exits 1: it never falls back to a guess. +""" + +from __future__ import annotations + +import argparse +import dis +import hashlib +import importlib.util +import json +import marshal +import struct +import sys +import zlib +from pathlib import Path + +# PyInstaller's CArchive, appended to the executable (PyInstaller/archive/readers.py): a trailing cookie +# (magic, archive length, TOC offset, TOC length, Python version, libpython name), and TOC entries +# (entry length, data offset, data length, uncompressed length, compressed flag, typecode, then the name). +_COOKIE_MAGIC = b"MEI\014\013\012\013\016" +_COOKIE = struct.Struct("!8sIIII64s") +_TOC_ENTRY = struct.Struct("!IIIIBc") + + +class WrongPython(Exception): + """The build's bytecode is another Python's, so marshal can't load it here.""" + + +def _cookie(blob: bytes): + at = blob.rfind(_COOKIE_MAGIC) + if at < 0: + raise ValueError("no PyInstaller archive cookie in the vendored gam") + return at, _COOKIE.unpack_from(blob, at) + + +def build_python(blob: bytes) -> str: + """The Python the build was frozen with, as "3.15" (the cookie stores 315).""" + pyvers = _cookie(blob)[1][4] + return f"{pyvers // 100}.{pyvers % 100}" + + +def gam_module_code(blob: bytes): + """The code object of the `gam` package, from the PYZ inside the executable's CArchive.""" + at, (_, length, toc_offset, toc_length, _, _) = _cookie(blob) + start = at + _COOKIE.size - length + pos, end, pyz = start + toc_offset, start + toc_offset + toc_length, None + while pos < end and pyz is None: + size, offset, *_, typecode = _TOC_ENTRY.unpack_from(blob, pos) + pyz = start + offset if typecode == b"z" else None + pos += size + # The PYZ (pyimod01_archive.py): magic, the bytecode's Python magic number, TOC offset, then entries + # of zlib-compressed marshalled code, and the TOC as a marshalled [(name, (typecode, offset, length))]. + if pyz is None or blob[pyz:pyz + 4] != b"PYZ\0": + raise ValueError("no PYZ archive in the vendored gam's CArchive") + if blob[pyz + 4:pyz + 8] != importlib.util.MAGIC_NUMBER: # marshalled code loads only in its own Python + raise WrongPython(f"the build's bytecode is Python {build_python(blob)}'s; " + f"run under that Python, not {sys.version_info[0]}.{sys.version_info[1]}") + (pyz_toc,) = struct.unpack_from("!i", blob, pyz + 8) + # The vendored binary is checksum-pinned and runs as the app's own subprocess: trusted, not input. + _, offset, size = dict(marshal.loads(blob[pyz + pyz_toc:]))["gam"] # noqa: S302 + return marshal.loads(zlib.decompress(blob[pyz + offset:pyz + offset + size])) # noqa: S302 + + +def rc_table(code) -> dict[str, int]: + """NAME_RC -> int for every module-level `NAME_RC = ` in the `gam` package.""" + table, prev = {}, None + for ins in dis.get_instructions(code): + if ins.opname == "EXTENDED_ARG": # pairing through it reads its argument, not the constant's + continue + if ins.opname == "STORE_NAME" and str(ins.argval).endswith("_RC") and isinstance(getattr(prev, "argval", None), int): + table[ins.argval] = prev.argval + prev = ins + if table.get("UNKNOWN_ERROR_RC") != 1 or len(set(table.values())) <= 10: + raise ValueError("the build's RC table did not parse") + return table + + +def read(gam: Path) -> dict: + blob = gam.read_bytes() + return {"sha256": hashlib.sha256(blob).hexdigest(), "python": build_python(blob), + "rc": rc_table(gam_module_code(blob))} + + +def main(argv: list[str] | None = None) -> int: + ap = argparse.ArgumentParser(description="Print the vendored gam's *_RC table as JSON.") + ap.add_argument("gam", type=Path, help="the vendored gam executable") + ap.add_argument("--python-version", action="store_true", + help="print only the build's Python version (e.g. 3.15); runs under any Python") + args = ap.parse_args(argv) + try: + if args.python_version: + print(build_python(args.gam.read_bytes())) + else: + print(json.dumps(read(args.gam), indent=1, sort_keys=True)) + except (OSError, ValueError, WrongPython) as e: + print(f"gam_rc_table: {e}", file=sys.stderr) + return 1 + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tests/test_gam_exit_codes.py b/tests/test_gam_exit_codes.py index d595140..e5e7458 100644 --- a/tests/test_gam_exit_codes.py +++ b/tests/test_gam_exit_codes.py @@ -5,22 +5,23 @@ agreed; the build exits SCOPES_NOT_AUTHORIZED_RC (10), and a rejected key OAUTH2SERVICE_JSON_REQUIRED_RC (16). So the codes come from the build's *_RC table, and the mock must exit with the same constants. -The table is read with the stdlib, not PyInstaller: CI's jobs install only the dev lock, so a PyInstaller -import skipped the check everywhere it mattered. Where GAM isn't vendored the build half skips; a job -that vendors it sets EXIT_CODES_REQUIRE_GAM, which turns that skip, or a build this Python can't read, -into a failure (tests/test_workflow_safety.py holds every such job to it). +The table is read with the stdlib, not PyInstaller (scripts/gam_rc_table.py): CI's jobs install only the +dev lock, so a PyInstaller import skipped the check everywhere it mattered. The build's bytecode loads +only in its own Python, which can be newer than the suite's, so CI reads the table with that Python and +hands it over as JSON (GAM_RC_TABLE); without one, the suite reads the build itself when it can. Where +GAM isn't vendored the build half skips; a job that vendors it sets EXIT_CODES_REQUIRE_GAM, which turns +that skip, or a build this Python can't read, into a failure (tests/test_workflow_safety.py holds every +such job to it). """ from __future__ import annotations import ast -import dis +import hashlib import importlib.util -import marshal +import json import os -import struct import subprocess import sys -import zlib from pathlib import Path import pytest @@ -32,15 +33,20 @@ ROOT = Path(__file__).resolve().parent.parent GAM_BIN = ROOT / "gamgui" / "resources" / "gam7" / "gam" MOCK_GAM = ROOT / "tests" / "fixtures" / "mock_gam.sh" +SCRIPT = ROOT / "scripts" / "gam_rc_table.py" DWD = [scope for scope, _ in DWD_SCOPES] REQUIRE = "EXIT_CODES_REQUIRE_GAM" +TABLE = "GAM_RC_TABLE" -# PyInstaller's CArchive, appended to the executable (PyInstaller/archive/readers.py): a trailing cookie -# (magic, archive length, TOC offset, TOC length, Python version, libpython name), and TOC entries -# (entry length, data offset, data length, uncompressed length, compressed flag, typecode, then the name). -_COOKIE_MAGIC = b"MEI\014\013\012\013\016" -_COOKIE = struct.Struct("!8sIIII64s") -_TOC_ENTRY = struct.Struct("!IIIIBc") + +def _load_reader(): + spec = importlib.util.spec_from_file_location("gam_rc_table", SCRIPT) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + return mod + + +rct = _load_reader() def _unavailable(reason: str): @@ -49,44 +55,22 @@ def _unavailable(reason: str): pytest.skip(reason) -def _gam_module_code(blob: bytes): - """The code object of the `gam` package, from the PYZ inside the executable's CArchive.""" - at = blob.rfind(_COOKIE_MAGIC) - assert at >= 0, "no PyInstaller archive cookie in the vendored gam" - _, length, toc_offset, toc_length, pyvers, _ = _COOKIE.unpack_from(blob, at) - start = at + _COOKIE.size - length - pos, end, pyz = start + toc_offset, start + toc_offset + toc_length, None - while pos < end and pyz is None: - size, offset, *_, typecode = _TOC_ENTRY.unpack_from(blob, pos) - pyz = start + offset if typecode == b"z" else None - pos += size - # The PYZ (pyimod01_archive.py): magic, the bytecode's Python magic number, TOC offset, then entries - # of zlib-compressed marshalled code, and the TOC as a marshalled [(name, (typecode, offset, length))]. - assert pyz is not None and blob[pyz:pyz + 4] == b"PYZ\0", "no PYZ archive in the vendored gam's CArchive" - if blob[pyz + 4:pyz + 8] != importlib.util.MAGIC_NUMBER: # marshalled code loads only in its own Python - _unavailable(f"the build's bytecode is Python {pyvers // 100}.{pyvers % 100}'s; " - f"run under that Python, not {sys.version_info[0]}.{sys.version_info[1]}") - (pyz_toc,) = struct.unpack_from("!i", blob, pyz + 8) - # The vendored binary is checksum-pinned and runs as the app's own subprocess: trusted, not input. - _, offset, size = dict(marshal.loads(blob[pyz + pyz_toc:]))["gam"] # noqa: S302 - return marshal.loads(zlib.decompress(blob[pyz + offset:pyz + offset + size])) # noqa: S302 - - @pytest.fixture(scope="module") def build_rc(): - """The vendored build's NAME_RC -> int table, read from the `gam` module in its PyInstaller archive.""" + """The vendored build's NAME_RC -> int table: GAM_RC_TABLE's, or read here when this Python can.""" if not GAM_BIN.exists(): _unavailable("GAM is not vendored (make gam)") - code = _gam_module_code(GAM_BIN.read_bytes()) - table, prev = {}, None - for ins in dis.get_instructions(code): - if ins.opname == "EXTENDED_ARG": # pairing through it reads its argument, not the constant's - continue - if ins.opname == "STORE_NAME" and str(ins.argval).endswith("_RC") and isinstance(getattr(prev, "argval", None), int): - table[ins.argval] = prev.argval - prev = ins - assert table.get("UNKNOWN_ERROR_RC") == 1 and len(set(table.values())) > 10, "the build's RC table did not parse" - return table + blob = GAM_BIN.read_bytes() + if os.environ.get(TABLE): # read by the build's own Python (CI runs scripts/gam_rc_table.py with it) + text = Path(os.environ[TABLE]).read_text() + assert text.strip(), f"{TABLE} is empty: scripts/gam_rc_table.py failed under the build's Python" + given = json.loads(text) + assert given["sha256"] == hashlib.sha256(blob).hexdigest(), f"{TABLE} was read from another gam" + return given["rc"] + try: + return rct.rc_table(rct.gam_module_code(blob)) + except rct.WrongPython as e: + _unavailable(f"{e} (or set {TABLE} to its JSON, from scripts/gam_rc_table.py under that Python)") def test_a_job_that_requires_the_build_fails_where_others_skip(monkeypatch): @@ -133,3 +117,21 @@ def test_the_mock_fails_a_missing_credentials_file_with_the_builds_code(build_rc done = subprocess.run(["bash", str(MOCK_GAM), "info", "domain"], env=env, capture_output=True, text=True, timeout=15) assert done.returncode == build_rc[rc], (rc, done.returncode, done.stderr) + + +def test_the_reader_runs_isolated_and_refuses_another_pythons_build(): + # CI runs the script with -I under the build's own Python, where nothing is installed: stdlib only. + if not GAM_BIN.exists(): + _unavailable("GAM is not vendored (make gam)") + + def run(*args): + return subprocess.run([sys.executable, "-I", str(SCRIPT), *args, str(GAM_BIN)], + capture_output=True, text=True, timeout=60) + + version, table = run("--python-version"), run() + assert version.returncode == 0, version.stderr + if version.stdout.strip() == f"{sys.version_info[0]}.{sys.version_info[1]}": + assert table.returncode == 0 and json.loads(table.stdout)["rc"]["UNKNOWN_ERROR_RC"] == 1, table.stderr + else: # never a guessed table + assert (table.returncode, table.stdout) == (1, ""), table.stderr + assert "run under that Python" in table.stderr diff --git a/tests/test_props_parsing.py b/tests/test_props_parsing.py index 558ae8b..d6e9cd0 100644 --- a/tests/test_props_parsing.py +++ b/tests/test_props_parsing.py @@ -76,7 +76,7 @@ def _cell(value: str) -> str: def _csv(rows, lineterminator="\n") -> str: - """Rows as a conforming writer prints them — GAM's own Python (3.14) included: a cell holding a + """Rows as a conforming writer prints them — GAM's own Python (3.15) included: a cell holding a comma, quote, CR or LF is quoted. Not csv.writer: on 3.10 it leaves a lone CR unquoted when lines end in LF (3.11 changed that), which the reader then takes for a line break — the py3.10 legs failed on the test's own CSV, not on the parser."""