manageengine-mdm
Version:
A TypeScript wrapper for the ManageEngine Mobile Device Manager Plus API
150 lines (149 loc) • 5 kB
TypeScript
import { AuthManager } from '../auth/AuthManager';
import { Device, DeviceListResponse, DeviceQueryParams, DeviceSummaryResponse, DeviceCertificatesResponse, DeviceRestrictionsResponse, DeviceFileVaultResponse, DeviceFirmwareResponse, DeviceFirmwarePasswordResponse, DeviceLocationsResponse, DeviceProfilesResponse, DeviceAppsResponse, DeviceActionsResponse, DeviceCommandHistoryResponse, DevicePrivacyResponse, DeviceActionName, DeviceActionRequest, BulkActionRequest, BulkActionResponse } from './types';
export declare class DevicesAPI {
private readonly baseUrl;
private readonly authManager;
private readonly accountsServer;
constructor(baseUrl: string, authManager: AuthManager, accountsServer: string);
private getHeaders;
/**
* Get a list of managed devices
*/
listDevices(params?: DeviceQueryParams): Promise<DeviceListResponse>;
/**
* Get details of a specific device
*/
getDevice(deviceId: string, summary?: boolean): Promise<Device>;
/**
* Update device details
*/
updateDevice(deviceId: string, updateData: Partial<Device>): Promise<Device>;
/**
* Get device summary
*/
getDeviceSummary(deviceId: string): Promise<DeviceSummaryResponse>;
/**
* Get device certificates
*/
getDeviceCertificates(deviceId: string, expiry?: string): Promise<DeviceCertificatesResponse>;
/**
* Get device restrictions
*/
getDeviceRestrictions(deviceId: string): Promise<DeviceRestrictionsResponse>;
/**
* Get FileVault details
*/
getFileVaultDetails(deviceId: string): Promise<DeviceFileVaultResponse>;
/**
* Get firmware details
*/
getFirmwareDetails(deviceId: string): Promise<DeviceFirmwareResponse>;
/**
* Get firmware password
*/
getFirmwarePassword(deviceId: string): Promise<DeviceFirmwarePasswordResponse>;
/**
* Get device locations
*/
getDeviceLocations(deviceId: string): Promise<DeviceLocationsResponse>;
/**
* Get device locations with address
*/
getDeviceLocationsWithAddress(deviceId: string, exportBatchId?: string): Promise<DeviceLocationsResponse>;
/**
* Request device location with address
*/
requestDeviceLocation(deviceId: string, data: {
no_of_days?: number;
from?: number;
to?: number;
}): Promise<{
export_batch_id: string;
}>;
/**
* Get device profiles
*/
getDeviceProfiles(deviceId: string, summary?: boolean): Promise<DeviceProfilesResponse>;
/**
* Associate profiles to device
*/
associateProfiles(deviceId: string, profileIds: number[]): Promise<void>;
/**
* Disassociate profiles from device
*/
disassociateProfiles(deviceId: string, profileIds: number[]): Promise<void>;
/**
* Get device apps
*/
getDeviceApps(deviceId: string, params?: {
include_details?: boolean;
limit?: number;
offset?: number;
}): Promise<DeviceAppsResponse>;
/**
* Associate apps to device
*/
associateApps(deviceId: string, appDetails: Array<{
app_id: string;
release_label_id: string;
}>, options?: {
invite_user?: boolean;
do_not_uninstall?: boolean;
notify_user_via_email?: boolean;
silent_install?: boolean;
}): Promise<void>;
/**
* Disassociate apps from device
*/
disassociateApps(deviceId: string, appIds: string[]): Promise<void>;
/**
* Get device actions
*/
getDeviceActions(deviceId: string): Promise<DeviceActionsResponse>;
/**
* Perform action on device
*/
performAction(deviceId: string, actionName: DeviceActionName, actionData?: DeviceActionRequest): Promise<void>;
/**
* Get device scan status
*/
getScanStatus(deviceId: string): Promise<{
status_description: string;
status_code: number;
kb_url: string;
}>;
/**
* Get device privacy settings
*/
getDevicePrivacy(deviceId: string): Promise<DevicePrivacyResponse>;
/**
* Execute bulk device command
*/
executeBulkCommand(commandName: string, request: BulkActionRequest): Promise<BulkActionResponse>;
/**
* Get command history for device
*/
getCommandHistory(deviceId: string, options?: {
start_time?: number;
end_time?: number;
days?: number;
limit?: number;
}): Promise<DeviceCommandHistoryResponse>;
/**
* Get last initiated command status
*/
getRecentCommandStatus(deviceId: string): Promise<{
status_description: string;
status_code: number;
command_name: string;
kb_url: string;
}>;
/**
* Perform Knox action on device
*/
performKnoxAction(deviceId: string, actionName: DeviceActionName): Promise<void>;
/**
* Remove pending action
*/
removeAction(deviceId: string, actionName: string): Promise<void>;
}