googleapis
Version:
Google APIs Client Library for Node.js
1,742 lines • 272 kB
TypeScript
/**
* 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's primary email (Read-only) User'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, "NYC-CHEL". 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, "Chelsea Market".
*/
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, ["B2", "B1", "L", "1", "2", "2M", "3", "PH"] 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, "NYC-2-Training Room 1A (16)".
*/
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, "Training Room 1A".
*/
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 "api#channel".
*/
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's secondary contact email address. This email address cannot be on the same domain as the customerDomain
*/
alternateEmail?: string;
/**
* The customer's creation time (Readonly)
*/
customerCreationTime?: string;
/**
* The customer'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's G Suite account. (Readonly)
*/
id?: string;
/**
* Identifies the resource as a customer. Value: admin#directory#customer
*/
kind?: string;
/**
* The customer's ISO 639-2 language code. The default value is en-US
*/
language?: string;
/**
* The customer's contact phone number in E.164 format.
*/
phoneNumber?: string;
/**
* The customer's postal address information.
*/
postalAddress?: Schema$CustomerPostalAddress;
}
/**
* JSON template for postal address of a customer.
*/
interface Schema$CustomerPostalAddress {
/**
* A customer'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'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 "feature instance".
*/
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'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'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 "ALL_DOMAIN_USERS" and "ADMINS_AND_SELF".
*/
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'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