NAME

WWW::Hetzner::Cloud::API::Volumes - Hetzner Cloud Volumes API

VERSION

version 0.002

SYNOPSIS

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

# List volumes
my $volumes = $cloud->volumes->list;

# Create volume
my $volume = $cloud->volumes->create(
    name     => 'my-volume',
    size     => 50,           # GB
    location => 'fsn1',
    format   => 'ext4',       # optional
);

# Attach to server
$cloud->volumes->attach($volume->id, $server_id);

# Resize
$cloud->volumes->resize($volume->id, 100);

# Delete
$cloud->volumes->delete($volume->id);

DESCRIPTION

This module provides the API for managing Hetzner Cloud volumes. All methods return WWW::Hetzner::Cloud::Volume objects.

list

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

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

get

my $volume = $cloud->volumes->get($id);

Returns WWW::Hetzner::Cloud::Volume object.

create

my $volume = $cloud->volumes->create(
    name     => 'my-volume',  # required
    size     => 50,           # required (GB)
    location => 'fsn1',       # required
    format   => 'ext4',       # optional
    labels   => { ... },      # optional
    automount => 1,           # optional
    server   => $server_id,   # optional
);

Creates volume. Returns WWW::Hetzner::Cloud::Volume object.

delete

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

Deletes volume.

attach

$cloud->volumes->attach($volume_id, $server_id, automount => 1);

Attaches volume to server.

detach

$cloud->volumes->detach($volume_id);

Detaches volume.

resize

$cloud->volumes->resize($volume_id, $size);

Resizes volume to the specified size in GB.

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.