Skip to content

Releases: hanneshayashi/gsm

v0.2.6

02 May 10:32
Compare
Choose a tag to compare

This is a minor release that mostly fixes a few bugs.
General improvements are:

  • An optional flag for gsm drives create that will make cause GSM to wait until the drive is ready for use before returning it
  • Better support for drive themes / background files
  • Fixes for drive flags
  • Improvements for downloading / exporting files
  • An optional flag for gsm messages send that will cause GSM to send the body as HTML
  • Releases are now built with GoReleaser

v0.2.5

30 Mar 16:40
f755182
Compare
Choose a tag to compare

This release includes several new APIs:

This release also includes the ability to utilize Application Default Credentials (i.e. Service Account of a GCE instance or gcloud application-default credentials). This eliminates the need to use Service Account keys. For details, see Setup

There are also the usual optimizations and bug fixes.

v0.2.4

21 Feb 07:51
Compare
Choose a tag to compare

This release includes the following new features

v0.2.3

10 Jan 09:04
Compare
Choose a tag to compare

This release rewrites a lot of the list (and similar) commands, so that results can now be streamed directly from the API response. This results in a lot less memory allocations and generally better scaling.
Also included in this release:

  • Use update instead of patch for users.
    • The respective commands were also renamed.
  • New flags --emailAddress and --domain for permissions get, delete and update.
    • This saves you from looking up the permissionId manually, but it will result in an additional API call.
  • New command permissions update recursive that allows you to update a permission recursively on a folder.
  • Changed the default delay between API calls to 500ms.
    • This and 4 threads seems to be the sweet spot in order to avoid rate limit errors, while still having reasonable performance.
    • You can change this by either using the --delay flag, or setting the "standardDelay" value in your config file.
  • Miscellaneous bug fixes and optimizations.

v0.2.2

31 Dec 08:09
Compare
Choose a tag to compare

This release includes some minor commits that I missed for some reason in the last one.
I also added a flag that allows the user to specify the HTTP error codes that GSM should retry on (note that this reverses the behavior introduced in 0.2.1 to always retry on error 500).

v0.2.1

27 Dec 11:19
Compare
Choose a tag to compare

This release adds a new global flag --streamOutput that will cause GSM to "stream" single fields in JSON arrays, so the output can be more easily "piped" to other programs. This is especially helpful when working with PowerShell. More information can be found here.
This is already utilized in the latest version of GSM's PowerShell module, so you can do stuff like:

List-GSMFiles | % {$_.id <#or something useful.#>}

Other improvements:

  • New API: Reports API
  • New commands for members that allow you to "set" the members of a group to the specified values, adding and removing members as necessary:
  • GSM will now retry on error code 500
  • Renamed two global flags to prevent collision with configs command:
    • --logFile -> --log
    • --standardDelay -> --delay
  • log show will now only show the last 3 log entries by default
    • To show any other amount of lines, just set --lines to the appropriate number
    • To show the whole log, either set the --lines flag to something really big, or to 0

v0.2

20 Dec 07:08
Compare
Choose a tag to compare

This release brings some QoL features that make working with GSM a little easier in day-to-day operations.
Changes include:

  • Two new recursive commands:
  • Add commands to clear and show the current log (including a flag to specify the number of lines you want to output).
  • Add command to update an existing config, without having to manually edit the file in a text editor.
  • Add the "from" header as a flag for sending messages.
    • This allows you to send an email as a different user if you have them set up as a sendAs address, while also utilizing any existing S/MIME certificates.
    • Note that you can, of course, also send an email as a different user, by specifying the user's email address in the --dwdSubject flag, if you are in dwd mode.
  • Fix for uploading S/MIME certificates and several other fixes.

In other news, the PowerShell module now properly has any required flag's function parameter set to "mandatory".

v0.1.19

15 Dec 06:43
Compare
Choose a tag to compare

This release features some new APIs and commands, some minor breaking changes and compatibility with a new Crescendo based PowerShell module:

  • New APIs
    • Schema API to manage custom attributes for user objects
    • User Photos API to manage user photos
  • Send emails with multiple attachments
  • New command to generate shell auto-completion (thanks to https://github.com/spf13/cobra/blob/master/shell_completions.md) for
    • Bash
    • Zsh
    • PowerShell
    • Fish
  • Breaking Change: Some commands have been renamed
    • resourcesCalendars -> calendarResources
    • resourcesBuildings -> buildings
    • resourcesFeatures -> features
  • When using the Cloud Identity Groups API (Beta), GSM will now try to automatically set the parent to your customer, if not set.
  • I have written some rudimentary code to automatically generate Crescendo definition files from Cobra commands here: https://github.com/hanneshayashi/crescengo
    • I fully admit that the code could be more generalized, but it should work with any Cobra command in theory. I will probably get around to making this more powerful in the future
    • Using the above, I have created a PowerShell module, that contains function for all of GSM's 500+ commands (its over 70k lines 😁). See details at https://github.com/hanneshayashi/gsm_crescendo

v0.1.18

08 Dec 15:43
Compare
Choose a tag to compare

This version fixes a few bugs and teaks the default values for batch processing.
No new features this time.

v0.1.17

06 Dec 12:04
Compare
Choose a tag to compare

This release adds a bunch of new sub commands that allow you to apply a command to all users in one or more organizational unit(s) and / or group(s). For details see: https://gsm.hayashi-ke.online/recursive_commands/#recursive-user-commands
More improvements:

  • You can now configure a delay that GSM will wait after every API call, in order to avoid quota / rate limiting errors. This is in addition to the already existing exponential backoff (courtesy of https://github.com/eapache/go-resiliency/retrier). The default when creating a new config is 200ms.
  • The thread settings now apply to recursive commands as well
  • Bug fixes and performance improvements!