NAME

WWW::Hetzner::Cloud::API::PlacementGroups - Hetzner Cloud Placement Groups API

VERSION

version 0.002

SYNOPSIS

my $cloud = WWW::Hetzner::Cloud->new(token => $token);

# List placement groups
my $pgs = $cloud->placement_groups->list;

# Create placement group
my $pg = $cloud->placement_groups->create(
    name => 'my-group',
    type => 'spread',
);

# Use with server creation
$cloud->servers->create(
    name            => 'my-server',
    server_type     => 'cx23',
    image           => 'debian-12',
    placement_group => $pg->id,
);

# Delete
$cloud->placement_groups->delete($pg->id);

DESCRIPTION

This module provides the API for managing Hetzner Cloud placement groups. Placement groups allow you to control the physical placement of servers to increase availability. All methods return WWW::Hetzner::Cloud::PlacementGroup objects.

list

my $pgs = $cloud->placement_groups->list;
my $pgs = $cloud->placement_groups->list(label_selector => 'env=prod');

Returns arrayref of WWW::Hetzner::Cloud::PlacementGroup objects.

get

my $pg = $cloud->placement_groups->get($id);

Returns WWW::Hetzner::Cloud::PlacementGroup object.

create

my $pg = $cloud->placement_groups->create(
    name   => 'my-group',    # required
    type   => 'spread',      # required
    labels => { ... },       # optional
);

Creates placement group. Returns WWW::Hetzner::Cloud::PlacementGroup object.

update

$cloud->placement_groups->update($id, name => 'new-name', labels => { ... });

Updates placement group. Returns WWW::Hetzner::Cloud::PlacementGroup object.

delete

$cloud->placement_groups->delete($id);

Deletes placement group.

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.