batch
Batch creates groups using a CSV file as input.
Synopsis
Implements the API documented at https://cloud.google.com/identity/docs/reference/rest/v1/groups/create
gsm groupsCi create batch [flags]
Options
--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 ';'
--description int An extended description to help users determine the purpose of a Group.
Must not be longer than 4,096 characters.
--description_ALL string Same as description but value is applied to all lines in the CSV file
--displayName int The display name of the Group.
--displayName_ALL string Same as displayName 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
-h, --help help for batch
--id int The ID of the entity.
For Google-managed entities, the id must be the email address.
For external-identity-mapped entities, the id must be a string conforming to the Identity Source's requirements.
Must be unique within a namespace.
--initialGroupConfig int Required. The initial configuration option for the Group.
WITH_INITIAL_OWNER - The end user making the request will be added as the initial owner of the Group.
EMPTY - An empty group is created without any initial owners.
This can only be used by admins of the domain.
--initialGroupConfig_ALL string Same as initialGroupConfig but value is applied to all lines in the CSV file
--labels int One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value.
Google Groups are the default type of group and have a label with a key of cloudidentity.googleapis.com/groups.discussion_forum and an empty value.
Existing Google Groups can have an additional label with a key of cloudidentity.googleapis.com/groups.security and an empty value added to them. This is an immutable change and the security label cannot be removed once added.
Dynamic groups have a label with a key of cloudidentity.googleapis.com/groups.dynamic.
Identity-mapped groups for Cloud Search have a label with a key of system/groups/external and an empty value.
Examples: {"cloudidentity.googleapis.com/groups.discussion_forum": ""} or {"system/groups/external": ""}.
An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
--labels_ALL strings Same as labels but value is applied to all lines in the CSV file
--namespace int The namespace in which the entity exists.
If not specified, the EntityKey represents a Google-managed entity such as a Google user or a Google Group.
If specified, the EntityKey represents an external-identity-mapped group.
The namespace must correspond to an identity source created in Admin Console and must be in the form of identitysources/{identity_source_id}.
--namespace_ALL string Same as namespace but value is applied to all lines in the CSV file
--parent int Must be of the form identitysources/{identity_source_id} for external- identity-mapped groups or customers/{customer_id} for Google Groups.
--parent_ALL string Same as parent but value is applied to all lines in the CSV file
--path string Path of the import file (CSV)
--queries int Memberships will be the union of all queries.
Only one entry with USER resource is currently supported.
Can be used multiple times in the form of "--queries query=...;resourceType=..."
You may use the following properties:
resourceType - The following values are valid:
- USER - For queries on User
query - Query that determines the memberships of the dynamic group.
Examples:
- All users with at least one organizations.department of engineering:
user.organizations.exists(org, org.department=='engineering')
- All users with at least one location that has area of foo and building_id of bar:
user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')
--queries_ALL stringArray Same as queries but value is applied to all lines in the CSV file
--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 groupsCi create - Creates a Group.