GoSpace Manager

Version v0.11.0

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

recursive

Updates users by referencing one or more organizational units and/or groups.

Synopsis

Implements the API documented at https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/update

gsm users update recursive [flags]

Options

      --addresses strings            Specifies addresses for the user. May be used multiple times in the form of:
                                     '--addresses "country=...;countryCode=..;customType=..."', etc.
                                     You can use the following properties:
                                     country             - Country.
                                     countryCode         - The country code. Uses the ISO 3166-1 standard.
                                     customType          - If the address type is custom, this property contains the custom value.
                                     extendedAddress     - For extended addresses, such as an address that includes a sub-region.
                                     formatted           - A full and unstructured postal address. This is not synced with the structured address fields.
                                     locality            - The town or city of the address.
                                     poBox               - The post office box, if present.
                                     postalCode          - The ZIP or postal code, if applicable.
                                     primary             - BOOL! If this is the user's primary address. The addresses list may contain only one primary address.
                                     region              - The abbreviated province or state.
                                     sourceIsStructured  - BOOL! Indicates if the user-supplied address was formatted. Formatted addresses are not currently supported.
                                     streetAddress       - The street address, such as 1600 Amphitheatre Parkway. Whitespace within the string is ignored; however, newlines are significant.
                                     type                - The address type.
                                                           Acceptable values are:
                                                             - "custom"
                                                             - "home"
                                                             - "other"
                                                             - "work"
      --archived                     Indicates if user is archived.
      --batchThreads int             Specify the number of threads that should be used for recursive commands (overrides value in config file. Max 16)
      --changePasswordAtNextLogin    Indicates if the user is forced to change their password at next login.
                                     This setting doesn't apply when the user signs in via a third-party identity provider.
      --customGender string          Custom gender.
      --familyName string            The user's last name. Required when creating a user account.
      --fields string                Fields allows partial responses to be retrieved.
                                     See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
      --genderType string            Gender.
                                     Acceptable values are:
                                     female
                                     male
                                     other
                                     unknown
      --givenName string             The user's first name. Required when creating a user account.
      --groupEmail strings           An email address of a group. Can be used multiple times. Note that a group will include recursive memberships!
  -h, --help                         help for recursive
      --includeInGlobalAddressList   Indicates if the user's profile is visible in the Workspace global address list when the contact sharing feature is enabled for the domain.
                                     For more information about excluding user profiles, see the administration help center.
      --ipWhitelisted                If true, the user's IP address is white listed.
      --keywords strings             The user's keywords. The maximum allowed data size for this field is 1Kb.
                                     May be used multiple times in the form of:
                                     '--keywords "customType=...;type=..;value=..."'
                                     You can use the following properties:
                                     customType  - Custom Type.
                                     type        - Each entry can have a type which indicates standard type of that entry.
                                                   For example, keyword could be of type occupation or outlook.
                                                   In addition to the standard type, an entry can have a custom type and can give it any name.
                                                   Such types should have the CUSTOM value as type and also have a customType value.
                                                   Acceptable values are:
                                                     - "custom"
                                                     - "mission"
                                                     - "occupation"
                                                     - "outlook"
                                     value  -      Keyword.
      --languages strings            The user's languages. The maximum allowed data size for this field is 1Kb.
                                     May be used multiple times in the form of:
                                     '--languages "customLanguage=...;preference=..."'
                                     '--languages "languageCode=...;preference=..."'
                                     You can use the following properties:
                                     customLanguage  - Other language.
                                                       A user can provide their own language name if there is no corresponding Google III language code.
                                                       If this is set, LanguageCode can't be set
                                     languageCode    - Language Code.
                                                       Should be used for storing Google III LanguageCode string representation for language.
                                                       Illegal values cause SchemaException.
                                     preference      - Optional.
                                                       If present, controls whether the specified languageCode is the user's preferred language.
                                                       If customLanguage is set, this can't be set.
                                                       Allowed values are:
                                                         - preferred
                                                         - not_preferred
      --locations strings            The user's locations. The maximum allowed data size for this field is 10Kb.
                                     May be used multiple times in the form of:
                                     '--locations "area=...;buildingId=...;customType=..."', etc.
                                     You can use the following properties:
                                     area          - Textual location.
                                                     This is most useful for display purposes to concisely describe the location.
                                                     For example, "Mountain View, CA", "Near Seattle".
                                     buildingId    - Building identifier.
                                     customType    - If the location type is custom, this property contains the custom value.
                                     deskCode      - Most specific textual code of individual desk location.
                                     floorName     - Floor name/number.
                                     floorSection  - Floor section. More specific location within the floor.
                                                       For example, if a floor is divided into sections "A", "B", and "C", this field would identify one of those values.
                                     type          - The location type.
                                                     Acceptable values are:
                                                       - "custom"
                                                       - "default"
                                                       - "desk"
      --notesContentType string      Content type of note, either plain text or HTML.
                                     Default is plain text. Possible values are:
                                     text_plain
                                     text_html
      --notesValue string            Contents of notes.
      --orgUnit strings              Path of an orgUnit. Can be used multiple times. Note that an orgUnit always includes all of its children!
      --orgUnitPath string           The full path of the parent organization associated with the user.
                                     If the parent organization is the top-level, it is represented as a forward slash (/).
      --organizations strings        A list of organizations the user belongs to. The maximum allowed data size for this field is 10Kb.
                                     May be used multiple times in the form of:
                                     '--organizations "costCenter=...;customType=...;department=..."', etc.
                                     You can use the following properties:
                                     costCenter          - The cost center of the user's organization.
                                     customType          - If the value of type is custom, this property contains the custom type.
                                     department          - Specifies the department within the organization, such as 'sales' or 'engineering'.
                                     description         - The description of the organization.
                                     domain              - The domain the organization belongs to.
                                     fullTimeEquivalent  - INT! The full-time equivalent millipercent within the organization (100000 = 100%).
                                     location            - The physical location of the organization.
                                                           This does not need to be a fully qualified address.
                                     name                - The name of the organization.
                                     primary             - BOOL! Indicates if this is the user's primary organization.
                                                           A user may only have one primary organization.
                                     symbol              - Text string symbol of the organization.
                                                           For example, the text symbol for Google is GOOG.
                                     title               - The user's title within the organization, for example 'member' or 'engineer'.
                                     type                - The type of organization.
                                                           Acceptable values are:
                                                             - "domain_only"
                                                             - "school"
                                                             - "unknown"
                                                             - "work"
      --password string              Stores the password for the user account.
                                     The user's password value is required when creating a user account.
                                     It is optional when updating a user and should only be provided if the user is updating their account password.
                                     A password can contain any combination of ASCII characters.
                                     A minimum of 8 characters is required. The maximum length is 100 characters.
                                     We recommend sending the password property value as a base 16 bit, hexadecimal-encoded hash value.
                                     If a hashFunction is specified, the password must be a valid hash key.
                                     The password value is never returned in the API's response body.
      --phones strings               A list of the user's phone numbers. The maximum allowed data size for this field is 1Kb.
                                     May be used multiple times in the form of:
                                     '--phones "customType=...;primary=...;type=..."', etc.
                                     You can use the following properties:
                                     customType  - If the value of type is custom, this property contains the custom type.
                                     primary     - BOOL! Indicates if this is the user's primary phone number.
                                                   A user may only have one primary phone number.
                                     type        - The type of phone number.
                                                   Acceptable values are:
                                                     - "assistant"
                                                     - "callback"
                                                     - "car"
                                                     - "company_main"
                                                     - "custom"
                                                     - "grand_central"
                                                     - "home"
                                                     - "home_fax"
                                                     - "isdn"
                                                     - "main"
                                                     - "mobile"
                                                     - "other"
                                                     - "other_fax"
                                                     - "pager"
                                                     - "radio"
                                                     - "telex"
                                                     - "tty_tdd"
                                                     - "work"
                                                     - "work_fax"
                                                     - "work_mobile"
                                                     - "work_pager"
                                     value       - A human-readable phone number.
                                                   It may be in any telephone number format.
      --recoveryEmail string         Recovery email of the user.
      --recoveryPhone string         Recovery phone of the user.
                                     The phone number must be in the E.164 format, starting with the plus sign (+).
                                     Example: +16506661212.
      --relations strings            A list of the user's relationships to other users.
                                     The maximum allowed data size for this field is 2Kb.
                                     May be used multiple times in the form of:
                                     '--relations "customType=...;type=...;value=..."'
                                     You can use the following properties:
                                     customType  - If the value of type is custom, this property contains the custom type.
                                     type        - The type of relation.
                                                   Acceptable values are:
                                                   - "admin_assistant"
                                                   - "assistant"
                                                   - "brother"
                                                   - "child"
                                                   - "custom"
                                                   - "domestic_partner"
                                                   - "dotted_line_manager"
                                                   - "exec_assistant"
                                                   - "father"
                                                   - "friend"
                                                   - "manager"
                                                   - "mother"
                                                   - "parent"
                                                   - "partner"
                                                   - "referred_by"
                                                   - "relative"
                                                   - "sister"
                                                   - "spouse"
                                     value       - The name of the person the user is related to.
      --suspended                    Indicates if user is suspended.
      --websites strings             The user's websites.
                                     The maximum allowed data size for this field is 2Kb.
                                     May be used multiple times in the form of:
                                     '--websites "customType=...;primary=...;type=..."', etc.
                                     You can use the following properties:
                                     customType  - The custom type. Only used if the type is custom.
                                     primary     - BOOL! If this is user's primary website or not.
                                     type        - The type or purpose of the website.
                                                   For example, a website could be labeled as home or blog.
                                                   Alternatively, an entry can have a custom type.
                                                   Custom types must have a customType value.
                                                   Acceptable values are:
                                                     - "app_install_page"
                                                     - "blog"
                                                     - "custom"
                                                     - "ftp"
                                                     - "home"
                                                     - "home_page"
                                                     - "other"
                                                     - "profile"
                                                     - "reservations"
                                                     - "resume"
                                                     - "work"
                                     value       - The URL of the website.

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