# Admin Directory API . users

## Instance Methods

Returns the aliases Resource.

Returns the photos Resource.

Delete user

retrieve user

create user.

Retrieve either deleted users or all users in a domain (paginated)

Retrieves the next page of results.

change admin status of a user

update user. This method supports patch semantics.

Undelete a deleted user

update user

Watch for changes in users list

### Method Details

`delete(userKey)`

    Delete user

    Args:
      userKey: string, Email or immutable Id of the user (required)

`get(userKey, projection=None, customFieldMask=None, viewType=None)`

    retrieve user

    Args:
      userKey: string, Email or immutable Id of the user (required)
      projection: string, What subset of fields to fetch for this user.
        Allowed values
          basic - Do not include any custom fields for the user.
          custom - Include custom fields from schemas mentioned in customFieldMask.
          full - Include all fields associated with this user.
      customFieldMask: string, Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.
      viewType: string, Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.
        Allowed values
          admin_view - Fetches the ADMIN_VIEW of the user.
          domain_public - Fetches the DOMAIN_PUBLIC view of the user.

    Returns:
      An object of the form:

        { # JSON template for User object in Directory API.
          "addresses": "",
          "posixAccounts": "",
          "phones": "",
          "locations": "",
          "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
          "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
          "suspended": True or False, # Indicates if user is suspended
          "id": "A String", # Unique identifier of User (Read-only)
          "aliases": [ # List of aliases (Read-only)
            "A String",
          ],
          "nonEditableAliases": [ # List of non editable aliases (Read-only)
            "A String",
          ],
          "customSchemas": { # Custom fields of the user.
            "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
              "a_key": "",
            },
          },
          "deletionTime": "A String",
          "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
          "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
          "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
          "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
          "relations": "",
          "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
          "ims": "",
          "etag": "A String", # ETag of the resource.
          "lastLoginTime": "A String", # User's last login time. (Read-only)
          "orgUnitPath": "A String", # OrgUnit of User
          "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
          "externalIds": "",
          "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
          "sshPublicKeys": "",
          "primaryEmail": "A String", # username of User
          "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
          "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
          "password": "A String", # User's password
          "emails": "",
          "organizations": "",
          "kind": "admin#directory#user", # Kind of resource this is.
          "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
          "name": { # JSON template for name of a user in Directory API. # User's name
            "givenName": "A String", # First Name
            "fullName": "A String", # Full Name
            "familyName": "A String", # Last Name
          },
          "notes": "",
          "creationTime": "A String", # User's G Suite account creation time. (Read-only)
          "websites": "",
          "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
          "customerId": "A String", # CustomerId of User (Read-only)
        }

`insert(body)`

    create user.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # JSON template for User object in Directory API.
        "addresses": "",
        "posixAccounts": "",
        "phones": "",
        "locations": "",
        "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
        "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
        "suspended": True or False, # Indicates if user is suspended
        "id": "A String", # Unique identifier of User (Read-only)
        "aliases": [ # List of aliases (Read-only)
          "A String",
        ],
        "nonEditableAliases": [ # List of non editable aliases (Read-only)
          "A String",
        ],
        "customSchemas": { # Custom fields of the user.
          "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
            "a_key": "",
          },
        },
        "deletionTime": "A String",
        "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
        "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
        "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
        "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
        "relations": "",
        "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
        "ims": "",
        "etag": "A String", # ETag of the resource.
        "lastLoginTime": "A String", # User's last login time. (Read-only)
        "orgUnitPath": "A String", # OrgUnit of User
        "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
        "externalIds": "",
        "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
        "sshPublicKeys": "",
        "primaryEmail": "A String", # username of User
        "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
        "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
        "password": "A String", # User's password
        "emails": "",
        "organizations": "",
        "kind": "admin#directory#user", # Kind of resource this is.
        "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
        "name": { # JSON template for name of a user in Directory API. # User's name
          "givenName": "A String", # First Name
          "fullName": "A String", # Full Name
          "familyName": "A String", # Last Name
        },
        "notes": "",
        "creationTime": "A String", # User's G Suite account creation time. (Read-only)
        "websites": "",
        "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
        "customerId": "A String", # CustomerId of User (Read-only)
      }

    Returns:
      An object of the form:

        { # JSON template for User object in Directory API.
          "addresses": "",
          "posixAccounts": "",
          "phones": "",
          "locations": "",
          "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
          "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
          "suspended": True or False, # Indicates if user is suspended
          "id": "A String", # Unique identifier of User (Read-only)
          "aliases": [ # List of aliases (Read-only)
            "A String",
          ],
          "nonEditableAliases": [ # List of non editable aliases (Read-only)
            "A String",
          ],
          "customSchemas": { # Custom fields of the user.
            "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
              "a_key": "",
            },
          },
          "deletionTime": "A String",
          "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
          "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
          "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
          "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
          "relations": "",
          "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
          "ims": "",
          "etag": "A String", # ETag of the resource.
          "lastLoginTime": "A String", # User's last login time. (Read-only)
          "orgUnitPath": "A String", # OrgUnit of User
          "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
          "externalIds": "",
          "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
          "sshPublicKeys": "",
          "primaryEmail": "A String", # username of User
          "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
          "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
          "password": "A String", # User's password
          "emails": "",
          "organizations": "",
          "kind": "admin#directory#user", # Kind of resource this is.
          "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
          "name": { # JSON template for name of a user in Directory API. # User's name
            "givenName": "A String", # First Name
            "fullName": "A String", # Full Name
            "familyName": "A String", # Last Name
          },
          "notes": "",
          "creationTime": "A String", # User's G Suite account creation time. (Read-only)
          "websites": "",
          "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
          "customerId": "A String", # CustomerId of User (Read-only)
        }

`list(orderBy=None, domain=None, projection=None, query=None, event=None, showDeleted=None, pageToken=None, sortOrder=None, maxResults=None, customer=None, customFieldMask=None, viewType=None)`

    Retrieve either deleted users or all users in a domain (paginated)

    Args:
      orderBy: string, Column to use for sorting results
        Allowed values
          email - Primary email of the user.
          familyName - User's family name.
          givenName - User's given name.
      domain: string, Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead.
      projection: string, What subset of fields to fetch for this user.
        Allowed values
          basic - Do not include any custom fields for the user.
          custom - Include custom fields from schemas mentioned in customFieldMask.
          full - Include all fields associated with this user.
      query: string, Query string search. Should be of the form "". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users
      event: string, Event on which subscription is intended (if subscribing)
        Allowed values
          add - User Created Event
          delete - User Deleted Event
          makeAdmin - User Admin Status Change Event
          undelete - User Undeleted Event
          update - User Updated Event
      showDeleted: string, If set to true retrieves the list of deleted users. Default is false
      pageToken: string, Token to specify next page in the list
      sortOrder: string, Whether to return results in ascending or descending order.
        Allowed values
          ASCENDING - Ascending order.
          DESCENDING - Descending order.
      maxResults: integer, Maximum number of results to return. Default is 100. Max allowed is 500
      customer: string, Immutable ID of the G Suite account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.
      customFieldMask: string, Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.
      viewType: string, Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.
        Allowed values
          admin_view - Fetches the ADMIN_VIEW of the user.
          domain_public - Fetches the DOMAIN_PUBLIC view of the user.

    Returns:
      An object of the form:

        { # JSON response template for List Users operation in Apps Directory API.
        "nextPageToken": "A String", # Token used to access next page of this result.
        "kind": "admin#directory#users", # Kind of resource this is.
        "etag": "A String", # ETag of the resource.
        "trigger_event": "A String", # Event that triggered this response (only used in case of Push Response)
        "users": [ # List of user objects.
          { # JSON template for User object in Directory API.
              "addresses": "",
              "posixAccounts": "",
              "phones": "",
              "locations": "",
              "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
              "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
              "suspended": True or False, # Indicates if user is suspended
              "id": "A String", # Unique identifier of User (Read-only)
              "aliases": [ # List of aliases (Read-only)
                "A String",
              ],
              "nonEditableAliases": [ # List of non editable aliases (Read-only)
                "A String",
              ],
              "customSchemas": { # Custom fields of the user.
                "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
                  "a_key": "",
                },
              },
              "deletionTime": "A String",
              "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
              "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
              "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
              "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
              "relations": "",
              "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
              "ims": "",
              "etag": "A String", # ETag of the resource.
              "lastLoginTime": "A String", # User's last login time. (Read-only)
              "orgUnitPath": "A String", # OrgUnit of User
              "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
              "externalIds": "",
              "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
              "sshPublicKeys": "",
              "primaryEmail": "A String", # username of User
              "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
              "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
              "password": "A String", # User's password
              "emails": "",
              "organizations": "",
              "kind": "admin#directory#user", # Kind of resource this is.
              "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
              "name": { # JSON template for name of a user in Directory API. # User's name
                "givenName": "A String", # First Name
                "fullName": "A String", # Full Name
                "familyName": "A String", # Last Name
              },
              "notes": "",
              "creationTime": "A String", # User's G Suite account creation time. (Read-only)
              "websites": "",
              "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
              "customerId": "A String", # CustomerId of User (Read-only)
            },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`makeAdmin(userKey, body)`

    change admin status of a user

    Args:
      userKey: string, Email or immutable Id of the user as admin (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # JSON request template for setting/revoking admin status of a user in Directory API.
        "status": True or False, # Boolean indicating new admin status of the user
      }

`patch(userKey, body)`

    update user. This method supports patch semantics.

    Args:
      userKey: string, Email or immutable Id of the user. If Id, it should match with id of user object (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # JSON template for User object in Directory API.
        "addresses": "",
        "posixAccounts": "",
        "phones": "",
        "locations": "",
        "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
        "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
        "suspended": True or False, # Indicates if user is suspended
        "id": "A String", # Unique identifier of User (Read-only)
        "aliases": [ # List of aliases (Read-only)
          "A String",
        ],
        "nonEditableAliases": [ # List of non editable aliases (Read-only)
          "A String",
        ],
        "customSchemas": { # Custom fields of the user.
          "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
            "a_key": "",
          },
        },
        "deletionTime": "A String",
        "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
        "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
        "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
        "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
        "relations": "",
        "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
        "ims": "",
        "etag": "A String", # ETag of the resource.
        "lastLoginTime": "A String", # User's last login time. (Read-only)
        "orgUnitPath": "A String", # OrgUnit of User
        "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
        "externalIds": "",
        "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
        "sshPublicKeys": "",
        "primaryEmail": "A String", # username of User
        "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
        "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
        "password": "A String", # User's password
        "emails": "",
        "organizations": "",
        "kind": "admin#directory#user", # Kind of resource this is.
        "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
        "name": { # JSON template for name of a user in Directory API. # User's name
          "givenName": "A String", # First Name
          "fullName": "A String", # Full Name
          "familyName": "A String", # Last Name
        },
        "notes": "",
        "creationTime": "A String", # User's G Suite account creation time. (Read-only)
        "websites": "",
        "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
        "customerId": "A String", # CustomerId of User (Read-only)
      }

    Returns:
      An object of the form:

        { # JSON template for User object in Directory API.
          "addresses": "",
          "posixAccounts": "",
          "phones": "",
          "locations": "",
          "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
          "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
          "suspended": True or False, # Indicates if user is suspended
          "id": "A String", # Unique identifier of User (Read-only)
          "aliases": [ # List of aliases (Read-only)
            "A String",
          ],
          "nonEditableAliases": [ # List of non editable aliases (Read-only)
            "A String",
          ],
          "customSchemas": { # Custom fields of the user.
            "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
              "a_key": "",
            },
          },
          "deletionTime": "A String",
          "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
          "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
          "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
          "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
          "relations": "",
          "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
          "ims": "",
          "etag": "A String", # ETag of the resource.
          "lastLoginTime": "A String", # User's last login time. (Read-only)
          "orgUnitPath": "A String", # OrgUnit of User
          "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
          "externalIds": "",
          "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
          "sshPublicKeys": "",
          "primaryEmail": "A String", # username of User
          "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
          "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
          "password": "A String", # User's password
          "emails": "",
          "organizations": "",
          "kind": "admin#directory#user", # Kind of resource this is.
          "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
          "name": { # JSON template for name of a user in Directory API. # User's name
            "givenName": "A String", # First Name
            "fullName": "A String", # Full Name
            "familyName": "A String", # Last Name
          },
          "notes": "",
          "creationTime": "A String", # User's G Suite account creation time. (Read-only)
          "websites": "",
          "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
          "customerId": "A String", # CustomerId of User (Read-only)
        }

`undelete(userKey, body)`

    Undelete a deleted user

    Args:
      userKey: string, The immutable id of the user (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # JSON request template to undelete a user in Directory API.
        "orgUnitPath": "A String", # OrgUnit of User
      }

`update(userKey, body)`

    update user

    Args:
      userKey: string, Email or immutable Id of the user. If Id, it should match with id of user object (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # JSON template for User object in Directory API.
        "addresses": "",
        "posixAccounts": "",
        "phones": "",
        "locations": "",
        "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
        "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
        "suspended": True or False, # Indicates if user is suspended
        "id": "A String", # Unique identifier of User (Read-only)
        "aliases": [ # List of aliases (Read-only)
          "A String",
        ],
        "nonEditableAliases": [ # List of non editable aliases (Read-only)
          "A String",
        ],
        "customSchemas": { # Custom fields of the user.
          "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
            "a_key": "",
          },
        },
        "deletionTime": "A String",
        "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
        "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
        "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
        "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
        "relations": "",
        "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
        "ims": "",
        "etag": "A String", # ETag of the resource.
        "lastLoginTime": "A String", # User's last login time. (Read-only)
        "orgUnitPath": "A String", # OrgUnit of User
        "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
        "externalIds": "",
        "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
        "sshPublicKeys": "",
        "primaryEmail": "A String", # username of User
        "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
        "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
        "password": "A String", # User's password
        "emails": "",
        "organizations": "",
        "kind": "admin#directory#user", # Kind of resource this is.
        "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
        "name": { # JSON template for name of a user in Directory API. # User's name
          "givenName": "A String", # First Name
          "fullName": "A String", # Full Name
          "familyName": "A String", # Last Name
        },
        "notes": "",
        "creationTime": "A String", # User's G Suite account creation time. (Read-only)
        "websites": "",
        "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
        "customerId": "A String", # CustomerId of User (Read-only)
      }

    Returns:
      An object of the form:

        { # JSON template for User object in Directory API.
          "addresses": "",
          "posixAccounts": "",
          "phones": "",
          "locations": "",
          "isDelegatedAdmin": True or False, # Boolean indicating if the user is delegated admin (Read-only)
          "thumbnailPhotoEtag": "A String", # ETag of the user's photo (Read-only)
          "suspended": True or False, # Indicates if user is suspended
          "id": "A String", # Unique identifier of User (Read-only)
          "aliases": [ # List of aliases (Read-only)
            "A String",
          ],
          "nonEditableAliases": [ # List of non editable aliases (Read-only)
            "A String",
          ],
          "customSchemas": { # Custom fields of the user.
            "a_key": { # JSON template for a set of custom properties (i.e. all fields in a particular schema)
              "a_key": "",
            },
          },
          "deletionTime": "A String",
          "suspensionReason": "A String", # Suspension reason if user is suspended (Read-only)
          "thumbnailPhotoUrl": "A String", # Photo Url of the user (Read-only)
          "isEnrolledIn2Sv": True or False, # Is enrolled in 2-step verification (Read-only)
          "isAdmin": True or False, # Boolean indicating if the user is admin (Read-only)
          "relations": "",
          "includeInGlobalAddressList": True or False, # Boolean indicating if user is included in Global Address List
          "ims": "",
          "etag": "A String", # ETag of the resource.
          "lastLoginTime": "A String", # User's last login time. (Read-only)
          "orgUnitPath": "A String", # OrgUnit of User
          "agreedToTerms": True or False, # Indicates if user has agreed to terms (Read-only)
          "externalIds": "",
          "ipWhitelisted": True or False, # Boolean indicating if ip is whitelisted
          "sshPublicKeys": "",
          "primaryEmail": "A String", # username of User
          "isEnforcedIn2Sv": True or False, # Is 2-step verification enforced (Read-only)
          "isMailboxSetup": True or False, # Is mailbox setup (Read-only)
          "password": "A String", # User's password
          "emails": "",
          "organizations": "",
          "kind": "admin#directory#user", # Kind of resource this is.
          "hashFunction": "A String", # Hash function name for password. Supported are MD5, SHA-1 and crypt
          "name": { # JSON template for name of a user in Directory API. # User's name
            "givenName": "A String", # First Name
            "fullName": "A String", # Full Name
            "familyName": "A String", # Last Name
          },
          "notes": "",
          "creationTime": "A String", # User's G Suite account creation time. (Read-only)
          "websites": "",
          "changePasswordAtNextLogin": True or False, # Boolean indicating if the user should change password in next login
          "customerId": "A String", # CustomerId of User (Read-only)
        }

`watch(body, orderBy=None, domain=None, projection=None, query=None, event=None, showDeleted=None, pageToken=None, sortOrder=None, maxResults=None, customer=None, customFieldMask=None, viewType=None)`

    Watch for changes in users list

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # An notification channel used to watch for resource changes.
        "resourceUri": "A String", # A version-specific identifier for the watched resource.
        "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
        "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
        "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
        "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
        "params": { # Additional parameters controlling delivery channel behavior. Optional.
          "a_key": "A String", # Declares a new parameter by name.
        },
        "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
        "address": "A String", # The address where notifications are delivered for this channel.
        "type": "A String", # The type of delivery mechanism used for this channel.
        "id": "A String", # A UUID or similar unique string that identifies this channel.
      }

      orderBy: string, Column to use for sorting results
        Allowed values
          email - Primary email of the user.
          familyName - User's family name.
          givenName - User's given name.
      domain: string, Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead.
      projection: string, What subset of fields to fetch for this user.
        Allowed values
          basic - Do not include any custom fields for the user.
          custom - Include custom fields from schemas mentioned in customFieldMask.
          full - Include all fields associated with this user.
      query: string, Query string search. Should be of the form "". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users
      event: string, Event on which subscription is intended (if subscribing)
        Allowed values
          add - User Created Event
          delete - User Deleted Event
          makeAdmin - User Admin Status Change Event
          undelete - User Undeleted Event
          update - User Updated Event
      showDeleted: string, If set to true retrieves the list of deleted users. Default is false
      pageToken: string, Token to specify next page in the list
      sortOrder: string, Whether to return results in ascending or descending order.
        Allowed values
          ASCENDING - Ascending order.
          DESCENDING - Descending order.
      maxResults: integer, Maximum number of results to return. Default is 100. Max allowed is 500
      customer: string, Immutable ID of the G Suite account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.
      customFieldMask: string, Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.
      viewType: string, Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.
        Allowed values
          admin_view - Fetches the ADMIN_VIEW of the user.
          domain_public - Fetches the DOMAIN_PUBLIC view of the user.

    Returns:
      An object of the form:

        { # An notification channel used to watch for resource changes.
          "resourceUri": "A String", # A version-specific identifier for the watched resource.
          "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
          "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
          "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
          "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
          "params": { # Additional parameters controlling delivery channel behavior. Optional.
            "a_key": "A String", # Declares a new parameter by name.
          },
          "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
          "address": "A String", # The address where notifications are delivered for this channel.
          "type": "A String", # The type of delivery mechanism used for this channel.
          "id": "A String", # A UUID or similar unique string that identifies this channel.
        }