UNPKG

googleapis

Version:
2,087 lines 162 kB
/** * Copyright 2015 Google Inc. All Rights Reserved. * * 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 { AxiosPromise } from 'axios'; import { GoogleApis } from '../..'; import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api'; /** * Admin Directory API * * The Admin SDK Directory API lets you view and manage 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 */ export declare class Admin { _options: GlobalOptions; google: GoogleApis; root: this; 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: GoogleApis); getRoot(): this; } /** * JSON template for Alias object in Directory API. */ export 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. */ export 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. */ export 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. */ export 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; } export 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. */ export interface Schema$Building { /** * 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 coordinates of a building in Directory API. */ export 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. */ export 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. */ export 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. */ export 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. */ export 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. Value: the fixed string "api#channel". */ kind: string; /** * Additional parameters controlling delivery channel behavior. Optional. */ params: any; /** * 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. */ export interface Schema$ChromeOsDevice { /** * List of active time ranges (Read-only) */ activeTimeRanges: any[]; /** * 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; /** * List of device files to download (Read-only) */ deviceFiles: any[]; /** * Unique identifier of Chrome OS Device (Read-only) */ deviceId: 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: any[]; /** * 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; /** * Trusted Platform Module (TPM) (Read-only) */ tpmVersionInfo: any; /** * 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. */ export 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. */ export 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. */ export interface Schema$ChromeOsMoveDevicesToOu { /** * ChromeOs Devices to be moved to OU */ deviceIds: string[]; } /** * JSON template for Customer Resource object in Directory API. */ export 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. */ export 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. */ export 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. */ export 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. */ export 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. */ export 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. */ export 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". */ export 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. */ export interface Schema$FeatureRename { /** * New name of the feature. */ newName: string; } /** * JSON template for Feature List Response object in Directory API. */ export 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. */ export 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. */ export 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. */ export interface Schema$Member { /** * 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. */ export 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. */ export 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. */ export interface Schema$MobileDevice { /** * Adb (USB debugging) enabled or disabled on device (Read-only) */ adbStatus: boolean; /** * List of applications installed on Mobile Device */ applications: any[]; /** * 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. */ export interface Schema$MobileDeviceAction { /** * Action to be taken on the Mobile Device */ action: string; } /** * JSON response template for List Mobile Devices operation in Directory API. */ export 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. */ export 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. */ export 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. */ export 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. */ export 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. */ export 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. */ export 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. */ export 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: any[]; } /** * JSON template for roleAssignment resource in Directory API. */ export 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. */ export 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. */ export 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. */ export interface Schema$Schema { /** * 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. */ export interface Schema$SchemaFieldSpec { /** * 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: any; /** * 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. */ export 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. */ export 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. */ export 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. */ export 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. */ export 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. */ export interface Schema$User { addresses: any; /** * Indicates if user has agreed to terms (Read-only) */ agreedToTerms: boolean; /** * List of aliases (Read-only) */ aliases: string[]; /** * 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: any; 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 */ includeInGlobalAddressList: boolean; /** * Boolean indicating if ip is whitelisted */ ipWhitelisted: boolean; /** * Boolean indicating if the user is admin (Read-only) */ isAdmin: boolean; /** * Boolean indicating if the user is delegated admin (Read-only) */ isDelegatedAdmin: boolean; /** * Is 2-step verification enforced (Read-only) */ isEnforcedIn2Sv: boolean; /** * Is enrolled in 2-step verification (Read-only) */ isEnrolledIn2Sv: boolean; /** * Is mailbox setup (Read-only) */ isMailboxSetup: boolean; keywords: any; /** * Kind of resource this is. */ kind: string; languages: any; /** * User's last login time. (Read-only) */ lastLoginTime: string; locations: any; /** * User's name */ name: Schema$UserName; /** * List of non editable aliases (Read-only) */ nonEditableAliases: string[]; notes: any; organizations: any; /** * OrgUnit of User */ orgUnitPath: string; /** * User's password */ password: string; phones: any; posixAccounts: any; /** * username of User */ primaryEmail: string; relations: any; sshPublicKeys: any; /** * Indicates if user is suspended */ suspended: boolean; /** * Suspension reason if user is suspended (Read-only) */ suspensionReason: string; /** * ETag of the user's photo (Read-only) */ thumbnailPhotoEtag: string; /** * Photo Url of the user (Read-only) */ thumbnailPhotoUrl: string; websites: any; } /** * JSON template for About (notes) of a user in Directory API. */ export interface Schema$UserAbout { /** * About entry can have a type which indicates the content type. It can either * be plain or html. By default, notes contents are assumed to contain plain * text. */ contentType: string; /** * Actual value of notes. */ value: string; } /** * JSON template for address. */ export interface Schema$UserAddress { /** * Country. */ country: string; /** * Country code. */ countryCode: string; /** * Custom type. */ customType: string; /** * Extended Address. */ extendedAddress: string; /** * Formatted address. */ formatted: string; /** * Locality. */ locality: string; /** * Other parts of address. */ poBox: string; /** * Postal code. */ postalCode: string; /** * If this is user's primary address. Only one entry could be marked as * primary. */ primary: boolean; /** * Region. */ region: string; /** * User supplied address was structured. Structured addresses are NOT * supported at this time. You might be able to write structured addresses, * but any values will eventually be clobbered. */ sourceIsStructured: boolean; /** * Street. */ streetAddress: string; /** * Each entry can have a type which indicates standard values of that entry. * For example address could be of home, work etc. In addition to the standard * type, an entry can have a custom type and can take any value. Such type * should have the CUSTOM value as type and also have a customType value. */ type: string; } /** * JSON template for a set of custom properties (i.e. all fields in a particular * schema) */ export interface Schema$UserCustomProperties { } /** * JSON template for an email. */ export interface Schema$UserEmail { /** * Email id of the user. */ address: string; /** * Custom Type. */ customType: string; /** * If this is user's primary email. Only one entry could be marked as * primary. */ primary: boolean; /** * Each entry can have a type which indicates standard types of that entry. * For example email could be of home, work etc. In addition to the standard * type, an entry can have a custom type and can take any value Such types * should have the CUSTOM value as type and also have a customType value. */ type: string; } /** * JSON template for an externalId entry. */ export interface Schema$UserExternalId { /** * Custom type. */ customType: string; /** * The type of the Id. */ type: string; /** * The value of the id. */ value: string; } export interface Schema$UserGender { /** * AddressMeAs. A human-readable string containing the proper way to refer to * the profile owner by humans, for example "he/him/his" or * "they/them/their". */ addressMeAs: string; /** * Custom gender. */ customGender: string; /** * Gender. */ type: string; } /** * JSON template for instant messenger of an user. */ export interface Schema$UserIm { /** * Custom protocol. */ customProtocol: string; /** * Custom type. */ customType: string; /** * Instant messenger id. */ im: string; /** * If this is user's primary im. Only one entry could be marked as * primary. */ primary: boolean; /** * Protocol used in the instant messenger. It should be one of the values from * ImProtocolTypes map. Similar to type, it can take a CUSTOM value and * specify the custom name in customProtocol field. */ protocol: string; /** * Each entry can have a type which indicates standard types of that entry. * For example instant messengers could be of home, work etc. In addition to * the standard type, an entry can have a custom type and can take any value. * Such types should have the CUSTOM value as type and also have a customType * value. */ type: string; } /** * JSON template for a keyword entry. */ export interface Schema$UserKeyword { /** * Custom Type. */ customType: string; /** * Each entry can have a type which indicates standard type of that entry. For * example, keyword could be of type occupation or outlook. In addition to the * standard type, an entry can have a custom type and can give it any name. * Such types should have the CUSTOM value as type and also have a customType * value. */ type: string; /** * Keyword. */ value: string; } /** * JSON template for a language entry. */ export interface Schema$UserLanguage { /** * Other language. User can provide own language name if there is no * corresponding Google III language code. If this is set LanguageCode * can't be set */ customLanguage: string; /** * Language Code. Should be used for storing Google III LanguageCode string * representation for language. Illegal values cause SchemaException. */ languageCode: string; } /** * JSON template for a location entry. */ export interface Schema$UserLocation { /** * Textual location. This is most useful for display purposes to concisely * describe the location. For example, "Mountain View, CA", * "Near Seattle", "US-NYC-9TH 9A209A". */ area: string; /** * Building Identifier. */ buildingId: string; /** * Custom Type. */ customType: string; /** * Most specific textual code of individual desk location. */ deskCode: string; /** * Floor name/number. */ floorName: string; /** * Floor section. More specific location within the floor. For example, if a * floor is divided into sections "A", "B", and * "C", this field would identify one of those values. */ floorSection: string; /** * Each entry can have a type which indicates standard types of that entry. * For example location could be of types default and desk. In addition to * standard type, an entry can have a custom type and can give it any name. * Such types should have "custom" as type and also have a * customType value. */ type: string; } /** * JSON request template for setting/revoking admin status of a user in * Directory API. */ export interface Schema$UserMakeAdmin { /** * Boolean indicating new admin status of the user */ status: boolean; } /** * JSON template for name of a user in Directory API. */ export interface Schema$UserName { /** * Last Name */ familyName: string; /** * Full Name */ fullName: string; /** * First Name */ givenName: string; } /** * JSON template for an organization entry. */ export interface Schema$UserOrganization { /** * The cost center of the users department. */ costCenter: string; /** * Custom type. */ customType: string; /** * Department within the organization. */ department: string; /** * Description of the organization. */ description: string; /** * The domain to which the organization belongs to. */ domain: string; /** * The full-time equivalent percent within the organization (100000 = 100%). */ fullTimeEquivalent: number; /** * Location of the organization. This need not be fully qualified address. */ location: string; /** * Name of the organization */ name: string; /** * If it user's primary organization. */ primary: boolean; /** * Symbol of the organization. */ symbol: string; /** * Title (designation) of the user in the organization. */ title: string; /** * Each entry can have a type which indicates standard types of that entry. * For example organization could be of school, work etc. In addition to the * standard type, an entry can have a custom type and can give it any name. * Such types should have the CUSTOM value as type and also have a CustomType * value. */ type: string; } /** * JSON template for a phone entry. */ export interface Schema$UserPhone { /** * Custom Type. */ customType: string; /** * If this is user's primary phone or not. */ primary: boolean; /** * Each entry can have a type which indicates standard