Compare commits

...

9 Commits
v4.61 ... v4.65

Author SHA1 Message Date
Jay Lee
fe3c043d61 re-add a few explicit checks on sheets size 2018-10-28 17:03:26 -04:00
Ross Scroggs
83d8135722 One large, four small fixes (#813)
* One large, three small fixes

Gam update group update backwards compatibility
8551/8552

Handle cpuStatusReports, diskVolumeReports, systemRamFreeReports for CrOS devices
9451/10291, 11417/11622

Cod cleanup writeCSVfile
10360.10375

Fix indentation
12678

* Make cell_count computation explicit
2018-10-28 16:57:26 -04:00
Jay Lee
6caf3f2252 GAM 4.65 2018-10-27 20:23:17 -04:00
Ross Scroggs
b8331a3a4a Multiple small fixes (#800)
* Multiple small fixes

Allow mixed case when creating/updating/deleting alias: 362/378, 8068, 8622, 10162

Recode callGAPIpages for future benefits: 890/940

Handle out of range start_time end_time values in gam report: 1441/1444

Work around API bug where primary can't be used as calendarId: 2979/2980

Code cleanup in doCalendarAddEvent: 3507/3600

Get integers with subroutine: 228-236, multiple calls

Minimize data download in doDeleteGuardian: 2330/2348

Add contentmanager/fileorganizer role: 3984/4074

* Fix typos

* Code cleanup calendar ACL commands; add sendnotifications

* Correct documentation error

* Add operatingSystemType to user posix attribute

* Add Jay's changes

group member delivery settings, check max sheet bytes on CSV upload

* Cleanup writeCSVfile sheet size checking

* Revert "Add Jay's changes"

This reverts commit 9eb90ba7d7.

* Revert "Cleanup writeCSVfile sheet size checking"

This reverts commit 139a2f7f4c.

* More reverting
2018-10-27 20:17:02 -04:00
Jay Lee
c271349c30 Merge branch 'master' of https://github.com/jay0lee/GAM 2018-10-22 10:22:14 -04:00
Jay Lee
329a6e0768 group member delivery settings, check max sheet bytes on CSV upload 2018-10-22 10:22:02 -04:00
Roman Hargrave
fae2dca9dc Add operatingSystemType to posix config (#808)
* Add operatingSystemType to posix config

* Downcase operatingsystemtype
2018-10-15 12:23:58 -04:00
Ross Scroggs
7112a42c96 Simplify setup dialog when upgrading; fix typos (#789) 2018-09-12 09:20:03 -04:00
Jan Almeroth
d76618cbad If language missing, default to en. Fixes #787 (#788)
* If language missing, default to en. Fixes #787

* lets make it clear that it was unset
2018-08-29 08:52:12 -04:00
5 changed files with 502 additions and 333 deletions

View File

@@ -147,7 +147,7 @@ If an item contains spaces, it should be surrounded by ".
<CrOSID> ::= <String>
<CustomerID> ::= <String>
<DomainAlias> ::= <String>
<DriveFileACLRole> ::= commenter|editor|organizer|owner|reader|writer
<DriveFileACLRole> ::= commenter|contentmanager|editor|fileorganizer|organizer|owner|reader|writer
<DriveFileID> ::= <String>
<DriveFileURL> ::= https://docs.google.com/a/<DomainName>/document/d/<DriveFileID>/<String>
<DriveFileItem> ::= <DriveFileID>|<DriveFileURL>
@@ -246,8 +246,10 @@ If an item contains spaces, it should be surrounded by ".
annotatedlocation|location|
annotateduser|user|
bootmode|
cpustatusreports|
devicefiles|
deviceid|
diskvolumereports|
ethernetmacaddress|
firmwareversion|
lastenrollmenttime|
@@ -265,8 +267,18 @@ If an item contains spaces, it should be surrounded by ".
status|
supportenddate|
tpmversioninfo|
systemramtotal|
systemramfreereports|
willautorenew
<CrOSListFieldName> ::=
activetimeranges|timeranges|
cpustatusreports|
devicefiles|
diskvolumereports|
recentusers|
systemramfreereports
<CrOSOrderByFieldName> ::=
lastsync|location|notes|serialnumber|status|supportenddate|user
@@ -388,8 +400,8 @@ If an item contains spaces, it should be surrounded by ".
<MembersFieldName> ::=
email|
id|
name|
role|
status|
type
<MobileFieldName> ::=
@@ -580,9 +592,9 @@ Specify a collection of Users by directly specifying them or by specifiying item
(user <UserItem>)|
(users <UserList>)|
(group|group_ns|group_susp <GroupItem)|
(ou|org <OrgUnitPath)|
(ou_ns|org_ns <OrgUnitPath)|
(ou_susp|org_susp <OrgUnitPath)|
(ou|org <OrgUnitPath>)|
(ou_ns|org_ns <OrgUnitPath>)|
(ou_susp|org_susp <OrgUnitPath>)|
(ou_and_children|ou_and_child <OrgUnitPath>)|
(ou_and_children_ns|ou_and_child_ns <OrgUnitPath>)|
(ou_and_children_susp|ou_and_child_susp <OrgUnitPath>)|
@@ -881,8 +893,8 @@ gam delete alias|nickname [user|group|target] <UniqueID>|<EmailAddress>
gam info alias|nickname <EmailAddress>
gam print aliases|nicknames [todrive] [shownoneditable] [nogroups] [nousers] [(query <QueryUser>)|(queries <QueryUserList)]
gam calendar <CalendarItem> add <CalendarACLRole> ([user] <EmailAddress>)|(group <EmailAddress>)|(domain [<DomainName>])|default
gam calendar <CalendarItem> update <CalendarACLRole> ([user] <EmailAddress>)|(group <EmailAddress>)|(domain [<DomainName>])|default
gam calendar <CalendarItem> add <CalendarACLRole> ([user] <EmailAddress>)|(group <EmailAddress>)|(domain [<DomainName>])|default [sendnotifications <Boolean>]
gam calendar <CalendarItem> update <CalendarACLRole> ([user] <EmailAddress>)|(group <EmailAddress>)|(domain [<DomainName>])|default [sendnotifications <Boolean>]
gam calendar <CalendarItem> del|delete <CalendarACLRole> <EmailAddress>|(domain [<DomainName>])|default
gam calendar <CalendarItem> showacl
@@ -903,8 +915,8 @@ gam info cros <CrOSEntity> [nolists] [listlimit <Number>] [start <Date>] [end <D
[basic|full|allfields] <CrOSFieldName>* [fields <CrOSFieldNameList>] [downloadfile latest|<Time>] [targetfolder <FilePath>]
gam print cros [todrive] [(query <QueryCrOS>)|(queries <QueryCrOSList>)] [limittoou <OrgUnitItem>]
[orderby <CrOSOrderByFieldName> [ascending|descending]] [nolists|recentusers|timeranges|devicefiles] [listlimit <Number>] [start <Date>] [end <Date>]
[basic|full|allfields] <CrOSFieldName>* [fields <CrOSFieldNameList>]
[orderby <CrOSOrderByFieldName> [ascending|descending]] [nolists|<CrOSListFieldName>*] [listlimit <Number>] [start <Date>] [end <Date>]
[basic|full|allfields] <CrOSFieldName>* [fields <CrOSFieldNameList>] [sortheaders]
gam <CrOSTypeEntity> print
Summary of printing:
@@ -915,22 +927,14 @@ Prints no header row and deviceId for specified CrOS devices.
gam print cros ... basic|full
Prints a header row and selected fields for specified CrOS devices.
The basic argument outputs these column headers: deviceId,annotatedAssetId,annotatedLocation,annotatedUser,lastSync,notes,serialNumber,status
The allfields/full arguments output all column headers including three headers, recentUsers, activeTimeRanges and deviceFiles,
that repeat with two/four/two subvalues each, yielding a large number of columns that make the output hard to process.
The nolists argument suppresses these three headers; if you want these headers in a more manageable form use the following arguments.
If recentusers is specified, for each recent user, the columns recentUsers.email and recentUsers.type are output on a separate row
with all of the other headers.
If timeranges is specified, for each time range entry, the columns activeTimeRanges.date, activeTimeRange.activeTime,
activeTimeRanges.duration and activeTimeRanges.minutes are output on a separate row with all of the other headers.
If devicefiles is specified, for each deviceFile, the columns deviceFiles.type and deviceFiles.createTime are output on a separate row
with all of the other headers.
The basic argument outputs these column headers: deviceId,annotatedAssetId,annotatedLocation,annotatedUser,lastSync,notes,serialNumber,status.
The allfields/full arguments output all column headers including six headers: activeTimeRanges, cpuStatusReports, deviceFiles, diskVolumeReports, recentUsers and systemRamFreeReports
that repeat with multiple subvalues each, yielding a large number of columns that make the output hard to process.
The nolists argument suppresses these six headers; if you want these headers in a more manageable form specify <CrOSListFieldName> values as desired.
One set of values for all <CrOSListFieldName> fields specified will be output on a separate row with all of the other headers.
The listlimit <Number> argument limits the number of repetitions to <Number>; if not specified or <Number> equals zero, there is no limit.
The start <Date> and end <Date> arguments filter the time ranges.
The start <Date> and end <Date> arguments constrain activeTimeRanges, cpuStatusReports, deviceFiles and systemRamFreeReports to fall within the specified <Dates>.
gam print crosactivity [todrive] [(query <QueryCrOS>)|(queries <QueryCrOSList>)] [limittoou <OrgUnitItem>]
[recentusers] [timeranges] [both] [devicefiles] [all] [listlimit <Number>] [start <Date>] [end <Date>] [delimiter <Character>]
@@ -962,10 +966,10 @@ gam print mobile [todrive] [(query <QueryMobile>)|(queries <QueryMobileList>)] [
gam create group <EmailAddress> <GroupAttributes>*
gam update group <GroupItem> [admincreated <Boolean>] [email <EmailAddress>] <GroupAttributes>*
gam update group <GroupItem> add [owner|manager|member] [notsuspended|suspended] <UserTypeEntity>
gam update group <GroupItem> add [owner|manager|member] [notsuspended|suspended] [delivery allmail|daily|digest|none|nomail] <UserTypeEntity>
gam update group <GroupItem> delete|remove [owner|manager|member] <UserTypeEntity>
gam update group <GroupItem> sync [owner|manager|member] [notsuspended|suspended] <UserTypeEntity>
gam update group <GroupItem> update [owner|manager|member] <UserTypeEntity>
gam update group <GroupItem> sync [owner|manager|member] [notsuspended|suspended] [delivery allmail|daily|digest|none|nomail] <UserTypeEntity>
gam update group <GroupItem> update [owner|manager|member] [notsuspended|suspended] [delivery allmail|daily|digest|none|nomail] <UserTypeEntity>
gam update group <GroupItem> clear [member] [manager] [owner] [notsuspended|suspended]
gam delete group <GroupItem>
gam info group <GroupItem> [nousers] [noaliases] [groups]
@@ -975,6 +979,7 @@ gam print groups [todrive] ([domain <DomainName>] ([member <UserItem>]|[query <Q
[members|memberscount] [managers|managerscount] [owners|ownerscount]
[delimiter <Character>] [sortheaders]
gam info member <UserItem> <GroupItem>
gam print group-members|groups-members [todrive]
([domain <DomainName>] ([member <UserItem>]|[query <QueryGroup>]))|[group|group_ns|group_susp <GroupItem>] [notsuspended|suspended]
[roles <GroupRoleList>] [membernames] [fields <MembersFieldNameList>]
@@ -1015,18 +1020,17 @@ gam delete user <UserItem>
gam undelete user <UserItem> [org|ou <OrgUnitPath>]
gam info user [<UserItem>] [noaliases] [nogroups] [nolicenses|nolicences] [noschemas] [schemas|custom <SchemaNameList>] [userview] [skus|sku <SKUIDList>]
gam print users [todrive] ([domain <DomainName>] [(query <QueryUser>)|(queries <QueryUserList>)] [deleted_only|only_deleted])
Print fields for selected users; use domain, query/queries and deleted_only to select users to print;
if none of these options are specified, all users are printed.
The first column will always be primaryEmail; the remaining field names will be sorted if allfields, basic, full or sortheaders is specified;
otherwise, the remaining field names will appear in the order specified.
gam print users [todrive]
([domain <DomainName>] [(query <QueryUser>)|(queries <QueryUserList>)] [deleted_only|only_deleted])
[groups] [license|licenses|licence|licences] [emailpart|emailparts|username]
[orderby <UserOrderByFieldName> [ascending|descending]] [userview]
[allfields|basic|full | ((<UserFieldName>* | fields <UserFieldNameList>) [schemas|custom all|<SchemaNameList>])]
[delimiter <Character>] [sortheaders]
gam <UserTypeEntity> print
Summary of printing:
gam print users
Prints a header row and primaryEmail for all users.
gam <UserTypeEntity> print
Prints no header row and primaryEmail for specified users.
gam create verify|verification <DomainName>
gam update verify|verification <DomainName> cname|txt|text|site|file
@@ -1128,7 +1132,7 @@ gam <UserTypeEntity> print calendars [todrive]
gam <UserTypeEntity> show calsettings
gam <UserTypeEntity> update calattendees csv <FileName> [dryrun] [start <Date>] [end <Date>] [allevents]
gam <UserTypeEntity> transfer seccals <UserItem> [keepuser]
gam <UserTypeEntity> transfer seccals <UserItem> [keepuser] [sendnotifications <Boolean>]
gam <UserTypeEntity> print|show driveactivity [todrive] [fileid <DriveFileID>] [folderid <DriveFolderID>]
gam <UserTypeEntity> print|show drivesettings [todrive]

View File

@@ -1,5 +1,15 @@
:neworupgrade
@echo(
@set /p adminemail= "Please enter your G Suite admin email address: "
@set /p nu= "Is this a new install or an upgrade? [n or u] "
@if /I "%nu%"=="u" (
@ echo GAM installation and setup complete!
@ goto alldone
)
@if /I not "%nu%"=="n" (
@ echo(
@ echo Please answer n or u.
@ goto neworupgrade
)
:createproject
@echo(
@@ -16,10 +26,12 @@
@ echo Please answer y or n.
@ goto createproject
)
@echo(
@set /p adminemail= "Please enter your G Suite admin email address: "
@gam create project %adminemail%
@if not ERRORLEVEL 1 goto projectdone
@echo(
@echo Projection creation failed. Trying again. Say n to skip projection creation.
@echo Project creation failed. Trying again. Say n to skip project creation.
@goto createproject
:projectdone

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@ import platform
import re
gam_author = u'Jay Lee <jay0lee@gmail.com>'
gam_version = u'4.61'
gam_version = u'4.65'
gam_license = u'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
GAM_URL = u'https://git.io/gam'
@@ -482,8 +482,10 @@ CROS_ARGUMENT_TO_PROPERTY_MAP = {
u'asset': [u'annotatedAssetId',],
u'assetid': [u'annotatedAssetId',],
u'bootmode': [u'bootMode',],
u'cpustatusreports': [u'cpuStatusReports',],
u'devicefiles': [u'deviceFiles',],
u'deviceid': [u'deviceId',],
u'diskvolumereports': [u'diskVolumeReports',],
u'ethernetmacaddress': [u'ethernetMacAddress',],
u'firmwareversion': [u'firmwareVersion',],
u'lastenrollmenttime': [u'lastEnrollmentTime',],
@@ -503,6 +505,8 @@ CROS_ARGUMENT_TO_PROPERTY_MAP = {
u'serialnumber': [u'serialNumber',],
u'status': [u'status',],
u'supportenddate': [u'supportEndDate',],
u'systemramtotal': [u'systemRamTotal',],
u'systemramfreereports': [u'systemRamFreeReports',],
u'tag': [u'annotatedAssetId',],
u'timeranges': [u'activeTimeRanges.activeTime', u'activeTimeRanges.date'],
u'times': [u'activeTimeRanges.activeTime', u'activeTimeRanges.date'],
@@ -531,6 +535,7 @@ CROS_SCALAR_PROPERTY_PRINT_ORDER = [
u'meid',
u'ethernetMacAddress',
u'macAddress',
u'systemRamTotal',
u'lastEnrollmentTime',
u'orderNumber',
u'supportEndDate',
@@ -541,6 +546,10 @@ CROS_SCALAR_PROPERTY_PRINT_ORDER = [
CROS_RECENT_USERS_ARGUMENTS = [u'recentusers', u'users']
CROS_ACTIVE_TIME_RANGES_ARGUMENTS = [u'timeranges', u'activetimeranges', u'times']
CROS_DEVICE_FILES_ARGUMENTS = [u'devicefiles', u'files']
CROS_CPU_STATUS_REPORTS_ARGUMENTS = [u'cpustatusreports',]
CROS_DISK_VOLUME_REPORTS_ARGUMENTS = [u'diskvolumereports',]
CROS_SYSTEM_RAM_FREE_REPORTS_ARGUMENTS = [u'systemramfreereports',]
CROS_LISTS_ARGUMENTS = CROS_ACTIVE_TIME_RANGES_ARGUMENTS+CROS_RECENT_USERS_ARGUMENTS+CROS_DEVICE_FILES_ARGUMENTS+CROS_CPU_STATUS_REPORTS_ARGUMENTS+CROS_DISK_VOLUME_REPORTS_ARGUMENTS+CROS_SYSTEM_RAM_FREE_REPORTS_ARGUMENTS
CROS_START_ARGUMENTS = [u'start', u'startdate', u'oldestdate']
CROS_END_ARGUMENTS = [u'end', u'enddate']

View File

@@ -1,3 +1,11 @@
GAM 4.65
- Manage email delivery settings for group members
- Add operatingSystemType to user posix config (Roman)
- Handle missing language setting (jalmeroth)
- handle mixed case aliases (Ross)
- contentmanager and fileorganizer roles in Team Drive (Ross)
- various other fixes and optimizations (Jay and Ross)
GAM 4.61
- New Gmail delegation API
- Remove "admin" command from user create/update to avoid accidental super admins. Still possible to give super admin rights via "gam create admin" command. (Ross)