///
export declare type Nboolean = 0 | 1;
export interface SessionInfo {
user_name: string;
user_account: string;
user_dn: string;
user_type: string;
user_ip: string;
user_expires: string;
login_priv: Nboolean;
remote_cons_priv: Nboolean;
virtual_media_priv: Nboolean;
reset_priv: Nboolean;
config_priv: Nboolean;
user_priv: Nboolean;
}
export interface LoginResponse extends SessionInfo {
session_key: string;
}
export interface VirtualMediaStatus {
options: VirtualMediaOption[];
port: number;
device?: any;
boot_option?: any;
command?: any;
legacy_bios: Nboolean;
}
export interface VirtualMediaOption {
device: "FLOPPY" | "CDROM";
image_inserted: Nboolean;
boot_option: "NO_BOOT";
write_protect_flag: Nboolean;
vm_url_connected: Nboolean;
vm_connected: Nboolean;
image_url: "";
image_url_file: "";
}
export interface RemoteConsoleInfo {
encKey: string;
encType: 0;
rcPort: number;
vmKey: string;
vmPort: number;
cmdEncKey: string;
protocolVersion: string;
optionalFeatures: Set;
serverName: string;
iloFqdn: string;
blade: number;
bay: null;
enclosure: null;
}
export declare enum Features {
ENCRYPT_KEY = "ENCRYPT_KEY",
ENCRYPT_VMKEY = "ENCRYPT_VMKEY",
ENCRYPT_CMD = "ENCRYPT_CMD"
}
/**
* Client for the HTTPS API at /json/*. Call `loginSession`
* first to get a session key. iLO blocks you for some time
* if you fail three(?) times.
*
* Attempting to call methods with an expired session key
* will result in 403.
*/
export declare class RestAPIClient {
base: string;
requestOptions: any;
sessionKey?: Buffer;
private _getOptions;
constructor(base: string, requestOptions?: any);
/**
* Logs in, returns session info (or fails with 403)
*
* (also sets `sessionKey` internally for further requests)
*/
loginSession(username: string, password: string): Promise;
rekey(): Promise;
updateConfig(configName: string): Promise;
getSessionInfo(): Promise;
getVmStatus(): Promise;
getRcInfo(): Promise;
}
export default RestAPIClient;