GoSpace Manager

Version v0.11.0

Manage Google Workspace resources using a developer-friendly CLI written in Go

batch

Batch updates permissions for a file or shared drive using a CSV file as input.

Synopsis

Implements the API documented at https://developers.google.com/drive/api/v3/reference/permissions/update

gsm permissions update batch [flags]

Options

      --allowFileDiscovery int      Whether the permission allows the file to be discovered through search.
                                    This is only applicable for permissions of type domain or anyone.
      --allowFileDiscovery_ALL      Same as allowFileDiscovery but value is applied to all lines in the CSV file
      --batchThreads int            Specify the number of threads that should be used for batch commands (overrides value in config file. Max 16)
      --delimiter string            Delimiter to use for CSV columns. Must be exactly one character. Default is ';'
      --domain int                  The domain to which this permission refers.
      --domain_ALL string           Same as domain but value is applied to all lines in the CSV file
      --emailAddress int            The email address of the user or group to which this permission refers.
      --emailMessage int            A plain text custom message to include in the notification email
      --emailMessage_ALL string     Same as emailMessage but value is applied to all lines in the CSV file
      --expirationTime int          The time at which this permission will expire (RFC 3339 date-time). Expiration times have the following restrictions:
                                    They can only be set on user and group permissions
                                    The time must be in the future
                                    The time cannot be more than a year in the future
      --expirationTime_ALL string   Same as expirationTime but value is applied to all lines in the CSV file
      --fields int                  Fields allows partial responses to be retrieved.
                                    See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
      --fields_ALL string           Same as fields but value is applied to all lines in the CSV file
      --fileId int                  Id of the file or drive
      --fileId_ALL string           Same as fileId but value is applied to all lines in the CSV file
  -h, --help                        help for batch
      --moveToNewOwnersRoot int     This parameter only takes effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item.
                                    When set to true, the item is moved to the new owner's My Drive root folder and all prior parents removed.
                                    however, the file will be added to the new owner's My Drive root folder, unless it is already in the new owner's My Drive.
      --moveToNewOwnersRoot_ALL     Same as moveToNewOwnersRoot but value is applied to all lines in the CSV file
      --path string                 Path of the import file (CSV)
      --permissionId int            The ID of the permission.
      --removeExpiration int        Whether to remove the expiration date.
      --removeExpiration_ALL        Same as removeExpiration but value is applied to all lines in the CSV file
      --role int                    The role granted by this permission.
                                    While new values may be supported in the future, the following are currently allowed:
                                    [owner|organizer|fileOrganizer|writer|commenter|reader]
      --role_ALL string             Same as role but value is applied to all lines in the CSV file
      --skipHeader                  Whether to skip the first row (header)
      --transferOwnership int       Whether to transfer ownership to the specified user and downgrade the current owner to a writer.
                                    This parameter is required as an acknowledgement of the side effect.
      --transferOwnership_ALL       Same as transferOwnership but value is applied to all lines in the CSV file
      --type int                    The type of the grantee.
                                    [user|group|domain|anyone].
                                    When creating a permission, if type is user or group, you must provide an emailAddress for the user or group.
                                    When type is domain, you must provide a domain.
                                    There isn't extra information required for a anyone type.
      --type_ALL string             Same as type but value is applied to all lines in the CSV file
      --useDomainAdminAccess int    Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs.
      --useDomainAdminAccess_ALL    Same as useDomainAdminAccess but value is applied to all lines in the CSV file

Options inherited from parent commands

      --compressOutput         By default, GSM outputs "pretty" (indented) objects. By setting this flag, GSM's output will be compressed. This may or may not improve performance in scripts.
      --config string          config file (default is $HOME/.config/gsm/.gsm.yaml)
      --delay int              This delay (plus a random jitter between 0 and 50) will be applied after every command to avoid reaching quota and rate limits. Set to 0 to disable.
      --dwdSubject string      Specify a subject used for DWD impersonation (overrides value in config file)
      --log string             Set the path of the log file. Default is either ~/gsm.log or defined in your config file
      --maxElapsedTime int     This is the maximum total time that will be spent retrying a request in minutes. (default 15)
      --maxRetryInterval int   This is the maximum interval that will be used between retry attempts in seconds. (default 320)
      --redirectPort int       This is the TCP port on which GSM will create web server if you authenticate with a user account for the first time. This is necessary for the OAuth flow. See https://developers.google.com/identity/protocols/oauth2/native-app#redirect-uri_loopback (default 8081)
      --retryOn ints           Specify the HTTP error code(s) that GSM should retry on. Note that GSM will always retry on HTTP 403 errors that indicate a quota / rate limit error
      --streamOutput           Setting this flag will cause GSM to output slice values to stdout one by one, instead of one large object

SEE ALSO