hetzner_rhai/example.rhai
2025-07-15 15:04:11 +02:00

49 lines
1.6 KiB
Plaintext

let client = new_hetzner_client(HETZNER_API_TOKEN);
try {
print("Listing servers...");
let servers = client.list_servers();
if servers.len() == 0 {
print("No servers found.");
} else {
print(servers.show_table());
let first_server = servers[0];
print(`Getting details for server: ${first_server.name}`);
let detailed_server = client.get_server(first_server.id);
print(detailed_server.show_details());
// --- REBOOT ---
// To reboot the server, uncomment the following lines:
// print("\nAttempting to reboot the server...");
// try {
// first_server.reboot(client);
// print("Reboot command sent successfully.");
// } catch(e) {
// print(`Error during reboot: ${e}`);
// }
// --- ENABLE RESCUE MODE ---
// To enable rescue mode, uncomment the following lines:
// print("\nEnabling rescue mode...");
// try {
// let root_password = first_server.enable_rescue_mode(client);
// print(`Rescue mode enabled. Root password: ${root_password}`);
// } catch(e) {
// print(`Error enabling rescue mode: ${e}`);
// }
// --- DISABLE RESCUE MODE ---
// To disable rescue mode, uncomment the following lines:
// print("\nDisabling rescue mode...");
// try {
// first_server.disable_rescue_mode(client);
// print("Rescue mode disabled.");
// } catch(e) {
// print(`Error disabling rescue mode: ${e}`);
// }
}
} catch (e) {
print(`An error occurred: ${e}`);
}