./sysutils/gam, Command line tool for Google Workspace admins

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 7.05.08, Package name: gam-7.05.08, Maintainer: pkgsrc-users

GAM is a command line tool for Google Workspace admins to manage domain
and user settings quickly and easily.


Master sites:

Filesize: 1178.846 KB

Version history: (Expand)


CVS history: (Expand)


   2025-03-10 10:07:53 by Thomas Klausner | Files touched by this commit (1) | Package updated
Log message:
gam: fix wheel name for latest setuptools and depend on it

ride update
   2025-03-10 10:02:52 by Stephen Borrill | Files touched by this commit (3) | Package updated
Log message:
gam: update to 7.05.08

Changes since 7.02.00:

7.05.08

Added error message to gam report commands to indicate forbidden access;
previously, no error message was displayed.

7.05.07

Fixed bug in gam calendars <CalendarEntity> info events and gam \ 
<UserTypeEntity> info events where option showdayofweek was not \ 
recognized.

7.05.06

Improve message displayed when a command is issued that requires Google Chat Bot \ 
setup; display a link to the Wiki Set up a Chat Bot instructions.

7.05.05

Added options password prompt and password uniqueprompt to gam create user \ 
<EmailAddress> and gam update users <UserTypeEntity> that prompt you \ 
to enter a password from stdin.

See User Passwords

7.05.04

Updated gam calendars <CalendarEntity> update events and gam \ 
<UserTypeEntity> update events to handle the following error:

ERROR 400: malformedWorkingLocationEvent - A working location event must have a \ 
visibility setting of public.

7.05.03

Fixed bug in gam all users print users issuspended false allfields that caused a \ 
trap.

7.05.02

Chat usage reports are now available. Added chat to <CustomerServiceName> \ 
and <UserServiceName> for use in gam report customer|user.

    https://workspaceupdates.googleblog.com/2025/02/chat-usage-analytics-updates.html

7.05.01

Updated from v1beta1 to v1 for Cloud Identity - Policy.

    See: \ 
https://workspaceupdates.googleblog.com/2025/02/policy-api-general-availability.html

7.05.00

Enabled support for Limited Access as described here:

    \ 
https://workspaceupdates.googleblog.com/2025/02/updating-access-experience-in-google-drive.html

Added option inheritedpermissionsdisabled [<Boolean>] to \ 
<DriveFileAttribute>; this attribute can be set on folders.

Added inheritedpermissionsdisabled to <DriveFieldName>.

Added capabilities.candisableinheritedpermissions and \ 
capabilities.canenableinheritedpermissions to \ 
<DriveCapabilitiesSubfieldName>. Added option enforceexpansiveaccess \ 
[<Boolean>] to all commands that delete or update drive file \ 
ACLs/permissions.

7.04.05

Added initial support for Meet API v2beta; you must be in the Developer Preview \ 
program for this to be effective.

    \ 
https://developers.google.com/meet/api/guides/beta/configuration-beta#auto-artifacts

Added meet_v2_beta Boolean variable to gam.cfg.

7.04.04

Updated gam print group-members|cigroup-members to include the email column when \ 
fields <MembersFieldNameList> did not include email.

7.04.03

Added option minimal|basic|full to gam print cigroup-members

Added option minimal|basic|full to gam show cigroup-members

Upgraded gam print cigroup-members ... recursive to display sub-group email \ 
addresses rather than IDs.

7.04.02

Improved output formatting for the following commands:

gam info peoplecontact
gam show peoplecontacts
gam info peopleprofile
gam show peopleprofile
gam <UserTypeEntity> info contacts
gam <UserTypeEntity> show contacts
gam <UserTypeEntity> show peopleprofile

7.04.01

Fixed bug where multiple querytime<String> values in a query were not \ 
properly processed; only the last querytime<String> was processed.

7.04.00

The Classic Sites API no longer functions, the following commands are deprecated:

gam [<UserTypeEntity>] create site
gam [<UserTypeEntity>] update site
gam [<UserTypeEntity>] info site
gam [<UserTypeEntity>] print sites
gam [<UserTypeEntity>] show sites
gam [<UserTypeEntity>] create siteacls
gam [<UserTypeEntity>] update siteacls
gam [<UserTypeEntity>] delete siteacls
gam [<UserTypeEntity>] info siteacls
gam [<UserTypeEntity>] show siteacls
gam [<UserTypeEntity>] print siteacls
gam [<UserTypeEntity>] print siteactivity

7.03.09

Added option maxmessagesperthread <Number> to gam <UserTypeEntity> \ 
print|show threads that limits the number of messages displayed per thread. The \ 
default is 0, there is no limit. For example, this can be used if you only want \ 
to see the first message of each thread.

gam user user@domain.com print|show threads maxmessagesperthread 1

Fixed bug in gam <UserTypeEntity> print filelist countsonly where \ 
extraneous columns were displayed.

Fixed bug in gam <UserTypeEntity> print filelist countsonly showsize where \ 
sizes were all shown as 0 unlesssizefield size was specified.

7.03.08

Improved pip install.

Yubikey as optional should now be working also.

7.03.07

Updated gam create vaultexport to include corpus gemini.

    See: \ 
https://workspaceupdates.googleblog.com/2025/02/google-vault-now-supports-gemini.html

7.03.06

Added option rawfields "<BrowserFieldNameList>" to gam \ 
info|print|show browsers that allows specification of complex field lists with \ 
selected subfields.

    See: \ 
https://github.com/GAM-team/GAM/wiki/Chrome-Browser-Cloud-Management#raw-fields

7.03.05

GAM can now be installed by pip: pip install --upgrade gam7

7.03.04

Added option security to gam create cigroup that allows creation of a security \ 
group in a single command.

Updated to Python 3.13.2.

7.03.03

Fixed bug in gam update resoldcustomer that caused the following error:

ERROR: Got an unexpected keyword argument customerAuthToken

7.03.02

Updated gam <UserTypeEntity> show labels nested to properly display label \ 
nesting when labels have embedded / characters in their names.

7.03.01

Updated gam create project to retry the following unexpected error:

ERROR: 400 - invalidArgument - Service account \ 
gam-project-a1b2c@gam-project-a1b2c.iam.gserviceaccount.com does not exist.

7.03.00

Updated gam create|use project to discontinue use of the Identity-Aware Proxy \ 
(IAP) OAuth Admin APIs that are being deprecated by Google. You will see a set \ 
of instructions detailing how to configure the Oauth Consent screen and create \ 
the Oauth client.

Added options copypermissionroles <DriveFileACLRoleList> and \ 
copypermissiontypes <DriveFileACLTypeList> to gam <UserTypeEntity> \ 
copy drivefile that provide more control over what permissions are copied from \ 
the source files/folders to the destination files/folders.

7.02.11

Updated gam report <ActivityApplicationName> to display \ 
id:<actor.profileId> in the emailAddress column when actor.email is empty. \ 
This typically occurs when the actor is not in your workspace.

Updated gam <UserTypeEntity> copy drivefile to ignore ACLs referencing \ 
deleted user/groups.

7.02.10

Added option bydate to gam report <ActivityApplicationName> ... countsonly \ 
that provides an additional display option.

7.02.09

Added option clearresources to <EventUpdateAttribute> for use in gam \ 
<UserTypeEntity> update events that allows clearing all resources from a \ 
user's calendar events. For example, to clear all resources from a user's future \ 
events:

gam user user@domain.com update events primary matchfield attendeespattern \ 
@resource.calendar.google.com after now clearresources

Added option resource <ResourceID> to <EventAttribute> for use in \ 
gam <UserTypeEntity> create|update events that adds a resource to an \ 
event.

Added option removeresource <ResourceID> to <EventUpdateAttribute> \ 
for use in gam <UserTypeEntity> update events that removes a resource from \ 
an event.

7.02.08

Fixed bug in gam print|show chromepolicies that caused a trap when neither \ 
ou|orgunit <OrgUnitItem> nor group <GroupItem> was specified.

7.02.07

Updated gam delete|update chromepolicy to display the <AppID> or \ 
<PrinterID> (if specified) in the command status messages.

7.02.06

Added option <JSONData> to gam <UserTypeEntity> create|update form \ 
that allows for creation/modification of all fields in a form. <JSONData> \ 
is a list of form update requests.

    See: https://developers.google.com/forms/api/reference/rest/v1/forms/batchUpdate

7.02.05

Updated gam [<UserTypeEntity>] show shareddriveacls ... formatjson to not \ 
display this line which interferes with the JSON output.

User: user@domain.com, Show N Shared Drives

7.02.04

Updated code to eliminate trap caused by bug introduced in 7.02.00 that occurs \ 
when an invalid domain or OU is specified.

7.02.03

Added option archive to gam <UserTypeEntity> update license \ 
<NewSKUID> from <OldSKUID> that causes GAM to archive \ 
<UserTypeEntity> after updating their license to <NewSKUID>. This \ 
will be used when you want to archive a user with a non-archivable license. The \ 
<NewSKUID> license is assigned to the user and it then converts to the \ 
equivalent Archived User license when the user is archived.

7.02.02

Updated gam <UserTypeEntity> archive messages <GroupItem> to retry \ 
the following unexpected error that occurs after many messages have been \ 
successfully archived. ERROR: 404: notFound - Unable to lookup group

7.02.01

Added options locked and unlocked to gam update cigroups that allow \ 
locking/unlocking groups.
   2025-03-08 14:20:15 by Thomas Klausner | Files touched by this commit (2)
Log message:
gam: simplify package by using more of the Python infrastructure

adapt wheel name for latest setuptools and depend on it

Bump PKGREVISION.
   2024-12-13 14:33:45 by Stephen Borrill | Files touched by this commit (2) | Package updated
Log message:
gam: Update to 7.02.00

- 7.02.00

Improved the error message displayed for user service account access commands when:

    The API is not enabled
    The user does not exist
    The user exists but is in a OU where the service is disabled

- 7.01.04

Admin role assignments are now in the v1 stable API, use that and remove custom \ 
local workaround for the beta. #1724

Remove duplicate local JSON discovery files. #1724

Suppress "UserWarning: Attribute's length must be..." messages on \ 
service accounts with long emails. #1725

Added options internal, internaldomains <DomainNameList> and external to \ 
these commands
that expand the options for viewing group members:

gam info group
gam print groups
gam print|show group-members
gam info cigroup
gam print cigroups
gam print|show cigroup-members

By default, when listing group members, GAM does not take the domain of the \ 
member into account.

    internal internaldomains <DomainNameList> - Display members whose \ 
domain is in <DomainNameList>
    external internaldomains <DomainNameList> - Display members whose \ 
domain is not in <DomainNameList>
    internal external internaldomains <DomainNameList> - Display all \ 
members, indicate their category: internal or external
    internaldomains <DomainNameList> - Defaults to value of domain in gam.cfg

Members without an email address, e.g. customer, chrome-os-device and \ 
cbcm-browser are considered internal.

- 7.01.03

Fixed bug in gam update cigroups <GroupEntity> delete|sync|update where \ 
cbcm-browser and chrome-os-device
addresses were not properly handled.

- 7.01.02

Added option positivecountsonly to gam <UserTypeEntity> print|show \ 
filecomments that causes
GAM to display the number of comments and replies only for files that have comments.

Added my_commentable_items to <DriveFileQueryShortcut> that can be used with
gam <UserTypeEntity> print|show filecomments my_commentable_items to speed \ 
up processing.

Updated code that uses the Domain Shared Contacts API with an HTTPS proxy to \ 
avoid a trap

- 7.01.01

Fixed bug in gam <UserTypeEntity> print|show filetree where no error \ 
message was generated
if a user had Drive disabled.

- 7.01.00

Fixed bug in gam update chromepolicy that caused some policy updates to fail.

Added option showhtml to gam <UserTypeEntity> print|show messages that, \ 
when used with showbody,
will display message body content of type HTML.

Added support for managing/displaying Chrome profiles.

- 7.00.40

Updated gam <UserTypeEntity> update serviceaccount to properly set the \ 
readonly scope
for [R] 35)  Meet API (supports readonly) as it is a special case.
   2024-11-19 16:35:40 by Stephen Borrill | Files touched by this commit (8) | Package updated
Log message:
gam: update to 7.00.39

This package was previously Jay Lee's Legacy GAM.

GAM 7 is a merge-back of Ross Scrogg's GAMADV-XTD3 branch which is a
rewrite/extension of Legacy GAM so that is only one project going forward.
As such, it is not possible to provide a clear list of changes from the
final version of Legacy GAM.

https://github.com/GAM-team/GAM/wiki/GamUpdates
   2024-10-14 08:46:10 by Thomas Klausner | Files touched by this commit (325)
Log message:
*: clean-up after python38 removal
   2024-08-28 15:20:34 by Stephen Borrill | Files touched by this commit (7)
Log message:
gam: fix and document locations of authorisation files

By default gam creates and stores authorisation files in its installation
directory which is not suitable for pkgsrc (site-packages).
Move authorisation files to PKG_SYSCONFDIR and document the new location.
   2024-08-27 18:04:44 by Stephen Borrill | Files touched by this commit (5) | Package updated
Log message:
gam: update to 6.58

Fix COMMENT
Allow certificates to be validated as needed for authorisation workflow

Changes since 6.25:

GAM 6.58
    workaround #1625 where Google is not handling max page size for print \ 
licenses correctly.
    other minor fixes and improvements.

GAM 6.57

    "certain Enterprise SKUs" can assign a delegated admin role to a \ 
group. gam create admin helpdesk-team@acme.com  _HELP_DESK_ADMIN_ROLE customer
    Fix Linux -legacy builds were missing.
    gam version extended now includes version information for dependency Python \ 
libraries.

GAM 6.56

    Improved support for running GAM on Google Compute Engine and other Workload \ 
Identity Federation setups.
    GAM now requires Python 3.8 or newer, 3.7 is deprecated.
    various fixes and improvements by Jay and Ross

GAM 6.53

    afce21a: Add steps to trust GAM client_ID (Jay Lee)
    27461b0: Update var.py (Jay Lee)
    bd0bb15: AppSheet licenses (Jay Lee)

GAM 6.52

    Ross: fix crash on gam create project

GAM 6.51

    Upgrade OpenSSL to 3.1.0 release and completely disable insecure TLS 1.0 / \ 
1.1 protocols.
    When rotating service account keys you can now set key expiration time with \ 
validity_hours <number>
    Ross: Improvements to Yubikey Service Account setup and usage.
    Ross: gam version checkrc command will exit with a non-zero status if there \ 
is a newer version of GAM available.

GAM 6.50

    Run GAM securely on Google Compute Engine (GCP) VMs with no service account \ 
private key that can be stolen.

GAM 6.42

    Allow/block content managers ability to share folders on shared drives: gam \ 
user <email> update shareddrive <id> \ 
sharingFoldersRequiresOrganizerPermission true|false. Note that Google is still \ 
rolling this feature out and the GAM command won't actually work until rollout \ 
is complete.

GAM 6.41

    fixed #1600 unable to create new projects

GAM 6.40

    gam copy vaultexport and gam copy storagebucket commands to copy Google \ 
Vault and Organization Takeout data to your own GCS bucket.
    Ross: gam print chromeaues command to see when your Chrome OS devices will \ 
reach auto-update expiration and gam print chromeneedsattn command to see \ 
devices that require attention.
    Upgrade to latest OpenSSL 3.0.8 and Python 3.11.2
    The usual bug fixes and improvements by Ross and Jay.

GAM 6.31

    NEW: manage Inbound SSO profiles, credentials and assignments with GAM.
    NEW: set the display name of a user. Display name overrides the first/last \ 
name displayed to other users. gam create|update user <email> displayname \ 
"Dave Smith"
    The usual fixes by Ross and Jay

GAM 6.30

    Upgrade to OpenSSL 3.0.7 to fix a high risk vulnerability (low chance of \ 
impact to GAM)
    Upgrade to Python 3.11.0 which offers performance improvements
    Fix: GAM was ignoring nobrowser.txt and trying to open a browser on WSL \ 
which caused a hang. #1516
    gam info domain can now be run as a delegated admin assuming proper role.
    The usual bug fixes and improvements by Ross and Jay