googleapis
Version:
Google APIs Client Library for Node.js
1,486 lines • 77.9 kB
TypeScript
/**
* 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';
/**
* Android Management API
*
* The Android Management API provides remote enterprise management of Android
* devices and apps.
*
* @example
* const google = require('googleapis');
* const androidmanagement = google.androidmanagement('v1');
*
* @namespace androidmanagement
* @type {Function}
* @version v1
* @variation v1
* @param {object=} options Options for Androidmanagement
*/
export declare class Androidmanagement {
_options: GlobalOptions;
google: GoogleApis;
root: this;
enterprises: Resource$Enterprises;
signupUrls: Resource$Signupurls;
constructor(options: GlobalOptions, google: GoogleApis);
getRoot(): this;
}
/**
* Configuration for an always-on VPN connection.
*/
export interface Schema$AlwaysOnVpnPackage {
/**
* Disallows networking when the VPN is not connected.
*/
lockdownEnabled: boolean;
/**
* The package name of the VPN app.
*/
packageName: string;
}
/**
* A compliance rule condition which is satisfied if the Android Framework API
* level on the device doesn't meet a minimum requirement. There can only be
* one rule with this type of condition per policy.
*/
export interface Schema$ApiLevelCondition {
/**
* The minimum desired Android Framework API level. If the device doesn't
* meet the minimum requirement, this condition is satisfied. Must be greater
* than zero.
*/
minApiLevel: number;
}
/**
* Information about an app.
*/
export interface Schema$Application {
/**
* The set of managed properties available to be pre-configured for the app.
*/
managedProperties: Schema$ManagedProperty[];
/**
* The name of the app in the form
* enterprises/{enterpriseId}/applications/{package_name}.
*/
name: string;
/**
* The permissions required by the app.
*/
permissions: Schema$ApplicationPermission[];
/**
* The title of the app. Localized.
*/
title: string;
}
/**
* A permission required by the app.
*/
export interface Schema$ApplicationPermission {
/**
* A longer description of the permission, providing more detail on what it
* affects. Localized.
*/
description: string;
/**
* The name of the permission. Localized.
*/
name: string;
/**
* An opaque string uniquely identifying the permission. Not localized.
*/
permissionId: string;
}
/**
* Policy for an individual app.
*/
export interface Schema$ApplicationPolicy {
/**
* The default policy for all permissions requested by the app. If specified,
* this overrides the policy-level default_permission_policy which applies to
* all apps.
*/
defaultPermissionPolicy: string;
/**
* The scopes delegated to the app from Android Device Policy.
*/
delegatedScopes: string[];
/**
* The type of installation to perform.
*/
installType: string;
/**
* Whether the app is allowed to lock itself in full-screen mode.
*/
lockTaskAllowed: boolean;
/**
* Managed configuration applied to the app. The format for the configuration
* is dictated by the ManagedProperty values supported by the app. Each field
* name in the managed configuration must match the key field of the
* ManagedProperty. The field value must be compatible with the type of the
* ManagedProperty: <table>
* <tr><td><i>type</i></td><td><i>JSON
* value</i></td></tr>
* <tr><td>BOOL</td><td>true or
* false</td></tr>
* <tr><td>STRING</td><td>string</td></tr>
* <tr><td>INTEGER</td><td>number</td></tr>
* <tr><td>CHOICE</td><td>string</td></tr>
* <tr><td>MULTISELECT</td><td>array of
* strings</td></tr>
* <tr><td>HIDDEN</td><td>string</td></tr>
* <tr><td>BUNDLE_ARRAY</td><td>array of
* objects</td></tr> </table>
*/
managedConfiguration: any;
/**
* The minimum version of the app that runs on the device. If set, the device
* attempts to update the app to at least this version code. If the app is not
* up-to-date, the device will contain a NonComplianceDetail with
* non_compliance_reason set to APP_NOT_UPDATED. The app must already be
* published to Google Play with a version code greater than or equal to this
* value. At most 20 apps may specify a minimum version code per policy.
*/
minimumVersionCode: number;
/**
* The package name of the app. For example, com.google.android.youtube for
* the YouTube app.
*/
packageName: string;
/**
* Explicit permission grants or denials for the app. These values override
* the default_permission_policy.
*/
permissionGrants: Schema$PermissionGrant[];
}
/**
* A command.
*/
export interface Schema$Command {
/**
* The timestamp at which the command was created. The timestamp is
* automatically generated by the server.
*/
createTime: string;
/**
* The duration for which the command is valid. The command will expire if not
* executed by the device during this time. The default duration if
* unspecified is ten minutes. There is no maximum duration.
*/
duration: string;
/**
* If the command failed, an error code explaining the failure. This is not
* set when the command is cancelled by the caller.
*/
errorCode: string;
/**
* For commands of type RESET_PASSWORD, optionally specifies the new password.
*/
newPassword: string;
/**
* For commands of type RESET_PASSWORD, optionally specifies flags.
*/
resetPasswordFlags: string[];
/**
* The type of the command.
*/
type: string;
/**
* The resource name of the user that owns the device in the form
* enterprises/{enterpriseId}/users/{userId}. This is automatically generated
* by the server based on the device the command is sent to.
*/
userName: string;
}
/**
* A rule declaring which mitigating actions to take when a device is not
* compliant with its policy. For every rule, there is always an implicit
* mitigating action to set policy_compliant to false for the Device resource,
* and display a message on the device indicating that the device is not
* compliant with its policy. Other mitigating actions may optionally be taken
* as well, depending on the field values in the rule.
*/
export interface Schema$ComplianceRule {
/**
* A condition which is satisfied if the Android Framework API level on the
* device doesn't meet a minimum requirement.
*/
apiLevelCondition: Schema$ApiLevelCondition;
/**
* If set to true, the rule includes a mitigating action to disable apps so
* that the device is effectively disabled, but app data is preserved. If the
* device is running an app in locked task mode, the app will be closed and a
* UI showing the reason for non-compliance will be displayed.
*/
disableApps: boolean;
/**
* A condition which is satisfied if there exists any matching
* NonComplianceDetail for the device.
*/
nonComplianceDetailCondition: Schema$NonComplianceDetailCondition;
}
/**
* A device owned by an enterprise. Unless otherwise noted, all fields are
* read-only and can't be modified by enterprises.devices.patch.
*/
export interface Schema$Device {
/**
* The API level of the Android platform version running on the device.
*/
apiLevel: number;
/**
* The name of the policy currently applied to the device.
*/
appliedPolicyName: string;
/**
* The version of the policy currently applied to the device.
*/
appliedPolicyVersion: string;
/**
* The state currently applied to the device.
*/
appliedState: string;
/**
* Device settings information. This information is only available if
* deviceSettingsEnabled is true in the device's policy.
*/
deviceSettings: Schema$DeviceSettings;
/**
* If the device state is DISABLED, an optional message that is displayed on
* the device indicating the reason the device is disabled. This field can be
* modified by a patch request.
*/
disabledReason: Schema$UserFacingMessage;
/**
* Detailed information about displays on the device. This information is only
* available if displayInfoEnabled is true in the device's policy.
*/
displays: Schema$Display[];
/**
* The time of device enrollment.
*/
enrollmentTime: string;
/**
* If the device was enrolled with an enrollment token with additional data
* provided, this field contains that data.
*/
enrollmentTokenData: string;
/**
* If the device was enrolled with an enrollment token, this field contains
* the name of the token.
*/
enrollmentTokenName: string;
/**
* Detailed information about the device hardware.
*/
hardwareInfo: Schema$HardwareInfo;
/**
* Hardware status samples in chronological order. This information is only
* available if hardwareStatusEnabled is true in the device's policy.
*/
hardwareStatusSamples: Schema$HardwareStatus[];
/**
* The last time the device sent a policy compliance report.
*/
lastPolicyComplianceReportTime: string;
/**
* The last time the device fetched its policy.
*/
lastPolicySyncTime: string;
/**
* The last time the device sent a status report.
*/
lastStatusReportTime: string;
/**
* Events related to memory and storage measurements in chronological order.
* This information is only available if memoryInfoEnabled is true in the
* device's policy.
*/
memoryEvents: Schema$MemoryEvent[];
/**
* Memory information. This information is only available if memoryInfoEnabled
* is true in the device's policy.
*/
memoryInfo: Schema$MemoryInfo;
/**
* The name of the device in the form
* enterprises/{enterpriseId}/devices/{deviceId}.
*/
name: string;
/**
* Device network information. This information is only available if
* networkInfoEnabled is true in the device's policy.
*/
networkInfo: Schema$NetworkInfo;
/**
* Details about policy settings that the device is not compliant with.
*/
nonComplianceDetails: Schema$NonComplianceDetail[];
/**
* Whether the device is compliant with its policy.
*/
policyCompliant: boolean;
/**
* The name of the policy applied to the device, in the form
* enterprises/{enterpriseId}/policies/{policyId}. If not specified, the
* policy_name for the device's user is applied. This field can be
* modified by a patch request. You can specify only the policyId when calling
* enterprises.devices.patch, as long as the policyId doesn’t contain any
* slashes. The rest of the policy name is inferred.
*/
policyName: string;
/**
* Power management events on the device in chronological order. This
* information is only available if powerManagementEventsEnabled is true in
* the device's policy.
*/
powerManagementEvents: Schema$PowerManagementEvent[];
/**
* If the same physical device has been enrolled multiple times, this field
* contains its previous device names. The serial number is used as the unique
* identifier to determine if the same physical device has enrolled
* previously. The names are in chronological order.
*/
previousDeviceNames: string[];
/**
* Detailed information about the device software. This information is only
* available if softwareInfoEnabled is true in the device's policy.
*/
softwareInfo: Schema$SoftwareInfo;
/**
* The state to be applied to the device. This field can be modified by a
* patch request. Note that when calling enterprises.devices.patch, ACTIVE and
* DISABLED are the only allowable values. To enter the device into a DELETED
* state, call enterprises.devices.delete.
*/
state: string;
/**
* The resource name of the user that owns this device in the form
* enterprises/{enterpriseId}/users/{userId}.
*/
userName: string;
}
/**
* Information about security related device settings on device.
*/
export interface Schema$DeviceSettings {
/**
* Whether ADB (https://developer.android.com/studio/command-line/adb.html) is
* enabled on the device.
*/
adbEnabled: boolean;
/**
* Whether developer mode is enabled on the device.
*/
developmentSettingsEnabled: boolean;
/**
* Encryption status from DevicePolicyManager.
*/
encryptionStatus: string;
/**
* Whether the device is secured with PIN/password.
*/
isDeviceSecure: boolean;
/**
* Whether the storage encryption is enabled.
*/
isEncrypted: boolean;
/**
* Whether installing apps from unknown sources is enabled.
*/
unknownSourcesEnabled: boolean;
/**
* Whether Verify Apps (Google Play Protect
* (https://support.google.com/googleplay/answer/2812853)) is enabled on the
* device.
*/
verifyAppsEnabled: boolean;
}
/**
* Device display information.
*/
export interface Schema$Display {
/**
* Display density expressed as dots-per-inch.
*/
density: number;
/**
* Unique display id.
*/
displayId: number;
/**
* Display height in pixels.
*/
height: number;
/**
* Name of the display.
*/
name: string;
/**
* Refresh rate of the display in frames per second.
*/
refreshRate: number;
/**
* State of the display.
*/
state: string;
/**
* Display width in pixels.
*/
width: number;
}
/**
* 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); } The JSON
* representation for Empty is empty JSON object {}.
*/
export interface Schema$Empty {
}
/**
* An enrollment token.
*/
export interface Schema$EnrollmentToken {
/**
* Optional, arbitrary data associated with the enrollment token. This could
* contain, for example, the ID of an org unit the device is assigned to after
* enrollment. After a device enrolls with the token, this data will be
* exposed in the enrollment_token_data field of the Device resource. The data
* must be 1024 characters or less; otherwise, the creation request will fail.
*/
additionalData: string;
/**
* The length of time the enrollment token is valid, ranging from 1 minute to
* 30 days. If not specified, the default duration is 1 hour.
*/
duration: string;
/**
* The expiration time of the token. This is a read-only field generated by
* the server.
*/
expirationTimestamp: string;
/**
* The name of the enrollment token, which is generated by the server during
* creation, in the form
* enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}.
*/
name: string;
/**
* The name of the policy initially applied to the enrolled device, in the
* form enterprises/{enterpriseId}/policies/{policyId}. If not specified, the
* policy_name for the device’s user is applied. If user_name is also not
* specified, enterprises/{enterpriseId}/policies/default is applied by
* default. When updating this field, you can specify only the policyId as
* long as the policyId doesn’t contain any slashes. The rest of the policy
* name will be inferred.
*/
policyName: string;
/**
* A JSON string whose UTF-8 representation can be used to generate a QR code
* to enroll a device with this enrollment token. To enroll a device using
* NFC, the NFC record must contain a serialized java.util.Properties
* representation of the properties in the JSON.
*/
qrCode: string;
/**
* The token value that's passed to the device and authorizes the device
* to enroll. This is a read-only field generated by the server.
*/
value: string;
}
/**
* The configuration applied to an enterprise.
*/
export interface Schema$Enterprise {
/**
* Whether permissions for apps installed via policy are automatically
* approved. If enabled, you must display an app's permissions to the
* enterprise admin before setting the app to be installed in a policy.
*/
appAutoApprovalEnabled: boolean;
/**
* The types of Google Pub/Sub notifications enabled for the enterprise.
*/
enabledNotificationTypes: string[];
/**
* The name of the enterprise displayed to users.
*/
enterpriseDisplayName: string;
/**
* An image displayed as a logo during device provisioning. Supported types
* are: image/bmp, image/gif, image/x-ico, image/jpeg, image/png, image/webp,
* image/vnd.wap.wbmp, image/x-adobe-dng.
*/
logo: Schema$ExternalData;
/**
* The name of the enterprise which is generated by the server during
* creation, in the form enterprises/{enterpriseId}.
*/
name: string;
/**
* A color in RGB format that indicates the predominant color to display in
* the device management app UI. The color components are stored as follows:
* (red << 16) | (green << 8) | blue, where the value of each
* component is between 0 and 255, inclusive.
*/
primaryColor: number;
/**
* The topic that Cloud Pub/Sub notifications are published to, in the form
* projects/{project}/topics/{topic}. This field is only required if Pub/Sub
* notifications are enabled.
*/
pubsubTopic: string;
}
/**
* Data hosted at an external location. The data is to be downloaded by Android
* Device Policy and verified against the hash.
*/
export interface Schema$ExternalData {
/**
* The base-64 encoded SHA-256 hash of the content hosted at url. If the
* content doesn't match this hash, Android Device Policy won't use
* the data.
*/
sha256Hash: string;
/**
* The absolute URL to the data, which must use either the http or https
* scheme. Android Device Policy doesn't provide any credentials in the
* GET request, so the URL must be publicly accessible. Including a long,
* random component in the URL may be used to prevent attackers from
* discovering the URL.
*/
url: string;
}
/**
* Information about device hardware. The fields related to temperature
* thresholds are only available if hardwareStatusEnabled is true in the
* device's policy.
*/
export interface Schema$HardwareInfo {
/**
* Battery shutdown temperature thresholds in Celsius for each battery on the
* device.
*/
batteryShutdownTemperatures: number[];
/**
* Battery throttling temperature thresholds in Celsius for each battery on
* the device.
*/
batteryThrottlingTemperatures: number[];
/**
* Brand of the device. For example, Google.
*/
brand: string;
/**
* CPU shutdown temperature thresholds in Celsius for each CPU on the device.
*/
cpuShutdownTemperatures: number[];
/**
* CPU throttling temperature thresholds in Celsius for each CPU on the
* device.
*/
cpuThrottlingTemperatures: number[];
/**
* Baseband version. For example, MDM9625_104662.22.05.34p.
*/
deviceBasebandVersion: string;
/**
* GPU shutdown temperature thresholds in Celsius for each GPU on the device.
*/
gpuShutdownTemperatures: number[];
/**
* GPU throttling temperature thresholds in Celsius for each GPU on the
* device.
*/
gpuThrottlingTemperatures: number[];
/**
* Name of the hardware. For example, Angler.
*/
hardware: string;
/**
* Manufacturer. For example, Motorola.
*/
manufacturer: string;
/**
* The model of the device. For example, Asus Nexus 7.
*/
model: string;
/**
* The device serial number.
*/
serialNumber: string;
/**
* Device skin shutdown temperature thresholds in Celsius.
*/
skinShutdownTemperatures: number[];
/**
* Device skin throttling temperature thresholds in Celsius.
*/
skinThrottlingTemperatures: number[];
}
/**
* Hardware status. Temperatures may be compared to the temperature thresholds
* available in hardwareInfo to determine hardware health.
*/
export interface Schema$HardwareStatus {
/**
* Current battery temperatures in Celsius for each battery on the device.
*/
batteryTemperatures: number[];
/**
* Current CPU temperatures in Celsius for each CPU on the device.
*/
cpuTemperatures: number[];
/**
* CPU usages in percentage for each core available on the device. Usage is 0
* for each unplugged core. Empty array implies that CPU usage is not
* supported in the system.
*/
cpuUsages: number[];
/**
* The time the measurements were taken.
*/
createTime: string;
/**
* Fan speeds in RPM for each fan on the device. Empty array means that there
* are no fans or fan speed is not supported on the system.
*/
fanSpeeds: number[];
/**
* Current GPU temperatures in Celsius for each GPU on the device.
*/
gpuTemperatures: number[];
/**
* Current device skin temperatures in Celsius.
*/
skinTemperatures: number[];
}
/**
* Response to a request to list devices for a given enterprise.
*/
export interface Schema$ListDevicesResponse {
/**
* The list of devices.
*/
devices: Schema$Device[];
/**
* If there are more results, a token to retrieve next page of results.
*/
nextPageToken: string;
}
/**
* The response message for Operations.ListOperations.
*/
export interface Schema$ListOperationsResponse {
/**
* The standard List next-page token.
*/
nextPageToken: string;
/**
* A list of operations that matches the specified filter in the request.
*/
operations: Schema$Operation[];
}
/**
* Response to a request to list policies for a given enterprise.
*/
export interface Schema$ListPoliciesResponse {
/**
* If there are more results, a token to retrieve next page of results.
*/
nextPageToken: string;
/**
* The list of policies.
*/
policies: Schema$Policy[];
}
/**
* Managed property.
*/
export interface Schema$ManagedProperty {
/**
* The default value of the property. BUNDLE_ARRAY properties don't have a
* default value.
*/
defaultValue: any;
/**
* A longer description of the property, providing more detail of what it
* affects. Localized.
*/
description: string;
/**
* For CHOICE or MULTISELECT properties, the list of possible entries.
*/
entries: Schema$ManagedPropertyEntry[];
/**
* The unique key that the app uses to identify the property, e.g.
* "com.google.android.gm.fieldname".
*/
key: string;
/**
* For BUNDLE_ARRAY properties, the list of nested properties. A BUNDLE_ARRAY
* property is at most two levels deep.
*/
nestedProperties: Schema$ManagedProperty[];
/**
* The name of the property. Localized.
*/
title: string;
/**
* The type of the property.
*/
type: string;
}
/**
* An entry of a managed property.
*/
export interface Schema$ManagedPropertyEntry {
/**
* The human-readable name of the value. Localized.
*/
name: string;
/**
* The machine-readable value of the entry, which should be used in the
* configuration. Not localized.
*/
value: string;
}
/**
* An event related to memory and storage measurements.
*/
export interface Schema$MemoryEvent {
/**
* The number of free bytes in the medium, or for EXTERNAL_STORAGE_DETECTED,
* the total capacity in bytes of the storage medium.
*/
byteCount: string;
/**
* The creation time of the event.
*/
createTime: string;
/**
* Event type.
*/
eventType: string;
}
/**
* Information about device memory and storage.
*/
export interface Schema$MemoryInfo {
/**
* Total internal storage on device in bytes.
*/
totalInternalStorage: string;
/**
* Total RAM on device in bytes.
*/
totalRam: string;
}
/**
* Device network info.
*/
export interface Schema$NetworkInfo {
/**
* IMEI number of the GSM device. For example, A1000031212.
*/
imei: string;
/**
* MEID number of the CDMA device. For example, A00000292788E1.
*/
meid: string;
/**
* Alphabetic name of current registered operator. For example, Vodafone.
*/
networkOperatorName: string;
/**
* Wi-Fi MAC address of the device. For example, 7c:11:11:11:11:11.
*/
wifiMacAddress: string;
}
/**
* Provides detail about non-compliance with a policy setting.
*/
export interface Schema$NonComplianceDetail {
/**
* If the policy setting could not be applied, the current value of the
* setting on the device.
*/
currentValue: any;
/**
* For settings with nested fields, if a particular nested field is out of
* compliance, this specifies the full path to the offending field. The path
* is formatted in the same way the policy JSON field would be referenced in
* JavaScript, that is: 1) For object-typed fields, the field name is followed
* by a dot then by a subfield name. 2) For array-typed fields, the field
* name is followed by the array index enclosed in brackets. For example, to
* indicate a problem with the url field in the externalData field in the 3rd
* application, the path would be applications[2].externalData.url
*/
fieldPath: string;
/**
* If package_name is set and the non-compliance reason is APP_NOT_INSTALLED
* or APP_NOT_UPDATED, the detailed reason the app can't be installed or
* updated.
*/
installationFailureReason: string;
/**
* The reason the device is not in compliance with the setting.
*/
nonComplianceReason: string;
/**
* The package name indicating which app is out of compliance, if applicable.
*/
packageName: string;
/**
* The name of the policy setting. This is the JSON field name of a top-level
* Policy field.
*/
settingName: string;
}
/**
* A compliance rule condition which is satisfied if there exists any matching
* NonComplianceDetail for the device. A NonComplianceDetail matches a
* NonComplianceDetailCondition if all the fields which are set within the
* NonComplianceDetailCondition match the corresponding NonComplianceDetail
* fields.
*/
export interface Schema$NonComplianceDetailCondition {
/**
* The reason the device is not in compliance with the setting. If not set,
* then this condition matches any reason.
*/
nonComplianceReason: string;
/**
* The package name of the app that's out of compliance. If not set, then
* this condition matches any package name.
*/
packageName: string;
/**
* The name of the policy setting. This is the JSON field name of a top-level
* Policy field. If not set, then this condition matches any setting name.
*/
settingName: string;
}
/**
* This resource represents a long-running operation that is the result of a
* network API call.
*/
export interface Schema$Operation {
/**
* If the value is false, it means the operation is still in progress. If
* true, the operation is completed, and either error or response is
* available.
*/
done: boolean;
/**
* The error result of the operation in case of failure or cancellation.
*/
error: Schema$Status;
/**
* Service-specific metadata associated with the operation. It typically
* contains progress information and common metadata such as create time. Some
* services might not provide such metadata. Any method that returns a
* long-running operation should document the metadata type, if any.
*/
metadata: any;
/**
* The server-assigned name, which is only unique within the same service that
* originally returns it. If you use the default HTTP mapping, the name should
* have the format of operations/some/unique/name.
*/
name: string;
/**
* The normal response of the operation in case of success. If the original
* method returns no data on success, such as Delete, the response is
* google.protobuf.Empty. If the original method is standard
* Get/Create/Update, the response should be the resource. For other methods,
* the response should have the type XxxResponse, where Xxx is the original
* method name. For example, if the original method name is TakeSnapshot(),
* the inferred response type is TakeSnapshotResponse.
*/
response: any;
}
/**
* A list of package names.
*/
export interface Schema$PackageNameList {
/**
* A list of package names.
*/
packageNames: string[];
}
/**
* Requirements for the password used to unlock a device.
*/
export interface Schema$PasswordRequirements {
/**
* Number of incorrect device-unlock passwords that can be entered before a
* device is wiped. A value of 0 means there is no restriction.
*/
maximumFailedPasswordsForWipe: number;
/**
* Password expiration timeout.
*/
passwordExpirationTimeout: string;
/**
* The length of the password history. After setting this field, the user
* won't be able to enter a new password that is the same as any password
* in the history. A value of 0 means there is no restriction.
*/
passwordHistoryLength: number;
/**
* The minimum allowed password length. A value of 0 means there is no
* restriction. Only enforced when password_quality is NUMERIC,
* NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX.
*/
passwordMinimumLength: number;
/**
* Minimum number of letters required in the password. Only enforced when
* password_quality is COMPLEX.
*/
passwordMinimumLetters: number;
/**
* Minimum number of lower case letters required in the password. Only
* enforced when password_quality is COMPLEX.
*/
passwordMinimumLowerCase: number;
/**
* Minimum number of non-letter characters (numerical digits or symbols)
* required in the password. Only enforced when password_quality is COMPLEX.
*/
passwordMinimumNonLetter: number;
/**
* Minimum number of numerical digits required in the password. Only enforced
* when password_quality is COMPLEX.
*/
passwordMinimumNumeric: number;
/**
* Minimum number of symbols required in the password. Only enforced when
* password_quality is COMPLEX.
*/
passwordMinimumSymbols: number;
/**
* Minimum number of upper case letters required in the password. Only
* enforced when password_quality is COMPLEX.
*/
passwordMinimumUpperCase: number;
/**
* The required password quality.
*/
passwordQuality: string;
}
/**
* Configuration for an Android permission and its grant state.
*/
export interface Schema$PermissionGrant {
/**
* The android permission, e.g. android.permission.READ_CALENDAR.
*/
permission: string;
/**
* The policy for granting the permission.
*/
policy: string;
}
/**
* A default activity for handling intents that match a particular intent
* filter.
*/
export interface Schema$PersistentPreferredActivity {
/**
* The intent actions to match in the filter. If any actions are included in
* the filter, then an intent's action must be one of those values for it
* to match. If no actions are included, the intent action is ignored.
*/
actions: string[];
/**
* The intent categories to match in the filter. An intent includes the
* categories that it requires, all of which must be included in the filter in
* order to match. In other words, adding a category to the filter has no
* impact on matching unless that category is specified in the intent.
*/
categories: string[];
/**
* The activity that should be the default intent handler. This should be an
* Android component name, e.g. com.android.enterprise.app/.MainActivity.
* Alternatively, the value may be the package name of an app, which causes
* Android Device Policy to choose an appropriate activity from the app to
* handle the intent.
*/
receiverActivity: string;
}
/**
* A policy resources represents a group settings that govern the behavior of a
* managed device and the apps installed on it.
*/
export interface Schema$Policy {
/**
* Account types that can't be managed by the user.
*/
accountTypesWithManagementDisabled: string[];
/**
* Whether adding new users and profiles is disabled.
*/
addUserDisabled: boolean;
/**
* Whether adjusting the master volume is disabled.
*/
adjustVolumeDisabled: boolean;
/**
* Configuration for an always-on VPN connection. Use with vpn_config_disabled
* to prevent modification of this setting.
*/
alwaysOnVpnPackage: Schema$AlwaysOnVpnPackage;
/**
* The app tracks for Android Device Policy the device can access. The device
* receives the latest version among all accessible tracks. If no tracks are
* specified, then the device only uses the production track.
*/
androidDevicePolicyTracks: string[];
/**
* The app auto update policy, which controls when automatic app updates can
* be applied.
*/
appAutoUpdatePolicy: string;
/**
* Policy applied to apps.
*/
applications: Schema$ApplicationPolicy[];
/**
* Whether auto time is required, which prevents the user from manually
* setting the date and time.
*/
autoTimeRequired: boolean;
/**
* Whether applications other than the ones configured in applications are
* blocked from being installed. When set, applications that were installed
* under a previous policy but no longer appear in the policy are
* automatically uninstalled.
*/
blockApplicationsEnabled: boolean;
/**
* Whether configuring bluetooth is disabled.
*/
bluetoothConfigDisabled: boolean;
/**
* Whether bluetooth contact sharing is disabled.
*/
bluetoothContactSharingDisabled: boolean;
/**
* Whether bluetooth is disabled. Prefer this setting over
* bluetooth_config_disabled because bluetooth_config_disabled can be bypassed
* by the user.
*/
bluetoothDisabled: boolean;
/**
* Whether all cameras on the device are disabled.
*/
cameraDisabled: boolean;
/**
* Whether configuring cell broadcast is disabled.
*/
cellBroadcastsConfigDisabled: boolean;
/**
* Rules declaring which mitigating actions to take when a device is not
* compliant with its policy. When the conditions for multiple rules are
* satisfied, all of the mitigating actions for the rules are taken. There is
* a maximum limit of 100 rules.
*/
complianceRules: Schema$ComplianceRule[];
/**
* Whether creating windows besides app windows is disabled.
*/
createWindowsDisabled: boolean;
/**
* Whether configuring user credentials is disabled.
*/
credentialsConfigDisabled: boolean;
/**
* Whether roaming data services are disabled.
*/
dataRoamingDisabled: boolean;
/**
* Whether the user is allowed to enable debugging features.
*/
debuggingFeaturesAllowed: boolean;
/**
* The default permission policy for runtime permission requests.
*/
defaultPermissionPolicy: string;
/**
* The device owner information to be shown on the lock screen.
*/
deviceOwnerLockScreenInfo: Schema$UserFacingMessage;
/**
* Whether encryption is enabled
*/
encryptionPolicy: string;
/**
* Whether app verification is force-enabled.
*/
ensureVerifyAppsEnabled: boolean;
/**
* Whether factory resetting from settings is disabled.
*/
factoryResetDisabled: boolean;
/**
* Email addresses of device administrators for factory reset protection. When
* the device is factory reset, it will require one of these admins to log in
* with the Google account email and password to unlock the device. If no
* admins are specified, the device won't provide factory reset
* protection.
*/
frpAdminEmails: string[];
/**
* Whether the user is allowed to have fun. Controls whether the Easter egg
* game in Settings is disabled.
*/
funDisabled: boolean;
/**
* Whether user installation of apps is disabled.
*/
installAppsDisabled: boolean;
/**
* Whether the user is allowed to enable the "Unknown Sources"
* setting, which allows installation of apps from unknown sources.
*/
installUnknownSourcesAllowed: boolean;
/**
* Whether the keyguard is disabled.
*/
keyguardDisabled: boolean;
/**
* Disabled keyguard customizations, such as widgets.
*/
keyguardDisabledFeatures: string[];
/**
* Whether the kiosk custom launcher is enabled. This replaces the home screen
* with a launcher that locks down the device to the apps installed via the
* applications setting. The apps appear on a single page in alphabetical
* order. It is recommended to also use status_bar_disabled to block access to
* device settings.
*/
kioskCustomLauncherEnabled: boolean;
/**
* The degree of location detection enabled. The user may change the value
* unless the user is otherwise blocked from accessing device settings.
*/
locationMode: string;
/**
* A message displayed to the user in the device administators settings
* screen.
*/
longSupportMessage: Schema$UserFacingMessage;
/**
* Maximum time in milliseconds for user activity until the device locks. A
* value of 0 means there is no restriction.
*/
maximumTimeToLock: string;
/**
* Whether configuring mobile networks is disabled.
*/
mobileNetworksConfigDisabled: boolean;
/**
* Whether adding or removing accounts is disabled.
*/
modifyAccountsDisabled: boolean;
/**
* Whether the user mounting physical external media is disabled.
*/
mountPhysicalMediaDisabled: boolean;
/**
* The name of the policy in the form
* enterprises/{enterpriseId}/policies/{policyId}.
*/
name: string;
/**
* Whether the network escape hatch is enabled. If a network connection
* can't be made at boot time, the escape hatch prompts the user to
* temporarily connect to a network in order to refresh the device policy.
* After applying policy, the temporary network will be forgotten and the
* device will continue booting. This prevents being unable to connect to a
* network if there is no suitable network in the last policy and the device
* boots into an app in lock task mode, or the user is otherwise unable to
* reach device settings.
*/
networkEscapeHatchEnabled: boolean;
/**
* Whether resetting network settings is disabled.
*/
networkResetDisabled: boolean;
/**
* Network configuration for the device. See configure networks for more
* information.
*/
openNetworkConfiguration: any;
/**
* Whether using NFC to beam data from apps is disabled.
*/
outgoingBeamDisabled: boolean;
/**
* Whether outgoing calls are disabled.
*/
outgoingCallsDisabled: boolean;
/**
* Password requirements.
*/
passwordRequirements: Schema$PasswordRequirements;
/**
* If present, only the input methods provided by packages in this list are
* permitted. If this field is present, but the list is empty, then only
* system input methods are permitted.
*/
permittedInputMethods: Schema$PackageNameList;
/**
* Default intent handler activities.
*/
persistentPreferredActivities: Schema$PersistentPreferredActivity[];
/**
* The network-independent global HTTP proxy. Typically proxies should be
* configured per-network in open_network_configuration. However for unusual
* configurations like general internal filtering a global HTTP proxy may be
* useful. If the proxy is not accessible, network access may break. The
* global proxy is only a recommendation and some apps may ignore it.
*/
recommendedGlobalProxy: Schema$ProxyInfo;
/**
* Whether removing other users is disabled.
*/
removeUserDisabled: boolean;
/**
* Whether rebooting the device into safe boot is disabled.
*/
safeBootDisabled: boolean;
/**
* Whether screen capture is disabled.
*/
screenCaptureDisabled: boolean;
/**
* Whether changing the user icon is disabled.
*/
setUserIconDisabled: boolean;
/**
* Whether changing the wallpaper is disabled.
*/
setWallpaperDisabled: boolean;
/**
* Whether location sharing is disabled.
*/
shareLocationDisabled: boolean;
/**
* A message displayed to the user in the settings screen wherever
* functionality has been disabled by the admin.
*/
shortSupportMessage: Schema$UserFacingMessage;
/**
* Flag to skip hints on the first use. Enterprise admin can enable the system
* recommendation for apps to skip their user tutorial and other introductory
* hints on first start-up.
*/
skipFirstUseHintsEnabled: boolean;
/**
* Whether sending and receiving SMS messages is disabled.
*/
smsDisabled: boolean;
/**
* Whether the status bar is disabled. This disables notifications, quick
* settings, and other screen overlays that allow escape from full-screen
* mode.
*/
statusBarDisabled: boolean;
/**
* Status reporting settings
*/
statusReportingSettings: Schema$StatusReportingSettings;
/**
* The battery plugged in modes for which the device stays on. When using this
* setting, it is recommended to clear maximum_time_to_lock so that the device
* doesn't lock itself while it stays on.
*/
stayOnPluggedModes: string[];
/**
* The system update policy, which controls how OS updates are applied. If the
* update type is WINDOWED, the update window will automatically apply to Play
* app updates as well.
*/
systemUpdate: Schema$SystemUpdate;
/**
* Whether configuring tethering and portable hotspots is disabled.
*/
tetheringConfigDisabled: boolean;
/**
* Whether user uninstallation of applications is disabled.
*/
uninstallAppsDisabled: boolean;
/**
* Whether the microphone is muted and adjusting microphone volume is
* disabled.
*/
unmuteMicrophoneDisabled: boolean;
/**
* Whether transferring files over USB is disabled.
*/
usbFileTransferDisabled: boolean;
/**
* Allows admins to toggle whether USB storge is enabled or disabled on
* user's devices. Next ID: 114
*/
usbMassStorageEnabled: boolean;
/**
* The version of the policy. This is a read-only field. The version is
* incremented each time the policy is updated.
*/
version: string;
/**
* Whether configuring VPN is disabled.
*/
vpnConfigDisabled: boolean;
/**
* Whether configuring Wi-Fi access points is disabled.
*/
wifiConfigDisabled: boolean;
/**
* Whether Wi-Fi networks defined in Open Network Configuration are locked so
* they can't be edited by the user.
*/
wifiConfigsLockdownEnabled: boolean;
}
/**
* A power management event.
*/
export interface Schema$PowerManagementEvent {
/**
* For BATTERY_LEVEL_COLLECTED events, the battery level as a percentage.
*/
batteryLevel: number;
/**
* The creation time of the event.
*/
createTime: string;
/**
* Event type.
*/
eventType: string;
}
/**
* Configuration info for an HTTP proxy. For a direct proxy, set the host, port,
* and excluded_hosts fields. For a PAC script proxy, set the pac_uri field.
*/
export interface Schema$ProxyInfo {
/**
* For a direct proxy, the hosts for which the proxy is bypassed. The host
* names may contain wildcards such as *.example.com.
*/
excludedHosts: string[];
/**
* The host of the direct proxy.
*/
host: string;
/**
* The URI of the PAC script used to configure the proxy.
*/
pacUri: string;
/**
* The port of the direct proxy.
*/
port: number;
}
/**
* An enterprise signup URL.
*/
export interface Schema$SignupUrl {
/**
* The name of the resource. Use this value in the signupUrl field when
* calling enterprises.create to complete the enterprise signup flow.
*/
name: string;
/**
* A URL where an enterprise admin can register their enterprise. The page
* can't be rendered in an iframe.
*/
url: string;
}
/**
* Information about device software.
*/
export interface Schema$SoftwareInfo {
/**
* Android build ID string meant for displaying to the user. For example,
* shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys.
*/
androidBuildNumber: string;
/**
* Build time.
*/
androidBuildTime: string;
/**
* The Android Device Policy app version code.
*/
androidDevicePolicyVersionCode: number;
/**
* The Android Device Policy app version as displayed to the user.
*/
androidDevicePolicyVersionName: string;
/**
* The user-visible Android version string. For example, 6.0.1.
*/
androidVersion: string;
/**
* The system bootloader version number, e.g. 0.6.7.
*/
bootloaderVersion: string;
/**
* SHA-256 hash of android.content.pm.Signature
* (https://developer.android.com/reference/android/content/pm/Signature.html)
* associated with the system package, which can be used to verify that the
* system build hasn't been modified.
*/
deviceBuildSignature: string;
/**
* Kernel version, for example, 2.6.32.9-g103d848.
*/
deviceKernelVersion: string;
/**
* Security patch level, e.g. 2016-05-01.
*/
securityPatchLevel: string;
}
/**
* The Status type defines a logical error model that is suitable for different
* programming environments, including REST APIs and RPC APIs. It is used by
* gRPC (https://github.com/grpc). The error model is designed to be: Simple to
* use and understand for most users Flexible enough to meet unexpected
* needsOverviewThe Status message contains three pieces of data: error code,
* error message, and error details. The error code should be an enum value of
* google.rpc.Code, but it may accept additional error codes if needed. The
* error message should be a developer-facing English message that helps
* developers understand and resolve the error. If a localized user-facing error
* message is needed, put the localized message in the error details or localize
* it in the client. The optional error details may contain arbitrary
* information about the error. There is a predefined set of error detail types
* in the package google.rpc that can be used for common error
* conditions.Language mappingThe Status message is the logical representation
* of the error model, but it is not necessarily the actual wire format. When
* the Status message is exposed in different client libraries and different
* wire protocols, it can be mapped differently. For example, it will likely be
* mapped to some exceptions in Java, but more likely mapped to some error codes
* in C.Other usesThe error model and the Status message can be used in a
* variety of environments, either with or without APIs, to provide a consistent
* developer experience across different environmen