Perl module and command line tool for control over the Hetzner robot
wertarbyte/hetzner-robot-perl
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Hetzner::Robot / hetzner-robot.pl by Stefan Tomanek <stefan.tomanek@wertarbyte.de> http://github.com/wertarbyte/hetzner-robot-perl Control the Hetzner robot from your Perl scripts or console. The script hetzner-robot.pl can be used as a standalone program as well as an object oriented Perl module in your own scripts. It uses the JSON-Webservice deployed by Hetzner (http://wiki.hetzner.de/index.php/Robot_Webservice) and encapsulates it into a class/object structure. Many default operations are provided through a command line interface. == Examples for standalone operation == # retrieve reverse DNS entry for IP address 1.2.3.4 hetzner-robot.pl --user "USERNAME" --password "PASSWORD" \ --mode rdns --get --addr 1.2.3.4 # set reverse DNS entry for address 1.2.3.4 to "foobar.example.org" hetzner-robot.pl --user "USERNAME" --password "PASSWORD" \ --mode rdns --set --addr 1.2.3.4 --hostname foobar.example.org # instruct the hetzner robot to trigger a hardware reset at server 1.2.3.4 hetzner-robot.pl --user "USERNAME" --password "PASSWORD" \ --mode reset --address 1.2.3.4 --method hw # enable the rescue system for server 1.2.3.4 hetzner-robot.pl --user "USERNAME" --password "PASSWORD" \ --mode rescue --address 1.2.3.4 --system linux --arch 64 # send Wake-On-LAN signal to system 1.2.3.4 hetzner-robot.pl --user "USERNAME" --password "PASSWORD" \ --mode wol --address 1.2.3.4 # switch failover address to server 1.2.3.4 hetzner-robot.pl --user "USERNAME" --password "PASSWORD" \ --mode failover --address 5.6.7.8 --target 1.2.3.4 # retrieve status of a failover address hetzner-robot.pl --user "USERNAME" --password "PASSWORD" \ --mode failover --address 5.6.7.8 --status # to hide the password from the command line, it can be read from stdin: echo "passphrase" | hetzner-robot.pl --user "USERNAME" --readpw ... == Examples for use in scripts == #!/usr/bin/perl # load module use Hetzner::Robot; my $robot = new Hetzner::Robot("username", "password"); my $serverA = $robot->server("1.2.3.4"); # enumerate subnets assigned to server for my $n ($serverA->subnets) { print $n->address."/".$n->netmask, "\n"; } # send WOL signal to all servers for my $sys ($robot->servers) { print "Waking up ".$sys->address."\n"; $sys->wol->execute; # $sys->reset->execute("sw"); # we could trigger a soft reboot as well ;-) } The examples directory also contains a simple CGI script to grant customers limited access to the reverse DNS capabilities of the robot; each customer can access the RDNS records of the addresses associated with their username.
About
Perl module and command line tool for control over the Hetzner robot
Resources
Stars
Watchers
Forks
Packages 0
No packages published