* 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
* Add textcolor and backgroundcolor to add/update label
pylint cleanup in new valult code
* Check that both textcolor and backgroundcolor are specified
1) Handle errors in gam-install.sh if user asks for unknown version
2) Over the last few days users get created but their org unit doesn't get assigned. If you say `gam ou /Path/To/Ou print users` you get a trap because you get a user with a primaryEmail and no orgUnitPath.
3) Make delete label take labels like all other label commands
4) Add data transfer service abbreviations like drive; this avoids an API call
* Updates
8278/8287, 10374/10394, 11391/11427 - Work around Google list members bug that returns owners/managers as members
10246/10274, 10589/10687 - add query <GroupQuery> to print groups/group-members
* Update documantation
* Update documentation
* Add fulldatarequired to gam report user/customer
Fix missing email address normalization
* Cleanup, fullDataType is always same type, empty means all
Add targetfolder option to info cros; it defaults to value of GAMDRIVEDIR
Clean up download device file code
Allow print cros activity to select device files
Default remains activeTimeRanges and recentUsers
both still means activeTimeRanges and recentUsers
all means activeTimeRanges and recentUsers and deviceFiles
* Final building/feature/resource calendar cleanup
6905 - buildingId in user does not seem to refer to buildings
8026 - simplify
11284 - 11300 - Allow user to select new resoure calendar fields
11324, 11372 - make callGAPIpages calls similar to all others
11432 - collapse features to a list of names so it canbe fed back to update resource
11438 - Organize output
* Fix typos
* Check user location buildingId, fix typos
* Correct function name
* It's not a user error in the API gives us a bogus buildingId
* Update documentation, and _getBuildingNameById
You can do what ever you want except exit
* Minor cleanups
In print users allow actual field names isenforcedin2sv and isenrolledin2sv
In print users, add delimiter and sortheaders options
In print groups, add sortheaders option
* Fixed bug in gam oauth create where entering `e` to exit without changes didn't exit.
Remove printer register from documentation
Make non-documented command be:
`gam printer register`
instead of:
`gam printer xxx register`
as xxx isn't used (it's PrinterID for other commands)
* Update doUpdateCros
Only use moveDevicesToOu if the only field being updated is orgUnitPath; otherwise orgUnitPath will be updated in the loop with whatever other fields are being updated
* Only show count of devices in error message
* Always user moveDevicesToOu to update CrOS OU
* Minor locations/sshPublicKeys cleanup
Make options names internally consistent and consistent with other commands.
Drop publicsshkeys, too may choices
Change title to SSH Public Keys to match Google's title
* Simplify UserAttributes
* Allow listlimit -1 in print mobile devices
appslimit = -1 and listlimit -1: show no repeating elements
appslimit = 0 and listlimit 0: show all repeating elements
appslimit = N and listlimit N: show N repeating elements
* Upgrade gam update group to use API batch processing
This allows gam update group sync commands to be used in gam batch and gam csv commands.
Add/delete/update and clear will be faster due to batching.
GAPI exception handling improved to support additional error checking.