UNPKG

googleapis

Version:
1,742 lines 272 kB
/** * Copyright 2019 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { OAuth2Client, JWT, Compute, UserRefreshClient } from 'google-auth-library'; import { GoogleConfigurable, MethodOptions, GlobalOptions, BodyResponseCallback, APIRequestContext } from 'googleapis-common'; import { GaxiosPromise } from 'gaxios'; export declare namespace admin_directory_v1 { interface Options extends GlobalOptions { version: 'directory_v1'; } interface StandardParameters { /** * Data format for the response. */ alt?: string; /** * Selector specifying which fields to include in a partial response. */ fields?: string; /** * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * OAuth 2.0 token for the current user. */ oauth_token?: string; /** * Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ quotaUser?: string; /** * Deprecated. Please use quotaUser instead. */ userIp?: string; } /** * Admin Directory API * * Manages enterprise resources such as users and groups, administrative notifications, security features, and more. * * @example * const {google} = require('googleapis'); * const admin = google.admin('directory_v1'); * * @namespace admin * @type {Function} * @version directory_v1 * @variation directory_v1 * @param {object=} options Options for Admin */ class Admin { context: APIRequestContext; asps: Resource$Asps; channels: Resource$Channels; chromeosdevices: Resource$Chromeosdevices; customers: Resource$Customers; domainAliases: Resource$Domainaliases; domains: Resource$Domains; groups: Resource$Groups; members: Resource$Members; mobiledevices: Resource$Mobiledevices; notifications: Resource$Notifications; orgunits: Resource$Orgunits; privileges: Resource$Privileges; resolvedAppAccessSettings: Resource$Resolvedappaccesssettings; resources: Resource$Resources; roleAssignments: Resource$Roleassignments; roles: Resource$Roles; schemas: Resource$Schemas; tokens: Resource$Tokens; users: Resource$Users; verificationCodes: Resource$Verificationcodes; constructor(options: GlobalOptions, google?: GoogleConfigurable); } /** * JSON template for Alias object in Directory API. */ interface Schema$Alias { /** * A alias email */ alias?: string; /** * ETag of the resource. */ etag?: string; /** * Unique id of the group (Read-only) Unique id of the user (Read-only) */ id?: string; /** * Kind of resource this is. */ kind?: string; /** * Group&#39;s primary email (Read-only) User&#39;s primary email (Read-only) */ primaryEmail?: string; } /** * JSON response template to list aliases in Directory API. */ interface Schema$Aliases { /** * List of alias objects. */ aliases?: any[]; /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; } /** * JSON template for App Access Collections Resource object in Directory API. */ interface Schema$AppAccessCollections { /** * List of blocked api access buckets. */ blockedApiAccessBuckets?: string[]; /** * Boolean to indicate whether to enforce app access settings on Android Drive or not. */ enforceSettingsForAndroidDrive?: boolean; /** * Error message provided by the Admin that will be shown to the user when an app is blocked. */ errorMessage?: string; /** * ETag of the resource. */ etag?: string; /** * Identifies the resource as an app access collection. Value: admin#directory#appaccesscollection */ kind?: string; /** * Unique ID of app access collection. (Readonly) */ resourceId?: string; /** * Resource name given by the customer while creating/updating. Should be unique under given customer. */ resourceName?: string; /** * Boolean that indicates whether to trust domain owned apps. */ trustDomainOwnedApps?: boolean; } /** * The template that returns individual ASP (Access Code) data. */ interface Schema$Asp { /** * The unique ID of the ASP. */ codeId?: number; /** * The time when the ASP was created. Expressed in Unix time format. */ creationTime?: string; /** * ETag of the ASP. */ etag?: string; /** * The type of the API resource. This is always admin#directory#asp. */ kind?: string; /** * The time when the ASP was last used. Expressed in Unix time format. */ lastTimeUsed?: string; /** * The name of the application that the user, represented by their userId, entered when the ASP was created. */ name?: string; /** * The unique ID of the user who issued the ASP. */ userKey?: string; } interface Schema$Asps { /** * ETag of the resource. */ etag?: string; /** * A list of ASP resources. */ items?: Schema$Asp[]; /** * The type of the API resource. This is always admin#directory#aspList. */ kind?: string; } /** * JSON template for Building object in Directory API. */ interface Schema$Building { /** * The postal address of the building. See PostalAddress for details. Note that only a single address line and region code are required. */ address?: Schema$BuildingAddress; /** * Unique identifier for the building. The maximum length is 100 characters. */ buildingId?: string; /** * The building name as seen by users in Calendar. Must be unique for the customer. For example, &quot;NYC-CHEL&quot;. The maximum length is 100 characters. */ buildingName?: string; /** * The geographic coordinates of the center of the building, expressed as latitude and longitude in decimal degrees. */ coordinates?: Schema$BuildingCoordinates; /** * A brief description of the building. For example, &quot;Chelsea Market&quot;. */ description?: string; /** * ETag of the resource. */ etags?: string; /** * The display names for all floors in this building. The floors are expected to be sorted in ascending order, from lowest floor to highest floor. For example, [&quot;B2&quot;, &quot;B1&quot;, &quot;L&quot;, &quot;1&quot;, &quot;2&quot;, &quot;2M&quot;, &quot;3&quot;, &quot;PH&quot;] Must contain at least one entry. */ floorNames?: string[]; /** * Kind of resource this is. */ kind?: string; } /** * JSON template for the postal address of a building in Directory API. */ interface Schema$BuildingAddress { /** * Unstructured address lines describing the lower levels of an address. */ addressLines?: string[]; /** * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. */ administrativeArea?: string; /** * Optional. BCP-47 language code of the contents of this address (if known). */ languageCode?: string; /** * Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use addressLines. */ locality?: string; /** * Optional. Postal code of the address. */ postalCode?: string; /** * Required. CLDR region code of the country/region of the address. */ regionCode?: string; /** * Optional. Sublocality of the address. */ sublocality?: string; } /** * JSON template for coordinates of a building in Directory API. */ interface Schema$BuildingCoordinates { /** * Latitude in decimal degrees. */ latitude?: number; /** * Longitude in decimal degrees. */ longitude?: number; } /** * JSON template for Building List Response object in Directory API. */ interface Schema$Buildings { /** * The Buildings in this page of results. */ buildings?: Schema$Building[]; /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; /** * The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results. */ nextPageToken?: string; } /** * JSON template for Calendar Resource object in Directory API. */ interface Schema$CalendarResource { /** * Unique ID for the building a resource is located in. */ buildingId?: string; /** * Capacity of a resource, number of seats in a room. */ capacity?: number; /** * ETag of the resource. */ etags?: string; featureInstances?: any; /** * Name of the floor a resource is located on. */ floorName?: string; /** * Name of the section within a floor a resource is located in. */ floorSection?: string; /** * The read-only auto-generated name of the calendar resource which includes metadata about the resource such as building name, floor, capacity, etc. For example, &quot;NYC-2-Training Room 1A (16)&quot;. */ generatedResourceName?: string; /** * The type of the resource. For calendar resources, the value is admin#directory#resources#calendars#CalendarResource. */ kind?: string; /** * The category of the calendar resource. Either CONFERENCE_ROOM or OTHER. Legacy data is set to CATEGORY_UNKNOWN. */ resourceCategory?: string; /** * Description of the resource, visible only to admins. */ resourceDescription?: string; /** * The read-only email for the calendar resource. Generated as part of creating a new calendar resource. */ resourceEmail?: string; /** * The unique ID for the calendar resource. */ resourceId?: string; /** * The name of the calendar resource. For example, &quot;Training Room 1A&quot;. */ resourceName?: string; /** * The type of the calendar resource, intended for non-room resources. */ resourceType?: string; /** * Description of the resource, visible to users and admins. */ userVisibleDescription?: string; } /** * JSON template for Calendar Resource List Response object in Directory API. */ interface Schema$CalendarResources { /** * ETag of the resource. */ etag?: string; /** * The CalendarResources in this page of results. */ items?: Schema$CalendarResource[]; /** * Identifies this as a collection of CalendarResources. This is always admin#directory#resources#calendars#calendarResourcesList. */ kind?: string; /** * The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results. */ nextPageToken?: string; } /** * An notification channel used to watch for resource changes. */ interface Schema$Channel { /** * The address where notifications are delivered for this channel. */ address?: string; /** * Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional. */ expiration?: string; /** * A UUID or similar unique string that identifies this channel. */ id?: string; /** * Identifies this as a notification channel used to watch for changes to a resource, which is &quot;api#channel&quot;. */ kind?: string; /** * Additional parameters controlling delivery channel behavior. Optional. */ params?: { [key: string]: string; }; /** * A Boolean value to indicate whether payload is wanted. Optional. */ payload?: boolean; /** * An opaque ID that identifies the resource being watched on this channel. Stable across different API versions. */ resourceId?: string; /** * A version-specific identifier for the watched resource. */ resourceUri?: string; /** * An arbitrary string delivered to the target address with each notification delivered over this channel. Optional. */ token?: string; /** * The type of delivery mechanism used for this channel. */ type?: string; } /** * JSON template for Chrome Os Device resource in Directory API. */ interface Schema$ChromeOsDevice { /** * List of active time ranges (Read-only) */ activeTimeRanges?: Array<{ activeTime?: number; date?: string; }>; /** * AssetId specified during enrollment or through later annotation */ annotatedAssetId?: string; /** * Address or location of the device as noted by the administrator */ annotatedLocation?: string; /** * User of the device */ annotatedUser?: string; /** * Chromebook boot mode (Read-only) */ bootMode?: string; /** * Reports of CPU utilization and temperature (Read-only) */ cpuStatusReports?: Array<{ cpuTemperatureInfo?: Array<{ label?: string; temperature?: number; }>; cpuUtilizationPercentageInfo?: number[]; reportTime?: string; }>; /** * List of device files to download (Read-only) */ deviceFiles?: Array<{ createTime?: string; downloadUrl?: string; name?: string; type?: string; }>; /** * Unique identifier of Chrome OS Device (Read-only) */ deviceId?: string; /** * Reports of disk space and other info about mounted/connected volumes. */ diskVolumeReports?: Array<{ volumeInfo?: Array<{ storageFree?: string; storageTotal?: string; volumeId?: string; }>; }>; /** * ETag of the resource. */ etag?: string; /** * Chromebook Mac Address on ethernet network interface (Read-only) */ ethernetMacAddress?: string; /** * Chromebook firmware version (Read-only) */ firmwareVersion?: string; /** * Kind of resource this is. */ kind?: string; /** * Date and time the device was last enrolled (Read-only) */ lastEnrollmentTime?: string; /** * Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only) */ lastSync?: string; /** * Chromebook Mac Address on wifi network interface (Read-only) */ macAddress?: string; /** * Mobile Equipment identifier for the 3G mobile card in the Chromebook (Read-only) */ meid?: string; /** * Chromebook Model (Read-only) */ model?: string; /** * Notes added by the administrator */ notes?: string; /** * Chromebook order number (Read-only) */ orderNumber?: string; /** * OrgUnit of the device */ orgUnitPath?: string; /** * Chromebook Os Version (Read-only) */ osVersion?: string; /** * Chromebook platform version (Read-only) */ platformVersion?: string; /** * List of recent device users, in descending order by last login time (Read-only) */ recentUsers?: Array<{ email?: string; type?: string; }>; /** * Chromebook serial number (Read-only) */ serialNumber?: string; /** * status of the device (Read-only) */ status?: string; /** * Final date the device will be supported (Read-only) */ supportEndDate?: string; /** * Reports of amounts of available RAM memory (Read-only) */ systemRamFreeReports?: Array<{ reportTime?: string; systemRamFreeInfo?: string[]; }>; /** * Total RAM on the device [in bytes] (Read-only) */ systemRamTotal?: string; /** * Trusted Platform Module (TPM) (Read-only) */ tpmVersionInfo?: { family?: string; firmwareVersion?: string; manufacturer?: string; specLevel?: string; tpmModel?: string; vendorSpecific?: string; }; /** * Will Chromebook auto renew after support end date (Read-only) */ willAutoRenew?: boolean; } /** * JSON request template for firing actions on ChromeOs Device in Directory Devices API. */ interface Schema$ChromeOsDeviceAction { /** * Action to be taken on the ChromeOs Device */ action?: string; deprovisionReason?: string; } /** * JSON response template for List Chrome OS Devices operation in Directory API. */ interface Schema$ChromeOsDevices { /** * List of Chrome OS Device objects. */ chromeosdevices?: Schema$ChromeOsDevice[]; /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; /** * Token used to access next page of this result. */ nextPageToken?: string; } /** * JSON request template for moving ChromeOs Device to given OU in Directory Devices API. */ interface Schema$ChromeOsMoveDevicesToOu { /** * ChromeOs Devices to be moved to OU */ deviceIds?: string[]; } /** * JSON template for Customer Resource object in Directory API. */ interface Schema$Customer { /** * The customer&#39;s secondary contact email address. This email address cannot be on the same domain as the customerDomain */ alternateEmail?: string; /** * The customer&#39;s creation time (Readonly) */ customerCreationTime?: string; /** * The customer&#39;s primary domain name string. Do not include the www prefix when creating a new customer. */ customerDomain?: string; /** * ETag of the resource. */ etag?: string; /** * The unique ID for the customer&#39;s G Suite account. (Readonly) */ id?: string; /** * Identifies the resource as a customer. Value: admin#directory#customer */ kind?: string; /** * The customer&#39;s ISO 639-2 language code. The default value is en-US */ language?: string; /** * The customer&#39;s contact phone number in E.164 format. */ phoneNumber?: string; /** * The customer&#39;s postal address information. */ postalAddress?: Schema$CustomerPostalAddress; } /** * JSON template for postal address of a customer. */ interface Schema$CustomerPostalAddress { /** * A customer&#39;s physical address. The address can be composed of one to three lines. */ addressLine1?: string; /** * Address line 2 of the address. */ addressLine2?: string; /** * Address line 3 of the address. */ addressLine3?: string; /** * The customer contact&#39;s name. */ contactName?: string; /** * This is a required property. For countryCode information see the ISO 3166 country code elements. */ countryCode?: string; /** * Name of the locality. An example of a locality value is the city of San Francisco. */ locality?: string; /** * The company or company division name. */ organizationName?: string; /** * The postal code. A postalCode example is a postal zip code such as 10009. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element. */ postalCode?: string; /** * Name of the region. An example of a region value is NY for the state of New York. */ region?: string; } /** * JSON template for Domain Alias object in Directory API. */ interface Schema$DomainAlias { /** * The creation time of the domain alias. (Read-only). */ creationTime?: string; /** * The domain alias name. */ domainAliasName?: string; /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; /** * The parent domain name that the domain alias is associated with. This can either be a primary or secondary domain name within a customer. */ parentDomainName?: string; /** * Indicates the verification state of a domain alias. (Read-only) */ verified?: boolean; } /** * JSON response template to list domain aliases in Directory API. */ interface Schema$DomainAliases { /** * List of domain alias objects. */ domainAliases?: Schema$DomainAlias[]; /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; } /** * JSON template for Domain object in Directory API. */ interface Schema$Domains { /** * Creation time of the domain. (Read-only). */ creationTime?: string; /** * List of domain alias objects. (Read-only) */ domainAliases?: Schema$DomainAlias[]; /** * The domain name of the customer. */ domainName?: string; /** * ETag of the resource. */ etag?: string; /** * Indicates if the domain is a primary domain (Read-only). */ isPrimary?: boolean; /** * Kind of resource this is. */ kind?: string; /** * Indicates the verification state of a domain. (Read-only). */ verified?: boolean; } /** * JSON response template to list Domains in Directory API. */ interface Schema$Domains2 { /** * List of domain objects. */ domains?: Schema$Domains[]; /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; } /** * JSON template for Feature object in Directory API. */ interface Schema$Feature { /** * ETag of the resource. */ etags?: string; /** * Kind of resource this is. */ kind?: string; /** * The name of the feature. */ name?: string; } /** * JSON template for a &quot;feature instance&quot;. */ interface Schema$FeatureInstance { /** * The feature that this is an instance of. A calendar resource may have multiple instances of a feature. */ feature?: Schema$Feature; } /** * JSON request template for renaming a feature. */ interface Schema$FeatureRename { /** * New name of the feature. */ newName?: string; } /** * JSON template for Feature List Response object in Directory API. */ interface Schema$Features { /** * ETag of the resource. */ etag?: string; /** * The Features in this page of results. */ features?: Schema$Feature[]; /** * Kind of resource this is. */ kind?: string; /** * The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results. */ nextPageToken?: string; } /** * JSON template for Group resource in Directory API. */ interface Schema$Group { /** * Is the group created by admin (Read-only) * */ adminCreated?: boolean; /** * List of aliases (Read-only) */ aliases?: string[]; /** * Description of the group */ description?: string; /** * Group direct members count */ directMembersCount?: string; /** * Email of Group */ email?: string; /** * ETag of the resource. */ etag?: string; /** * Unique identifier of Group (Read-only) */ id?: string; /** * Kind of resource this is. */ kind?: string; /** * Group name */ name?: string; /** * List of non editable aliases (Read-only) */ nonEditableAliases?: string[]; } /** * JSON response template for List Groups operation in Directory API. */ interface Schema$Groups { /** * ETag of the resource. */ etag?: string; /** * List of group objects. */ groups?: Schema$Group[]; /** * Kind of resource this is. */ kind?: string; /** * Token used to access next page of this result. */ nextPageToken?: string; } /** * JSON template for Member resource in Directory API. */ interface Schema$Member { /** * Delivery settings of member */ delivery_settings?: string; /** * Email of member (Read-only) */ email?: string; /** * ETag of the resource. */ etag?: string; /** * Unique identifier of customer member (Read-only) Unique identifier of group (Read-only) Unique identifier of member (Read-only) */ id?: string; /** * Kind of resource this is. */ kind?: string; /** * Role of member */ role?: string; /** * Status of member (Immutable) */ status?: string; /** * Type of member (Immutable) */ type?: string; } /** * JSON response template for List Members operation in Directory API. */ interface Schema$Members { /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; /** * List of member objects. */ members?: Schema$Member[]; /** * Token used to access next page of this result. */ nextPageToken?: string; } /** * JSON template for Has Member response in Directory API. */ interface Schema$MembersHasMember { /** * Identifies whether the given user is a member of the group. Membership can be direct or nested. */ isMember?: boolean; } /** * JSON template for Mobile Device resource in Directory API. */ interface Schema$MobileDevice { /** * Adb (USB debugging) enabled or disabled on device (Read-only) */ adbStatus?: boolean; /** * List of applications installed on Mobile Device */ applications?: Array<{ displayName?: string; packageName?: string; permission?: string[]; versionCode?: number; versionName?: string; }>; /** * Mobile Device Baseband version (Read-only) */ basebandVersion?: string; /** * Mobile Device Bootloader version (Read-only) */ bootloaderVersion?: string; /** * Mobile Device Brand (Read-only) */ brand?: string; /** * Mobile Device Build number (Read-only) */ buildNumber?: string; /** * The default locale used on the Mobile Device (Read-only) */ defaultLanguage?: string; /** * Developer options enabled or disabled on device (Read-only) */ developerOptionsStatus?: boolean; /** * Mobile Device compromised status (Read-only) */ deviceCompromisedStatus?: string; /** * Mobile Device serial number (Read-only) */ deviceId?: string; /** * DevicePasswordStatus (Read-only) */ devicePasswordStatus?: string; /** * List of owner user&#39;s email addresses (Read-only) */ email?: string[]; /** * Mobile Device Encryption Status (Read-only) */ encryptionStatus?: string; /** * ETag of the resource. */ etag?: string; /** * Date and time the device was first synchronized with the policy settings in the G Suite administrator control panel (Read-only) */ firstSync?: string; /** * Mobile Device Hardware (Read-only) */ hardware?: string; /** * Mobile Device Hardware Id (Read-only) */ hardwareId?: string; /** * Mobile Device IMEI number (Read-only) */ imei?: string; /** * Mobile Device Kernel version (Read-only) */ kernelVersion?: string; /** * Kind of resource this is. */ kind?: string; /** * Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only) */ lastSync?: string; /** * Boolean indicating if this account is on owner/primary profile or not (Read-only) */ managedAccountIsOnOwnerProfile?: boolean; /** * Mobile Device manufacturer (Read-only) */ manufacturer?: string; /** * Mobile Device MEID number (Read-only) */ meid?: string; /** * Name of the model of the device */ model?: string; /** * List of owner user&#39;s names (Read-only) */ name?: string[]; /** * Mobile Device mobile or network operator (if available) (Read-only) */ networkOperator?: string; /** * Name of the mobile operating system */ os?: string; /** * List of accounts added on device (Read-only) */ otherAccountsInfo?: string[]; /** * DMAgentPermission (Read-only) */ privilege?: string; /** * Mobile Device release version version (Read-only) */ releaseVersion?: string; /** * Unique identifier of Mobile Device (Read-only) */ resourceId?: string; /** * Mobile Device Security patch level (Read-only) */ securityPatchLevel?: string; /** * Mobile Device SSN or Serial Number (Read-only) */ serialNumber?: string; /** * Status of the device (Read-only) */ status?: string; /** * Work profile supported on device (Read-only) */ supportsWorkProfile?: boolean; /** * The type of device (Read-only) */ type?: string; /** * Unknown sources enabled or disabled on device (Read-only) */ unknownSourcesStatus?: boolean; /** * Mobile Device user agent */ userAgent?: string; /** * Mobile Device WiFi MAC address (Read-only) */ wifiMacAddress?: string; } /** * JSON request template for firing commands on Mobile Device in Directory Devices API. */ interface Schema$MobileDeviceAction { /** * Action to be taken on the Mobile Device */ action?: string; } /** * JSON response template for List Mobile Devices operation in Directory API. */ interface Schema$MobileDevices { /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; /** * List of Mobile Device objects. */ mobiledevices?: Schema$MobileDevice[]; /** * Token used to access next page of this result. */ nextPageToken?: string; } /** * Template for a notification resource. */ interface Schema$Notification { /** * Body of the notification (Read-only) */ body?: string; /** * ETag of the resource. */ etag?: string; /** * Address from which the notification is received (Read-only) */ fromAddress?: string; /** * Boolean indicating whether the notification is unread or not. */ isUnread?: boolean; /** * The type of the resource. */ kind?: string; notificationId?: string; /** * Time at which notification was sent (Read-only) */ sendTime?: string; /** * Subject of the notification (Read-only) */ subject?: string; } /** * Template for notifications list response. */ interface Schema$Notifications { /** * ETag of the resource. */ etag?: string; /** * List of notifications in this page. */ items?: Schema$Notification[]; /** * The type of the resource. */ kind?: string; /** * Token for fetching the next page of notifications. */ nextPageToken?: string; /** * Number of unread notification for the domain. */ unreadNotificationsCount?: number; } /** * JSON template for Org Unit resource in Directory API. */ interface Schema$OrgUnit { /** * Should block inheritance */ blockInheritance?: boolean; /** * Description of OrgUnit */ description?: string; /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; /** * Name of OrgUnit */ name?: string; /** * Id of OrgUnit */ orgUnitId?: string; /** * Path of OrgUnit */ orgUnitPath?: string; /** * Id of parent OrgUnit */ parentOrgUnitId?: string; /** * Path of parent OrgUnit */ parentOrgUnitPath?: string; } /** * JSON response template for List Organization Units operation in Directory API. */ interface Schema$OrgUnits { /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; /** * List of user objects. */ organizationUnits?: Schema$OrgUnit[]; } /** * JSON template for privilege resource in Directory API. */ interface Schema$Privilege { /** * A list of child privileges. Privileges for a service form a tree. Each privilege can have a list of child privileges; this list is empty for a leaf privilege. */ childPrivileges?: Schema$Privilege[]; /** * ETag of the resource. */ etag?: string; /** * If the privilege can be restricted to an organization unit. */ isOuScopable?: boolean; /** * The type of the API resource. This is always admin#directory#privilege. */ kind?: string; /** * The name of the privilege. */ privilegeName?: string; /** * The obfuscated ID of the service this privilege is for. */ serviceId?: string; /** * The name of the service this privilege is for. */ serviceName?: string; } /** * JSON response template for List privileges operation in Directory API. */ interface Schema$Privileges { /** * ETag of the resource. */ etag?: string; /** * A list of Privilege resources. */ items?: Schema$Privilege[]; /** * The type of the API resource. This is always admin#directory#privileges. */ kind?: string; } /** * JSON template for role resource in Directory API. */ interface Schema$Role { /** * ETag of the resource. */ etag?: string; /** * Returns true if the role is a super admin role. */ isSuperAdminRole?: boolean; /** * Returns true if this is a pre-defined system role. */ isSystemRole?: boolean; /** * The type of the API resource. This is always admin#directory#role. */ kind?: string; /** * A short description of the role. */ roleDescription?: string; /** * ID of the role. */ roleId?: string; /** * Name of the role. */ roleName?: string; /** * The set of privileges that are granted to this role. */ rolePrivileges?: Array<{ privilegeName?: string; serviceId?: string; }>; } /** * JSON template for roleAssignment resource in Directory API. */ interface Schema$RoleAssignment { /** * The unique ID of the user this role is assigned to. */ assignedTo?: string; /** * ETag of the resource. */ etag?: string; /** * The type of the API resource. This is always admin#directory#roleAssignment. */ kind?: string; /** * If the role is restricted to an organization unit, this contains the ID for the organization unit the exercise of this role is restricted to. */ orgUnitId?: string; /** * ID of this roleAssignment. */ roleAssignmentId?: string; /** * The ID of the role that is assigned. */ roleId?: string; /** * The scope in which this role is assigned. Possible values are: - CUSTOMER - ORG_UNIT */ scopeType?: string; } /** * JSON response template for List roleAssignments operation in Directory API. */ interface Schema$RoleAssignments { /** * ETag of the resource. */ etag?: string; /** * A list of RoleAssignment resources. */ items?: Schema$RoleAssignment[]; /** * The type of the API resource. This is always admin#directory#roleAssignments. */ kind?: string; nextPageToken?: string; } /** * JSON response template for List roles operation in Directory API. */ interface Schema$Roles { /** * ETag of the resource. */ etag?: string; /** * A list of Role resources. */ items?: Schema$Role[]; /** * The type of the API resource. This is always admin#directory#roles. */ kind?: string; nextPageToken?: string; } /** * JSON template for Schema resource in Directory API. */ interface Schema$Schema { /** * Display name for the schema. */ displayName?: string; /** * ETag of the resource. */ etag?: string; /** * Fields of Schema */ fields?: Schema$SchemaFieldSpec[]; /** * Kind of resource this is. */ kind?: string; /** * Unique identifier of Schema (Read-only) */ schemaId?: string; /** * Schema name */ schemaName?: string; } /** * JSON template for FieldSpec resource for Schemas in Directory API. */ interface Schema$SchemaFieldSpec { /** * Display Name of the field. */ displayName?: string; /** * ETag of the resource. */ etag?: string; /** * Unique identifier of Field (Read-only) */ fieldId?: string; /** * Name of the field. */ fieldName?: string; /** * Type of the field. */ fieldType?: string; /** * Boolean specifying whether the field is indexed or not. */ indexed?: boolean; /** * Kind of resource this is. */ kind?: string; /** * Boolean specifying whether this is a multi-valued field or not. */ multiValued?: boolean; /** * Indexing spec for a numeric field. By default, only exact match queries will be supported for numeric fields. Setting the numericIndexingSpec allows range queries to be supported. */ numericIndexingSpec?: { maxValue?: number; minValue?: number; }; /** * Read ACLs on the field specifying who can view values of this field. Valid values are &quot;ALL_DOMAIN_USERS&quot; and &quot;ADMINS_AND_SELF&quot;. */ readAccessType?: string; } /** * JSON response template for List Schema operation in Directory API. */ interface Schema$Schemas { /** * ETag of the resource. */ etag?: string; /** * Kind of resource this is. */ kind?: string; /** * List of UserSchema objects. */ schemas?: Schema$Schema[]; } /** * JSON template for token resource in Directory API. */ interface Schema$Token { /** * Whether the application is registered with Google. The value is true if the application has an anonymous Client ID. */ anonymous?: boolean; /** * The Client ID of the application the token is issued to. */ clientId?: string; /** * The displayable name of the application the token is issued to. */ displayText?: string; /** * ETag of the resource. */ etag?: string; /** * The type of the API resource. This is always admin#directory#token. */ kind?: string; /** * Whether the token is issued to an installed application. The value is true if the application is installed to a desktop or mobile device. */ nativeApp?: boolean; /** * A list of authorization scopes the application is granted. */ scopes?: string[]; /** * The unique ID of the user that issued the token. */ userKey?: string; } /** * JSON response template for List tokens operation in Directory API. */ interface Schema$Tokens { /** * ETag of the resource. */ etag?: string; /** * A list of Token resources. */ items?: Schema$Token[]; /** * The type of the API resource. This is always admin#directory#tokenList. */ kind?: string; } /** * JSON template for Trusted App Ids Resource object in Directory API. */ interface Schema$TrustedAppId { /** * Android package name. */ androidPackageName?: string; /** * SHA1 signature of the app certificate. */ certificateHashSHA1?: string; /** * SHA256 signature of the app certificate. */ certificateHashSHA256?: string; etag?: string; /** * Identifies the resource as a trusted AppId. */ kind?: string; } /** * JSON template for Trusted Apps response object of a user in Directory API. */ interface Schema$TrustedApps { /** * ETag of the resource. */ etag?: string; /** * Identifies the resource as trusted apps response. */ kind?: string; nextPageToken?: string; /** * Trusted Apps list. */ trustedApps?: Schema$TrustedAppId[]; } /** * JSON template for User object in Directory API. */ interface Schema$User { addresses?: any; /** * Indicates if user has agreed to terms (Read-only) */ agreedToTerms?: boolean; /** * List of aliases (Read-only) */ aliases?: string[]; /** * Indicates if user is archived. */ archived?: boolean; /** * Boolean indicating if the user should change password in next login */ changePasswordAtNextLogin?: boolean; /** * User&#39;s G Suite account creation time. (Read-only) */ creationTime?: string; /** * CustomerId of User (Read-only) */ customerId?: string; /** * Custom fields of the user. */ customSchemas?: { [key: string]: Schema$UserCustomProperties; }; deletionTime?: string; emails?: any; /** * ETag of the resource. */ etag?: string; externalIds?: any; gender?: any; /** * Hash function name for password. Supported are MD5, SHA-1 and crypt */ hashFunction?: string; /** * Unique identifier of User (Read-only) */ id?: string; ims?: any; /** * Boolean indicating if user is included in Global Address List */ inclu