GoSpace Manager

Version v0.11.0

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

batch

Batch move Shared Drives to organizational units using a CSV file as input.

Synopsis

Implements the API documented at https://cloud.google.com/identity/docs/reference/rest/v1beta1/orgUnits.memberships/move

gsm orgUnitsMemberships move batch [flags]

Options

      --batchThreads int                Specify the number of threads that should be used for batch commands (overrides value in config file. Max 16)
      --customer int                    Customer that this OrgMembership belongs to.
                                        All authorization will happen on the role assignments of this customer.
                                        Format: customers/{$customerId}
                                        where $customerId is the id from the Admin SDK Customer resource.
                                        You may also use customers/my_customer to specify your own organization.
      --customer_ALL string             Same as customer but value is applied to all lines in the CSV file
      --delimiter string                Delimiter to use for CSV columns. Must be exactly one character. Default is ';'
      --destinationOrgUnit int          OrgUnit where the membership will be moved to.
                                        Format: orgUnits/{$orgUnitId}
                                        where $orgUnitId is the orgUnitId from the Admin SDK OrgUnit resource.
                                        If you don't specify the "orgUnits/" prefix, GSM will automatically prepend it to the request.
      --destinationOrgUnit_ALL string   Same as destinationOrgUnit but value is applied to all lines in the CSV file
      --driveId int                     The driveId of the Shared Drive to be moved.
                                        Use this instead of the name, if you just want to specifiy the driveId.
                                        GSM will construct the following "name" for you:
                                        orgUnits/-/memberships/shared_drive;{$driveId}
      --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
  -h, --help                            help for batch
      --name int                        Use "driveId" instead if you just want to specifify the driveId!
                                        The resource name of the OrgMembership.
                                        Format: orgUnits/{$orgUnitId}/memberships/{$membership}
                                        The $orgUnitId is the orgUnitId from the Admin SDK OrgUnit resource. To manage a Membership without specifying source orgUnitId, this API also supports the wildcard character '-' for $orgUnitId per https://google.aip.dev/159.
                                        The $membership shall be of the form {$entityType};{$memberId}, where $entityType is the enum value of OrgMembership.EntityType, and memberId is the id from Drive API (V3) Drive resource for OrgMembership.EntityType.SHARED_DRIVE.
      --path string                     Path of the import file (CSV)
      --skipHeader                      Whether to skip the first row (header)

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

  • gsm orgUnitsMemberships move - Move an OrgMembership to a new OrgUnit. NOTE: This is an atomic copy-and-delete. The resource will have a new copy under the destination OrgUnit and be deleted from the source OrgUnit. The resource can only be searched under the destination OrgUnit afterwards.