A basic library to interact with an idrac6 remote managment system written in TypeScript for JavaScript and TypeScript usage.
import { iDrac6 } from 'idrac6';
const idrac = new iDrac6({
username: "",
pasword: "",
address: "https://ip",
newAuth: true, // On older idrac6 version you can set this to false. On the newest idrac6 version (2.92) you need to set this to true.
sessionOptions: {
saveSession: true, // This module can save your session and reuse it automatically
path: "./session.json",
},
});
(async () => {
const powerState = await idrac.getPowerState();
if (powerState === iDrac6.POWER_STATES.ON) {
// Server is currently on
await idrac.sendPowerAction(iDrac6.POWER_ACTIONS.SHUTDOWN); // Shutdown the server
} else if (powerState === iDrac6.POWER_STATES.OFF) {
// Server is currently offline
await idrac.sendPowerAction(iDrac6.POWER_ACTIONS.ON); // Turn the server on
} else if (powerState === iDrac6.POWER_STATES.INVALID) {
// Server returned invalid power state
await idrac.sendPowerAction(iDrac6.POWER_ACTIONS.OFF); // Force turn off the server. Is like pressing the button for 5 seconds.
}
const temperature = await idrac.getTemperature();
})();
import { iDrac6, PowerActions, PowerState, iDracTemperature } from 'idrac6';
const idrac = new iDrac6({
username: "",
pasword: "",
address: "https://ip",
sessionOptions: {
saveSession: true, // This module can save your session and reuse it automatically
path: "./session.json",
},
});
(async () => {
const powerState: PowerState = await idrac.getPowerState();
if (powerState === PowerState.ON) {
// Server is currently on
await idrac.sendPowerAction(PowerActions.SHUTDOWN); // Shutdown the server
} else if (powerState === PowerState.OFF) {
// Server is currently offline
await idrac.sendPowerAction(PowerActions.ON); // Turn the server on
} else if (powerState === PowerState.INVALID) {
// Server returned invalid power state
await idrac.sendPowerAction(PowerActions.OFF); // Force turn off the server. Is like pressing the button for 5 seconds.
}
const temperature: iDracTemperature = await idrac.getTemperature();
})();