UNPKG

manageengine-mdm

Version:

A TypeScript wrapper for the ManageEngine Mobile Device Manager Plus API

150 lines (149 loc) 5 kB
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>; }