NAME
WWW::Hetzner::Robot::API::Boot - Hetzner Robot Boot Configuration API
VERSION
version 0.101
SYNOPSIS
my $robot = WWW::Hetzner::Robot->new(...);
# Status of all boot options
my $boot = $robot->boot->get(123456);
# Rescue system
my $rescue = $robot->boot->rescue(123456);
my $active = $robot->boot->enable_rescue(123456, os => 'linux');
print $active->{password}, "\n"; # generated root password
$robot->boot->disable_rescue(123456);
# Linux installation
$robot->boot->enable_linux(123456, dist => 'Debian 12 minimal', lang => 'en');
$robot->boot->disable_linux(123456);
# VNC installation
$robot->boot->enable_vnc(123456, dist => 'centOS-5.0', lang => 'en_US');
$robot->boot->disable_vnc(123456);
# Windows installation (requires the Windows addon)
$robot->boot->enable_windows(123456, os => 'Windows Server 2022 Standard Edition', lang => 'en');
$robot->boot->disable_windows(123456);
DESCRIPTION
Boot configuration of a dedicated server. This is what turns a bare machine into something reachable: "enable_rescue" followed by a reset boots the rescue system, "enable_linux" arms the unattended Linux installer.
Every activation returns the generated password for the booted system, which is only present in the response of the activating call - a later get shows password as null once the system has been picked up.
The four boot variants are:
rescue - Hetzner rescue system (
linux,vkvm)linux - unattended Linux installation
vnc - VNC based installation
windows - Windows installation (needs a purchased Windows addon)
Returns raw hashrefs, like WWW::Hetzner::Robot::API::Reset - boot options are per-server state, not entities with an identity of their own.
get
my $boot = $robot->boot->get($server_number);
Status of all boot options at once, keyed by rescue, linux, vnc and windows.
rescue
my $rescue = $robot->boot->rescue($server_number);
Current rescue system configuration. os lists the available systems while inactive, and holds the booted one while active is true.
enable_rescue
my $rescue = $robot->boot->enable_rescue($server_number,
os => 'linux',
authorized_key => [ 'aa:bb:cc:...' ], # optional
keyboard => 'us', # optional, default us
);
Activates the rescue system. The returned hashref carries the generated password - a reset is still needed to actually boot into it.
disable_rescue
$robot->boot->disable_rescue($server_number);
linux
my $linux = $robot->boot->linux($server_number);
Current Linux installation configuration. dist and lang list the available choices while inactive.
enable_linux
my $linux = $robot->boot->enable_linux($server_number,
dist => 'Debian 12 minimal',
lang => 'en',
authorized_key => [ 'aa:bb:cc:...' ], # optional
);
Arms the unattended Linux installation. The returned hashref carries the generated password.
disable_linux
$robot->boot->disable_linux($server_number);
vnc
my $vnc = $robot->boot->vnc($server_number);
Current VNC installation configuration.
enable_vnc
my $vnc = $robot->boot->enable_vnc($server_number,
dist => 'centOS-5.0',
lang => 'en_US',
);
disable_vnc
$robot->boot->disable_vnc($server_number);
windows
my $windows = $robot->boot->windows($server_number);
Current Windows installation configuration.
enable_windows
my $windows = $robot->boot->enable_windows($server_number,
os => 'Windows Server 2022 Standard Edition',
lang => 'en',
);
Requires a previously purchased Windows addon for that server.
disable_windows
$robot->boot->disable_windows($server_number);
SEE ALSO
WWW::Hetzner::Robot - Main Robot API client
WWW::Hetzner::Robot::API::Reset - Reset API, needed to boot what was armed here
WWW::Hetzner::Robot::CLI::Cmd::Boot - Boot CLI commands
WWW::Hetzner - Main umbrella module
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-www-hetzner/issues.
IRC
Join #kubernetes on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <torsten@raudssus.de>
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.