hetzner_rhai/test.rhai
2025-07-15 16:57:39 +02:00

35 lines
1.2 KiB
Plaintext

// Create client to communicate with Hetzner API
let client = new_hetzner_client(HETZNER_API_TOKEN);
// List all servers and print in table
print("Listing all servers...");
let servers = client.list_servers();
print(servers.show_table());
// Get server through ID and print details in table
print("Listing details from server with ID 104301883...");
let test_server = client.get_server(104301883);
print(test_server.show_details());
// Enable rescue mode flag on server
print(`Enabling rescue mode on server with ID: ${test_server.id}`);
let root_password = client.enable_rescue_mode(test_server.id, 1337);
print(`Root password is: ${root_password}`);
// Enable rescue mode with multiple keys from array
let ssh_keys = [123, 456, 789];
let root_password = client.enable_rescue_mode(test_server.id, ssh_keys);
// read SSH key from env var
let ssh_key_from_env = get_env("SSH_KEY_ID");
if ssh_key_from_env != "" {
client.enable_rescue_mode(test_server.id, ssh_key_from_env.parse_int());
}
// Disable rescue mode flag on server
print(`Disabling rescue mode on server with ID: ${test_server.id}`);
client.disable_rescue_mode(test_server.id);
// Reboot server
print(`Rebooting server with ID: ${test_server.id}`);
client.reboot(test_server.id);