googleapis
Version:
Google APIs Client Library for Node.js
1,265 lines • 681 kB
TypeScript
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace admin_directory_v1 {
export interface Options extends GlobalOptions {
version: 'directory_v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: 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;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* Admin SDK API
*
* Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.
*
* @example
* ```js
* const {google} = require('googleapis');
* const admin = google.admin('directory_v1');
* ```
*/
export class Admin {
context: APIRequestContext;
asps: Resource$Asps;
channels: Resource$Channels;
chromeosdevices: Resource$Chromeosdevices;
customer: Resource$Customer;
customers: Resource$Customers;
domainAliases: Resource$Domainaliases;
domains: Resource$Domains;
groups: Resource$Groups;
members: Resource$Members;
mobiledevices: Resource$Mobiledevices;
orgunits: Resource$Orgunits;
privileges: Resource$Privileges;
resources: Resource$Resources;
roleAssignments: Resource$Roleassignments;
roles: Resource$Roles;
schemas: Resource$Schemas;
tokens: Resource$Tokens;
twoStepVerification: Resource$Twostepverification;
users: Resource$Users;
verificationCodes: Resource$Verificationcodes;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* JSON template for Alias object in Directory API.
*/
export interface Schema$Alias {
alias?: string | null;
etag?: string | null;
id?: string | null;
kind?: string | null;
primaryEmail?: string | null;
}
/**
* JSON response template to list aliases in Directory API.
*/
export interface Schema$Aliases {
aliases?: any[] | null;
etag?: string | null;
kind?: string | null;
}
/**
* An application-specific password (ASP) is used with applications that do not accept a verification code when logging into the application on certain devices. The ASP access code is used instead of the login and password you commonly use when accessing an application through a browser. For more information about ASPs and how to create one, see the [help center](https://support.google.com/a/answer/2537800#asp).
*/
export interface Schema$Asp {
/**
* The unique ID of the ASP.
*/
codeId?: number | null;
/**
* The time when the ASP was created. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_time) format.
*/
creationTime?: string | null;
/**
* ETag of the ASP.
*/
etag?: string | null;
/**
* The type of the API resource. This is always `admin#directory#asp`.
*/
kind?: string | null;
/**
* The time when the ASP was last used. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_time) format.
*/
lastTimeUsed?: string | null;
/**
* The name of the application that the user, represented by their `userId`, entered when the ASP was created.
*/
name?: string | null;
/**
* The unique ID of the user who issued the ASP.
*/
userKey?: string | null;
}
export interface Schema$Asps {
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* A list of ASP resources.
*/
items?: Schema$Asp[];
/**
* The type of the API resource. This is always `admin#directory#aspList`.
*/
kind?: string | null;
}
/**
* Auxiliary message about issues with printers or settings. Example: {message_type:AUXILIARY_MESSAGE_WARNING, field_mask:make_and_model, message:"Given printer is invalid or no longer supported."\}
*/
export interface Schema$AuxiliaryMessage {
/**
* Human readable message in English. Example: "Given printer is invalid or no longer supported."
*/
auxiliaryMessage?: string | null;
/**
* Field that this message concerns.
*/
fieldMask?: string | null;
/**
* Message severity
*/
severity?: string | null;
}
/**
* Information about the device's backlights.
*/
export interface Schema$BacklightInfo {
/**
* Output only. Current brightness of the backlight, between 0 and max_brightness.
*/
brightness?: number | null;
/**
* Output only. Maximum brightness for the backlight.
*/
maxBrightness?: number | null;
/**
* Output only. Path to this backlight on the system. Useful if the caller needs to correlate with other information.
*/
path?: string | null;
}
/**
* A request for changing the status of a batch of ChromeOS devices.
*/
export interface Schema$BatchChangeChromeOsDeviceStatusRequest {
/**
* Required. The action to take on the ChromeOS device in order to change its status.
*/
changeChromeOsDeviceStatusAction?: string | null;
/**
* Optional. The reason behind a device deprovision. Must be provided if 'changeChromeOsDeviceStatusAction' is set to 'CHANGE_CHROME_OS_DEVICE_STATUS_ACTION_DEPROVISION'. Otherwise, omit this field.
*/
deprovisionReason?: string | null;
/**
* Required. List of the IDs of the ChromeOS devices to change. Maximum 50.
*/
deviceIds?: string[] | null;
}
/**
* The response of changing the status of a batch of ChromeOS devices.
*/
export interface Schema$BatchChangeChromeOsDeviceStatusResponse {
/**
* The results for each of the ChromeOS devices provided in the request.
*/
changeChromeOsDeviceStatusResults?: Schema$ChangeChromeOsDeviceStatusResult[];
}
/**
* Request for adding new printers in batch.
*/
export interface Schema$BatchCreatePrintersRequest {
/**
* A list of Printers to be created. Max 50 at a time.
*/
requests?: Schema$CreatePrinterRequest[];
}
/**
* Response for adding new printers in batch.
*/
export interface Schema$BatchCreatePrintersResponse {
/**
* A list of create failures. Printer IDs are not populated, as printer were not created.
*/
failures?: Schema$FailureInfo[];
/**
* A list of successfully created printers with their IDs populated.
*/
printers?: Schema$Printer[];
}
/**
* Request to add multiple new print servers in a batch.
*/
export interface Schema$BatchCreatePrintServersRequest {
/**
* Required. A list of `PrintServer` resources to be created (max `50` per batch).
*/
requests?: Schema$CreatePrintServerRequest[];
}
export interface Schema$BatchCreatePrintServersResponse {
/**
* A list of create failures. `PrintServer` IDs are not populated, as print servers were not created.
*/
failures?: Schema$PrintServerFailureInfo[];
/**
* A list of successfully created print servers with their IDs populated.
*/
printServers?: Schema$PrintServer[];
}
/**
* Request for deleting existing printers in batch.
*/
export interface Schema$BatchDeletePrintersRequest {
/**
* A list of Printer.id that should be deleted. Max 100 at a time.
*/
printerIds?: string[] | null;
}
/**
* Response for deleting existing printers in batch.
*/
export interface Schema$BatchDeletePrintersResponse {
/**
* A list of update failures.
*/
failedPrinters?: Schema$FailureInfo[];
/**
* A list of Printer.id that were successfully deleted.
*/
printerIds?: string[] | null;
}
/**
* Request to delete multiple existing print servers in a batch.
*/
export interface Schema$BatchDeletePrintServersRequest {
/**
* A list of print server IDs that should be deleted (max `100` per batch).
*/
printServerIds?: string[] | null;
}
export interface Schema$BatchDeletePrintServersResponse {
/**
* A list of update failures.
*/
failedPrintServers?: Schema$PrintServerFailureInfo[];
/**
* A list of print server IDs that were successfully deleted.
*/
printServerIds?: string[] | null;
}
/**
* Information about a device's Bluetooth adapter.
*/
export interface Schema$BluetoothAdapterInfo {
/**
* Output only. The MAC address of the adapter.
*/
address?: string | null;
/**
* Output only. The number of devices connected to this adapter.
*/
numConnectedDevices?: number | null;
}
/**
* Public API: Resources.buildings
*/
export interface Schema$Building {
/**
* The postal address of the building. See [`PostalAddress`](/my-business/reference/rest/v4/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 | null;
/**
* 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 | null;
/**
* 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 | null;
/**
* ETag of the resource.
*/
etags?: string | null;
/**
* 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[] | null;
/**
* Kind of resource this is.
*/
kind?: string | null;
}
/**
* Public API: Resources.buildings
*/
export interface Schema$BuildingAddress {
/**
* Unstructured address lines describing the lower levels of an address.
*/
addressLines?: string[] | null;
/**
* Optional. Highest administrative subdivision which is used for postal addresses of a country or region.
*/
administrativeArea?: string | null;
/**
* Optional. BCP-47 language code of the contents of this address (if known).
*/
languageCode?: string | null;
/**
* 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 | null;
/**
* Optional. Postal code of the address.
*/
postalCode?: string | null;
/**
* Required. CLDR region code of the country/region of the address.
*/
regionCode?: string | null;
/**
* Optional. Sublocality of the address.
*/
sublocality?: string | null;
}
/**
* Public API: Resources.buildings
*/
export interface Schema$BuildingCoordinates {
/**
* Latitude in decimal degrees.
*/
latitude?: number | null;
/**
* Longitude in decimal degrees.
*/
longitude?: number | null;
}
/**
* Public API: Resources.buildings
*/
export interface Schema$Buildings {
/**
* The Buildings in this page of results.
*/
buildings?: Schema$Building[];
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* Kind of resource this is.
*/
kind?: string | null;
/**
* 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 | null;
}
/**
* Represents a data capacity with some amount of current usage in bytes.
*/
export interface Schema$ByteUsage {
/**
* Output only. The total capacity value, in bytes.
*/
capacityBytes?: string | null;
/**
* Output only. The current usage value, in bytes.
*/
usedBytes?: string | null;
}
/**
* Public API: Resources.calendars
*/
export interface Schema$CalendarResource {
/**
* Unique ID for the building a resource is located in.
*/
buildingId?: string | null;
/**
* Capacity of a resource, number of seats in a room.
*/
capacity?: number | null;
/**
* ETag of the resource.
*/
etags?: string | null;
/**
* Instances of features for the calendar resource.
*/
featureInstances?: any | null;
/**
* Name of the floor a resource is located on.
*/
floorName?: string | null;
/**
* Name of the section within a floor a resource is located in.
*/
floorSection?: string | null;
/**
* 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 | null;
/**
* The type of the resource. For calendar resources, the value is `admin#directory#resources#calendars#CalendarResource`.
*/
kind?: string | null;
/**
* The category of the calendar resource. Either CONFERENCE_ROOM or OTHER. Legacy data is set to CATEGORY_UNKNOWN.
*/
resourceCategory?: string | null;
/**
* Description of the resource, visible only to admins.
*/
resourceDescription?: string | null;
/**
* The read-only email for the calendar resource. Generated as part of creating a new calendar resource.
*/
resourceEmail?: string | null;
/**
* The unique ID for the calendar resource.
*/
resourceId?: string | null;
/**
* The name of the calendar resource. For example, "Training Room 1A".
*/
resourceName?: string | null;
/**
* The type of the calendar resource, intended for non-room resources.
*/
resourceType?: string | null;
/**
* Description of the resource, visible to users and admins.
*/
userVisibleDescription?: string | null;
}
/**
* Public API: Resources.calendars
*/
export interface Schema$CalendarResources {
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* 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 | null;
/**
* 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 | null;
}
/**
* The result of a single ChromeOS device for a Change state operation.
*/
export interface Schema$ChangeChromeOsDeviceStatusResult {
/**
* The unique ID of the ChromeOS device.
*/
deviceId?: string | null;
/**
* The error result of the operation in case of failure.
*/
error?: Schema$Status;
/**
* The device could change its status successfully.
*/
response?: Schema$ChangeChromeOsDeviceStatusSucceeded;
}
/**
* Response for a successful ChromeOS device status change.
*/
export interface Schema$ChangeChromeOsDeviceStatusSucceeded {
}
/**
* An notification channel used to watch for resource changes.
*/
export interface Schema$Channel {
/**
* The address where notifications are delivered for this channel.
*/
address?: string | null;
/**
* Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
*/
expiration?: string | null;
/**
* A UUID or similar unique string that identifies this channel.
*/
id?: string | null;
/**
* Identifies this as a notification channel used to watch for changes to a resource, which is `api#channel`.
*/
kind?: string | null;
/**
* Additional parameters controlling delivery channel behavior. Optional. For example, `params.ttl` specifies the time-to-live in seconds for the notification channel, where the default is 2 hours and the maximum TTL is 2 days.
*/
params?: {
[key: string]: string;
} | null;
/**
* A Boolean value to indicate whether payload is wanted. Optional.
*/
payload?: boolean | null;
/**
* An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
*/
resourceId?: string | null;
/**
* A version-specific identifier for the watched resource.
*/
resourceUri?: string | null;
/**
* An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
*/
token?: string | null;
/**
* The type of delivery mechanism used for this channel.
*/
type?: string | null;
}
/**
* Google Chrome devices run on the [Chrome OS](https://support.google.com/chromeos). For more information about common API tasks, see the [Developer's Guide](https://developers.google.com/workspace/admin/directory/v1/guides/manage-chrome-devices).
*/
export interface Schema$ChromeOsDevice {
/**
* A list of active time ranges (Read-only).
*/
activeTimeRanges?: Array<{
activeTime?: number;
date?: string;
}> | null;
/**
* The asset identifier as noted by an administrator or specified during enrollment.
*/
annotatedAssetId?: string | null;
/**
* The address or location of the device as noted by the administrator. Maximum length is `200` characters. Empty values are allowed.
*/
annotatedLocation?: string | null;
/**
* The user of the device as noted by the administrator. Maximum length is 100 characters. Empty values are allowed.
*/
annotatedUser?: string | null;
/**
* (Read-only) The timestamp after which the device will stop receiving Chrome updates or support. Please use "autoUpdateThrough" instead.
*/
autoUpdateExpiration?: string | null;
/**
* Output only. The timestamp after which the device will stop receiving Chrome updates or support.
*/
autoUpdateThrough?: string | null;
/**
* Output only. Contains backlight information for the device.
*/
backlightInfo?: Schema$BacklightInfo[];
/**
* Output only. Information about Bluetooth adapters of the device.
*/
bluetoothAdapterInfo?: Schema$BluetoothAdapterInfo[];
/**
* The boot mode for the device. The possible values are: * `Verified`: The device is running a valid version of the Chrome OS. * `Dev`: The devices's developer hardware switch is enabled. When booted, the device has a command line shell. For an example of a developer switch, see the [Chromebook developer information](https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-series-5-chromebook#TOC-Developer-switch).
*/
bootMode?: string | null;
/**
* Output only. Chrome OS type of the device.
*/
chromeOsType?: string | null;
/**
* Information regarding CPU specs in the device.
*/
cpuInfo?: Array<{
architecture?: string;
logicalCpus?: Array<{
cStates?: Array<{
displayName?: string;
sessionDuration?: string;
}>;
currentScalingFrequencyKhz?: number;
idleDuration?: string;
maxScalingFrequencyKhz?: number;
}>;
maxClockSpeedKhz?: number;
model?: string;
}> | null;
/**
* Reports of CPU utilization and temperature (Read-only)
*/
cpuStatusReports?: Array<{
cpuTemperatureInfo?: Array<{
label?: string;
temperature?: number;
}>;
cpuUtilizationPercentageInfo?: number[];
reportTime?: string;
}> | null;
/**
* (Read-only) Deprovision reason.
*/
deprovisionReason?: string | null;
/**
* A list of device files to download (Read-only)
*/
deviceFiles?: Array<{
createTime?: string;
downloadUrl?: string;
name?: string;
type?: string;
}> | null;
/**
* The unique ID of the Chrome device.
*/
deviceId?: string | null;
/**
* Output only. Device license type.
*/
deviceLicenseType?: string | null;
/**
* Output only. How much disk space the device has available and is currently using.
*/
diskSpaceUsage?: Schema$ByteUsage;
/**
* Reports of disk space and other info about mounted/connected volumes.
*/
diskVolumeReports?: Array<{
volumeInfo?: Array<{
storageFree?: string;
storageTotal?: string;
volumeId?: string;
}>;
}> | null;
/**
* (Read-only) Built-in MAC address for the docking station that the device connected to. Factory sets Media access control address (MAC address) assigned for use by a dock. It is reserved specifically for MAC pass through device policy. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some devices.
*/
dockMacAddress?: string | null;
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* The device's MAC address on the ethernet network interface.
*/
ethernetMacAddress?: string | null;
/**
* (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some devices.
*/
ethernetMacAddress0?: string | null;
/**
* Output only. Whether or not the device requires the extended support opt in.
*/
extendedSupportEligible?: boolean | null;
/**
* Output only. Whether extended support policy is enabled on the device.
*/
extendedSupportEnabled?: boolean | null;
/**
* Output only. Date of the device when extended support policy for automatic updates starts.
*/
extendedSupportStart?: string | null;
/**
* Output only. Fan information for the device.
*/
fanInfo?: Schema$FanInfo[];
/**
* The Chrome device's firmware version.
*/
firmwareVersion?: string | null;
/**
* Date and time for the first time the device was enrolled.
*/
firstEnrollmentTime?: string | null;
/**
* The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`.
*/
kind?: string | null;
/**
* (Read-only) Date and time for the last deprovision of the device.
*/
lastDeprovisionTimestamp?: string | null;
/**
* Date and time the device was last enrolled (Read-only)
*/
lastEnrollmentTime?: string | null;
/**
* Contains last known network (Read-only)
*/
lastKnownNetwork?: Array<{
ipAddress?: string;
wanIpAddress?: string;
}> | null;
/**
* Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only)
*/
lastSync?: string | null;
/**
* The device's wireless MAC address. If the device does not have this information, it is not included in the response.
*/
macAddress?: string | null;
/**
* (Read-only) The date the device was manufactured in yyyy-mm-dd format.
*/
manufactureDate?: string | null;
/**
* The Mobile Equipment Identifier (MEID) or the International Mobile Equipment Identity (IMEI) for the 3G mobile card in a mobile device. A MEID/IMEI is typically used when adding a device to a wireless carrier's post-pay service plan. If the device does not have this information, this property is not included in the response. For more information on how to export a MEID/IMEI list, see the [Developer's Guide](https://developers.google.com/workspace/admin/directory/v1/guides/manage-chrome-devices.html#export_meid).
*/
meid?: string | null;
/**
* The device's model information. If the device does not have this information, this property is not included in the response.
*/
model?: string | null;
/**
* Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the [list](https://developers.google.com/workspace/admin/directory/v1/reference/chromeosdevices/list) method's `query` parameter. Maximum length is 500 characters. Empty values are allowed.
*/
notes?: string | null;
/**
* The device's order number. Only devices directly purchased from Google have an order number.
*/
orderNumber?: string | null;
/**
* The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](https://developers.google.com/workspace/admin/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).
*/
orgUnitId?: string | null;
/**
* The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](https://developers.google.com/workspace/admin/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).
*/
orgUnitPath?: string | null;
/**
* The status of the OS updates for the device.
*/
osUpdateStatus?: Schema$OsUpdateStatus;
/**
* The Chrome device's operating system version.
*/
osVersion?: string | null;
/**
* Output only. Device policy compliance status of the OS version.
*/
osVersionCompliance?: string | null;
/**
* The Chrome device's platform version.
*/
platformVersion?: string | null;
/**
* A list of recent device users, in descending order, by last login time.
*/
recentUsers?: Array<{
email?: string;
type?: string;
}> | null;
/**
* A list of screenshot files to download. Type is always "SCREENSHOT_FILE". (Read-only)
*/
screenshotFiles?: Array<{
createTime?: string;
downloadUrl?: string;
name?: string;
type?: string;
}> | null;
/**
* The Chrome device serial number entered when the device was enabled. This value is the same as the Admin console's *Serial Number* in the *Chrome OS Devices* tab.
*/
serialNumber?: string | null;
/**
* The status of the device.
*/
status?: string | null;
/**
* Final date the device will be supported (Read-only)
*/
supportEndDate?: string | null;
/**
* Reports of amounts of available RAM memory (Read-only)
*/
systemRamFreeReports?: Array<{
reportTime?: string;
systemRamFreeInfo?: string[];
}> | null;
/**
* Total RAM on the device [in bytes] (Read-only)
*/
systemRamTotal?: string | null;
/**
* Trusted Platform Module (TPM) (Read-only)
*/
tpmVersionInfo?: {
family?: string;
firmwareVersion?: string;
manufacturer?: string;
specLevel?: string;
tpmModel?: string;
vendorSpecific?: string;
} | null;
/**
* Determines if the device will auto renew its support after the support end date. This is a read-only property.
*/
willAutoRenew?: boolean | null;
}
/**
* Data about an update to the status of a Chrome OS device.
*/
export interface Schema$ChromeOsDeviceAction {
/**
* Action to be taken on the Chrome OS device.
*/
action?: string | null;
/**
* Only used when the action is `deprovision`. With the `deprovision` action, this field is required. *Note*: The deprovision reason is audited because it might have implications on licenses for perpetual subscription customers.
*/
deprovisionReason?: string | null;
}
export interface Schema$ChromeOsDevices {
/**
* A list of Chrome OS Device objects.
*/
chromeosdevices?: Schema$ChromeOsDevice[];
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* Kind of resource this is.
*/
kind?: string | null;
/**
* Token used to access the next page of this result. To access the next page, use this token's value in the `pageToken` query string of this request.
*/
nextPageToken?: string | null;
}
export interface Schema$ChromeOsMoveDevicesToOu {
/**
* Chrome OS devices to be moved to OU
*/
deviceIds?: string[] | null;
}
/**
* Request for adding a new printer.
*/
export interface Schema$CreatePrinterRequest {
/**
* Required. The name of the customer. Format: customers/{customer_id\}
*/
parent?: string | null;
/**
* Required. A printer to create. If you want to place the printer under particular OU then populate printer.org_unit_id filed. Otherwise the printer will be placed under root OU.
*/
printer?: Schema$Printer;
}
/**
* Request for adding a new print server.
*/
export interface Schema$CreatePrintServerRequest {
/**
* Required. The [unique ID](https://developers.google.com/workspace/admin/directory/reference/rest/v1/customers) of the customer's Google Workspace account. Format: `customers/{id\}`
*/
parent?: string | null;
/**
* Required. A print server to create. If you want to place the print server under a specific organizational unit (OU), then populate the `org_unit_id`. Otherwise the print server is created under the root OU. The `org_unit_id` can be retrieved using the [Directory API](https://developers.google.com/workspace/admin/directory/v1/guides/manage-org-units).
*/
printServer?: Schema$PrintServer;
}
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 | null;
/**
* The customer's creation time (Readonly)
*/
customerCreationTime?: string | null;
/**
* The customer's primary domain name string. Do not include the `www` prefix when creating a new customer.
*/
customerDomain?: string | null;
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* The unique ID for the customer's Google Workspace account. (Readonly)
*/
id?: string | null;
/**
* Identifies the resource as a customer. Value: `admin#directory#customer`
*/
kind?: string | null;
/**
* The customer's ISO 639-2 language code. See the [Language Codes](https://developers.google.com/workspace/admin/directory/v1/languages) page for the list of supported codes. Valid language codes outside the supported set will be accepted by the API but may lead to unexpected behavior. The default value is `en`.
*/
language?: string | null;
/**
* The customer's contact phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format.
*/
phoneNumber?: string | null;
/**
* The customer's postal address information.
*/
postalAddress?: Schema$CustomerPostalAddress;
}
export interface Schema$CustomerPostalAddress {
/**
* A customer's physical address. The address can be composed of one to three lines.
*/
addressLine1?: string | null;
/**
* Address line 2 of the address.
*/
addressLine2?: string | null;
/**
* Address line 3 of the address.
*/
addressLine3?: string | null;
/**
* The customer contact's name.
*/
contactName?: string | null;
/**
* This is a required property. For `countryCode` information see the [ISO 3166 country code elements](https://www.iso.org/iso/country_codes.htm).
*/
countryCode?: string | null;
/**
* Name of the locality. An example of a locality value is the city of `San Francisco`.
*/
locality?: string | null;
/**
* The company or company division name.
*/
organizationName?: string | null;
/**
* 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 | null;
/**
* Name of the region. An example of a region value is `NY` for the state of New York.
*/
region?: string | null;
}
/**
* Information regarding a command that was issued to a device.
*/
export interface Schema$DirectoryChromeosdevicesCommand {
/**
* The time at which the command will expire. If the device doesn't execute the command within this time the command will become expired.
*/
commandExpireTime?: string | null;
/**
* Unique ID of a device command.
*/
commandId?: string | null;
/**
* The result of the command execution.
*/
commandResult?: Schema$DirectoryChromeosdevicesCommandResult;
/**
* The timestamp when the command was issued by the admin.
*/
issueTime?: string | null;
/**
* The payload that the command specified, if any.
*/
payload?: string | null;
/**
* Indicates the command state.
*/
state?: string | null;
/**
* The type of the command.
*/
type?: string | null;
}
/**
* The result of executing a command.
*/
export interface Schema$DirectoryChromeosdevicesCommandResult {
/**
* The payload for the command result. The following commands respond with a payload: * `DEVICE_START_CRD_SESSION`: Payload is a stringified JSON object in the form: { "url": url \}. The provided URL links to the Chrome Remote Desktop session and requires authentication using only the `email` associated with the command's issuance. * `FETCH_CRD_AVAILABILITY_INFO`: Payload is a stringified JSON object in the form: { "deviceIdleTimeInSeconds": number, "userSessionType": string, "remoteSupportAvailability": string, "remoteAccessAvailability": string \}. The "remoteSupportAvailability" field is set to "AVAILABLE" if `shared` CRD session to the device is available. The "remoteAccessAvailability" field is set to "AVAILABLE" if `private` CRD session to the device is available.
*/
commandResultPayload?: string | null;
/**
* The error message with a short explanation as to why the command failed. Only present if the command failed.
*/
errorMessage?: string | null;
/**
* The time at which the command was executed or failed to execute.
*/
executeTime?: string | null;
/**
* The result of the command.
*/
result?: string | null;
}
/**
* A request for issuing a command.
*/
export interface Schema$DirectoryChromeosdevicesIssueCommandRequest {
/**
* The type of command.
*/
commandType?: string | null;
/**
* The payload for the command, provide it only if command supports it. The following commands support adding payload: * `SET_VOLUME`: Payload is a stringified JSON object in the form: { "volume": 50 \}. The volume has to be an integer in the range [0,100]. * `DEVICE_START_CRD_SESSION`: Payload is optionally a stringified JSON object in the form: { "ackedUserPresence": true, "crdSessionType": string \}. `ackedUserPresence` is a boolean. By default, `ackedUserPresence` is set to `false`. To start a Chrome Remote Desktop session for an active device, set `ackedUserPresence` to `true`. `crdSessionType` can only select from values `private` (which grants the remote admin exclusive control of the ChromeOS device) or `shared` (which allows the admin and the local user to share control of the ChromeOS device). If not set, `crdSessionType` defaults to `shared`. The `FETCH_CRD_AVAILABILITY_INFO` command can be used to determine available session types on the device. * `REBOOT`: Payload is a stringified JSON object in the form: { "user_session_delay_seconds": 300 \}. The `user_session_delay_seconds` is the amount of seconds to wait before rebooting the device if a user is logged in. It has to be an integer in the range [0,300]. When payload is not present for reboot, 0 delay is the default. Note: This only applies if an actual user is logged in, including a Guest. If the device is in the login screen or in Kiosk mode the value is not respected and the device immediately reboots. * `FETCH_SUPPORT_PACKET`: Payload is optionally a stringified JSON object in the form: {"supportPacketDetails":{ "issueCaseId": optional_support_case_id_string, "issueDescription": optional_issue_description_string, "requestedDataCollectors": []\}\} The list of available `data_collector_enums` are as following: Chrome System Information (1), Crash IDs (2), Memory Details (3), UI Hierarchy (4), Additional ChromeOS Platform Logs (5), Device Event (6), Intel WiFi NICs Debug Dump (7), Touch Events (8), Lacros (9), Lacros System Information (10), ChromeOS Flex Logs (11), DBus Details (12), ChromeOS Network Routes (13), ChromeOS Shill (Connection Manager) Logs (14), Policies (15), ChromeOS System State and Logs (16), ChromeOS System Logs (17), ChromeOS Chrome User Logs (18), ChromeOS Bluetooth (19), ChromeOS Connected Input Devices (20), ChromeOS Traffic Counters (21), ChromeOS Virtual Keyboard (22), ChromeOS Network Health (23). See more details in [help article](https://support.google.com/chrome/a?p=remote-log).
*/
payload?: string | null;
}
/**
* A response for issuing a command.
*/
export interface Schema$DirectoryChromeosdevicesIssueCommandResponse {
/**
* The unique ID of the issued command, used to retrieve the command status.
*/
commandId?: string | null;
}
/**
* Directory users guest creation request message.
*/
export interface Schema$DirectoryUsersCreateGuestRequest {
/**
* Optional. Immutable ID of the Google Workspace account.
*/
customer?: string | null;
/**
* Immutable. External email of the guest user being created.
*/
primaryGuestEmail?: string | null;
}
export interface Schema$DomainAlias {
/**
* The creation time of the domain alias. (Read-only).
*/
creationTime?: string | null;
/**
* The domain alias name.
*/
domainAliasName?: string | null;
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* Kind of resource this is.
*/
kind?: string | null;
/**
* 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 | null;
/**
* Indicates the verification state of a domain alias. (Read-only)
*/
verified?: boolean | null;
}
export interface Schema$DomainAliases {
/**
* A list of domain alias objects.
*/
domainAliases?: Schema$DomainAlias[];
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* Kind of resource this is.
*/
kind?: string | null;
}
export interface Schema$Domains {
/**
* Creation time of the domain. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_time) format. (Read-only).
*/
creationTime?: string | null;
/**
* A list of domain alias objects. (Read-only)
*/
domainAliases?: Schema$DomainAlias[];
/**
* The domain name of the customer.
*/
domainName?: string | null;
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* Indicates if the domain is a primary domain (Read-only).
*/
isPrimary?: boolean | null;
/**
* Kind of resource this is.
*/
kind?: string | null;
/**
* Indicates the verification state of a domain. (Read-only).
*/
verified?: boolean | null;
}
export interface Schema$Domains2 {
/**
* A list of domain objects.
*/
domains?: Schema$Domains[];
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* Kind of resource this is.
*/
kind?: string | null;
}
/**
* A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \}
*/
export interface Schema$Empty {
}
/**
* Info about failures
*/
export interface Schema$FailureInfo {
/**
* Canonical code for why the update failed to apply.
*/
errorCode?: string | null;
/**
* Failure reason message.
*/
errorMessage?: string | null;
/**
* Failed printer.
*/
printer?: Schema$Printer;
/**
* Id of a failed printer.
*/
printerId?: string | null;
}
/**
* Information about the device's fan.
*/
export interface Schema$FanInfo {
/**
* Output only. Fan speed in RPM.
*/
speedRpm?: number | null;
}
/**
* JSON template for Feature object in Directory API.
*/
export interface Schema$Feature {
/**
* ETag of the resource.
*/
etags?: string | null;
/**
* Kind of resource this is.
*/
kind?: string | null;
/**
* The name of the feature.
*/
name?: string | null;
}
/**
* 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;
}
export interface Schema$FeatureRename {
/**
* New name of the feature.
*/
newName?: string | null;
}
/**
* Public API: Resources.features
*/
export interface Schema$Features {
/**
* ETag of the resource.
*/
etag?: string | null;
/**
* The Features in this page of results.
*/
features?: Schema$Feature[];
/**
* Kind of resource this is.
*/
kind?: string | null;
/**
* 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 | null;
}
/**
* Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](https://developers.google.com/workspace/admin/directory/v1/guides/manage-groups). For information about other types of groups, see the [Cloud Identity Groups API documentation](https://cloud.google.com/identity/docs/groups). Note: The user calling the API (or being impersonated by a service account) must have an assigned [role](https://developers.google.com/workspace/admin/directory/v1/guides/manage-roles) that includes Admin API Groups permissions, such as Super Admin or Groups Admin.
*/
export interface Schema$Group {
/**
* R