diff --git a/docs/Calendars-Events.md b/docs/Calendars-Events.md index 677fa06c..87019e08 100644 --- a/docs/Calendars-Events.md +++ b/docs/Calendars-Events.md @@ -11,7 +11,7 @@ - [Add calendar attendees](#add-calendar-attendees) - [Update calendar events](#update-calendar-events) - [Update calendar attendees](#update-calendar-attendees) -- [Specify calendar attendees with JSON data](#specify-calendar-attendees-with-JSON-data) +- [Specify calendar attendees with JSON data](#specify-calendar-attendees-with-json-data) - [Delete selected calendar events](#delete-selected-calendar-events) - [Delete all calendar events](#delete-all-calendar-events) - [Move calendar events to another calendar](#move-calendar-events-to-another-calendar) diff --git a/docs/Groups.md b/docs/Groups.md index a989c110..8150d5f6 100644 --- a/docs/Groups.md +++ b/docs/Groups.md @@ -11,7 +11,7 @@ - [GUI API Group settings mapping](#gui-api-group-settings-mapping) - [GUI API Group access type settings mapping](#gui-api-group-access-type-settings-mapping) - [Manage groups](#manage-groups) -- [Update a group's settings with JSON data](#update-a-groups-settings-with-JSON-data) +- [Update a group's settings with JSON data](#update-a-groups-settings-with-json-data) - [Display information about specific groups](#display-information-about-specific-groups) - [Display information about selected groups](#display-information-about-selected-groups) - [Display a group and its parents](#Display-a-group-and-its-parents) diff --git a/docs/Running-GAMADV-XTD3-securely-on-a-Google-Compute-Engine.md b/docs/Running-GAMADV-XTD3-securely-on-a-Google-Compute-Engine.md index 0cf8365a..d5bc929f 100644 --- a/docs/Running-GAMADV-XTD3-securely-on-a-Google-Compute-Engine.md +++ b/docs/Running-GAMADV-XTD3-securely-on-a-Google-Compute-Engine.md @@ -1,5 +1,5 @@ # Running GAMADV-XTD3 securely on a Google Compute Engine -- [Thanks](#Thanks) +- [thanks](#thanks) - [Introduction](#introduction) - [Setup Steps](#setup-steps) diff --git a/docs/Users-Calendars-Events.md b/docs/Users-Calendars-Events.md index d1e3e4a2..81a3c582 100644 --- a/docs/Users-Calendars-Events.md +++ b/docs/Users-Calendars-Events.md @@ -11,7 +11,7 @@ - [Update calendar events](#update-calendar-events) - [Add calendar attendees](#add-calendar-attendees) - [Update calendar attendees](#update-calendar-attendees) -- [Specify calendar attendees with JSON data](#specify-calendar-attendees-with-JSON-data) +- [Specify calendar attendees with JSON data](#specify-calendar-attendees-with-json-data) - [Delete selected calendar events](#delete-selected-calendar-events) - [Delete all calendar events](#delete-all-calendar-events) - [Move calendar events to another calendar](#move-calendar-events-to-another-calendar) diff --git a/docs/Users-Drive-Files-Display.md b/docs/Users-Drive-Files-Display.md index 4e841b7c..f67620e7 100644 --- a/docs/Users-Drive-Files-Display.md +++ b/docs/Users-Drive-Files-Display.md @@ -7,7 +7,7 @@ - [Return Codes](#return-codes) - [Display file information](#display-file-information) - [Display file paths](#display-file-paths) -- [Select files for Display file counts, list, tree](#select-files-for-Display-file-counts-list-tree) +- [Select files for Display file counts, list, tree](#select-files-for-display-file-counts-list-tree) - [File selection definitions](#file-selection-definitions) - [File selection defaults](#file-selection-defaults) - [File selection by query](#file-selection-by-query) @@ -634,7 +634,7 @@ By default, print filecounts displays counts of all files owned by the specified The `showsize` option displays the total size (in bytes) of the files counted. -See [Select files for Display file counts, list, tree](#select-files-for-Display-file-counts-list-tree) +See [Select files for Display file counts, list, tree](#select-files-for-display-file-counts-list-tree) Use the `excludetrashed` option to suppress counting files in the trash. @@ -796,7 +796,7 @@ gam show filetree ``` By default, the file tree starting at the root and all orphans are shown. -See [Select files for Display file counts, list, tree](#select-files-for-Display-file-counts-list-tree) +See [Select files for Display file counts, list, tree](#select-files-for-display-file-counts-list-tree) ## File selection starting point for Display file tree You can specify a specific folder from which to select files. @@ -866,7 +866,7 @@ When `allfields` is specified (or no fields are specified), use `showshareddrive when shared drives are queried/selected. In this case, the Drive API returns the permission IDs but not the permissions themselves so GAM makes an additional API call per file to get the permissions. -See [Select files for Display file counts, list, tree](#select-files-for-Display-file-counts-list-tree) +See [Select files for Display file counts, list, tree](#select-files-for-display-file-counts-list-tree) ## File selection by name and entity shortcuts for Display file list Select a subset of files by pre-defined queries. @@ -1359,7 +1359,7 @@ gam print diskusage [todrive )* [noprogress] [show all|summary|summaryandtrash] ``` -For each folder in ``, the following items are displayed: +For each folder in ``, the following items are displayed: * `User` - The email address of the user in `` * `Owner` - The email address of the owner of the folder; omitted when displaying disk usage on Shared Drives * `ownedByMe` - True if the folder is owned by `User`, False otherwise; omitted when displaying disk usage on Shared Drives @@ -1411,9 +1411,9 @@ Add additional columns of data from the command line to the output: By default, progress messages are displayed for each folder, use `noprogress` to suppress these messages. Use the `show` option to control the display of data: -* `all` - Display a row for every folder in `` and a row detailing items in the trash when `excludetrashed` is omitted. This is the default. -* `summary` - Display a single row for the first folder in `` -* `summaryandtrash` - Display a single row for the first folder in `` and a row detailing items in the trash when `excludetrashed` is omitted. +* `show all` - Display a row for every folder in `` and a row detailing items in the trash when `excludetrashed` is omitted. This is the default. +* `show summary` - Display a single row for the first folder in `` +* `show summaryandtrash` - Display a single row for the first folder in `` and a row detailing items in the trash when `excludetrashed` is omitted. ### Examples ``` diff --git a/docs/Users.md b/docs/Users.md index 3690b2c5..a2ae4892 100644 --- a/docs/Users.md +++ b/docs/Users.md @@ -13,7 +13,7 @@ - [Define schema fields](#define-schema-fields) - [Clear schema fields](#clear-schema-fields) - [Create a user](#create-a-user) - - [Specify a user's attributes with JSON data](#specify-a-users-attributes-with-JSON-data) + - [Specify a user's attributes with JSON data](#specify-a-users-attributes-with-json-data) - [Verify mailbox creation](#verify-mailbox-creation) - [Update a user](#update-a-user) - [Special case processing for update user](#special-case-processing-for-update-user) @@ -21,9 +21,9 @@ - [Update a user's name](#update-a-users-name) - [Update a user's password](#update-a-users-password) - [Update a user's primary email address](#update-a-users-primary-email-address) - - [Update a user's attributes with JSON data](#update-a-users-attributes-with-JSON-data) + - [Update a user's attributes with JSON data](#update-a-users-attributes-with-json-data) - [Update a user's OU based on group membership](#update-a-users-ou-based-on-group-membership) - - [Do not update a user's OU if currently in a special purpose OU](#do-not-update-a-users-OU-if-currently-in-a-special-purpose-ou) + - [Do not update a user's OU if currently in a special purpose OU](#do-not-update-a-users-ou-if-currently-in-a-special-purpose-ou) - [Delete or suspend users](#delete-or-suspend-users) - [Undelete or unsuspend users](#undelete-or-unsuspend-users) - [Display information about users](#display-information-about-users) @@ -34,10 +34,10 @@ - [Print a header row and primaryEmail for all users](#print-a-header-row-and-primaryemail-for-all-users) - [Print user details](#print-user-details) - [Print a header row and fields for selected users](#print-a-header-row-and-fields-for-selected-users) - - [Print a header row and fields for users specified by ``](#print-a-header-row-and-fields-for-users-specified-by-UserTypeEntity) + - [Print a header row and fields for users specified by ``](#print-a-header-row-and-fields-for-users-specified-by-usertypeentity) - [Print user domain counts](#print-user-domain-counts) - [Print domain counts for users in a specific domain and/or selected by a query](#print-domain-counts-for-users-in-a-specific-domain-and-or-selected-by-a-query) - - [Print domain counts for users specified by ``](#print-domain-counts-for-users-specified-by-UserTypeEntity) + - [Print domain counts for users specified by ``](#print-domain-counts-for-users-specified-by-usertypeentity) - [Print user list](#print-user-list) ## API documentation diff --git a/docs/Using-GAMADV-XTD3-with-a-YubiKey.md b/docs/Using-GAMADV-XTD3-with-a-YubiKey.md index 8e1bde2f..9e96cef0 100644 --- a/docs/Using-GAMADV-XTD3-with-a-YubiKey.md +++ b/docs/Using-GAMADV-XTD3-with-a-YubiKey.md @@ -1,5 +1,5 @@ # Using GAMADV-XTD3 with a YubiKey -- [Thanks](#Thanks) +- [Thanks](#thanks) - [Introduction](#introduction) - [FAQs](#faqs) - [Setup Steps](#setup-steps) diff --git a/docs/Using-GAMADV-XTD3-with-a-delegated-admin-service-account.md b/docs/Using-GAMADV-XTD3-with-a-delegated-admin-service-account.md index b04d6aa2..0b792e61 100644 --- a/docs/Using-GAMADV-XTD3-with-a-delegated-admin-service-account.md +++ b/docs/Using-GAMADV-XTD3-with-a-delegated-admin-service-account.md @@ -1,5 +1,5 @@ # Using GAMADV-XTD3 with a delegated admin service account -- [Thanks](#Thanks) +- [Thanks](#thanks) - [Introduction](#introduction) - [Advantages](#advantages) - [Disadvantages](#disadvantages) diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 812d7d3a..9636bd11 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -40380,8 +40380,9 @@ def createUserAddAliases(cd, user, aliasList, i, count): # [addnumericsuffixonduplicate ] def doCreateUser(): cd = buildGAPIObject(API.DIRECTORY) - body, notify, tagReplacements, addGroups, addAliases, PwdOpts, _, _, _, \ - parameters, resolveConflictAccount = getUserAttributes(cd, + body, notify, tagReplacements, addGroups, addAliases, PwdOpts, \ + _, _, _, \ + parameters, resolveConflictAccount = getUserAttributes(cd, False, noUid=True) suffix = 0 @@ -40483,8 +40484,9 @@ def updateUsers(entityList): cd = buildGAPIObject(API.DIRECTORY) ci = None body, notify, tagReplacements, addGroups, addAliases, PwdOpts, \ - updatePrimaryEmail, notFoundBody, groupOrgUnitMap, parameters, \ - _ = getUserAttributes(cd, True) + updatePrimaryEmail, notFoundBody, groupOrgUnitMap, \ + parameters, resolveConflictAccount = getUserAttributes(cd, + True) vfe = 'primaryEmail' in body and body['primaryEmail'][:4].lower() == 'vfe@' if body.get('orgUnitPath', '') and parameters['immutableOUs']: ubody = body.copy() @@ -40580,7 +40582,9 @@ def updateUsers(entityList): throwReasons=[GAPI.DUPLICATE, GAPI.DOMAIN_NOT_FOUND, GAPI.FORBIDDEN, GAPI.INVALID, GAPI.INVALID_INPUT, GAPI.INVALID_PARAMETER, GAPI.INVALID_ORGUNIT, GAPI.INVALID_SCHEMA_VALUE], - body=body, fields=fields) + body=body, + fields=fields, + resolveConflictAccount=resolveConflictAccount) entityActionPerformed([Ent.USER, body['primaryEmail']], i, count) if PwdOpts.filename and PwdOpts.notFoundPassword: writeFile(PwdOpts.filename, f'{user},{PwdOpts.notFoundPassword}\n', mode='a', continueOnError=True)