NAME
Net::Async::Hetzner::Robot - Async Hetzner Robot API client for IO::Async
VERSION
version 0.003
SYNOPSIS
use IO::Async::Loop;
use Net::Async::Hetzner::Robot;
my $loop = IO::Async::Loop->new;
my $robot = Net::Async::Hetzner::Robot->new(
user => $ENV{HETZNER_ROBOT_USER},
password => $ENV{HETZNER_ROBOT_PASSWORD},
);
$loop->add($robot);
# List dedicated servers
my $servers = $robot->get('/server')->get;
# Get specific server
my $data = $robot->get('/server/123456')->get;
print $data->{server}{server_name}, "\n";
DESCRIPTION
Async client for the Hetzner Robot API (dedicated servers) built on IO::Async. Extends IO::Async::Notifier and uses Net::Async::HTTP for non-blocking HTTP communication.
All methods return Future objects. Request building and response parsing are delegated to WWW::Hetzner::Robot.
user
Robot webservice username. Falls back to HETZNER_ROBOT_USER environment variable.
password
Robot webservice password. Falls back to HETZNER_ROBOT_PASSWORD environment variable.
base_url
Base URL for the Robot API. Defaults to https://robot-ws.your-server.de.
get($path, %params)
Async GET request. Returns a Future.
post($path, \%body)
Async POST request with JSON body. Returns a Future.
put($path, \%body)
Async PUT request with JSON body. Returns a Future.
delete($path)
Async DELETE request. Returns a Future.
SEE ALSO
Net::Async::Hetzner, Net::Async::Hetzner::Cloud, WWW::Hetzner::Robot, IO::Async, Future
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-net-async-hetzner/issues.
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.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.