NAME
WWW::Hetzner::Cloud::API::PrimaryIPs - Hetzner Cloud Primary IPs API
VERSION
version 0.002
SYNOPSIS
my $cloud = WWW::Hetzner::Cloud->new(token => $token);
# List primary IPs
my $pips = $cloud->primary_ips->list;
# Create primary IP
my $pip = $cloud->primary_ips->create(
name => 'my-primary-ip',
type => 'ipv4',
assignee_type => 'server',
datacenter => 'fsn1-dc14',
);
# Assign to server
$cloud->primary_ips->assign($pip->id, $server_id, 'server');
# Unassign
$cloud->primary_ips->unassign($pip->id);
# Delete
$cloud->primary_ips->delete($pip->id);
DESCRIPTION
This module provides the API for managing Hetzner Cloud primary IPs. All methods return WWW::Hetzner::Cloud::PrimaryIP objects.
list
my $pips = $cloud->primary_ips->list;
my $pips = $cloud->primary_ips->list(label_selector => 'env=prod');
Returns arrayref of WWW::Hetzner::Cloud::PrimaryIP objects.
get
my $pip = $cloud->primary_ips->get($id);
Returns WWW::Hetzner::Cloud::PrimaryIP object.
create
my $pip = $cloud->primary_ips->create(
name => 'my-ip', # required
type => 'ipv4', # required (ipv4 or ipv6)
assignee_type => 'server', # required
datacenter => 'fsn1-dc14', # required
assignee_id => $server_id, # optional
auto_delete => 1, # optional
labels => { ... }, # optional
);
Creates primary IP. Returns WWW::Hetzner::Cloud::PrimaryIP object.
update
$cloud->primary_ips->update($id,
name => 'new-name',
auto_delete => 0,
labels => { ... },
);
Updates primary IP. Returns WWW::Hetzner::Cloud::PrimaryIP object.
delete
$cloud->primary_ips->delete($id);
Deletes primary IP.
assign
$cloud->primary_ips->assign($id, $assignee_id, $assignee_type);
Assign primary IP to resource (default assignee_type is 'server').
unassign
$cloud->primary_ips->unassign($id);
Unassign primary IP from resource.
change_dns_ptr
$cloud->primary_ips->change_dns_ptr($id, $ip, $dns_ptr);
Change reverse DNS pointer for the primary IP.
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.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.