NAME

WWW::Hetzner::Cloud::API::ISOs - Hetzner Cloud ISOs API

VERSION

version 0.101

SYNOPSIS

use WWW::Hetzner::Cloud;

my $cloud = WWW::Hetzner::Cloud->new(token => $ENV{HETZNER_API_TOKEN});

# List ISOs
my $isos = $cloud->isos->list;

# List only ARM ISOs
my $arm = $cloud->isos->list(architecture => 'arm');

# Get by ID
my $iso = $cloud->isos->get(4711);

# Get by name (the name is what attach_iso takes)
my $netboot = $cloud->isos->get_by_name('netboot.xyz-arm64.iso');

DESCRIPTION

This module provides access to Hetzner Cloud ISO images. ISOs can be attached to a server with $cloud->servers->attach_iso($server_id, $name). All methods return WWW::Hetzner::Cloud::ISO objects.

ISOs are read-only resources.

list

my $isos = $cloud->isos->list;
my $isos = $cloud->isos->list(architecture => 'x86');
my $isos = $cloud->isos->list(name => 'netboot.xyz.iso');

Returns an arrayref of WWW::Hetzner::Cloud::ISO objects.

Supported parameters are name, architecture, include_architecture_wildcard, page and per_page. Without per_page the API returns its default page size, which is smaller than the number of available public ISOs -- filter, or page through the result.

list_all

my $entities = $controller->list_all(per_page => 50, %filters);

Returns a combined arrayref. Inherited from "list_all" in WWW::Hetzner::Role::Pagination. Unlike "list", which fetches one page, it follows every subsequent page starting at page 1 or the supplied page. It carries per_page, filters, and sort values to every request.

get

my $iso = $cloud->isos->get($id);

Returns a WWW::Hetzner::Cloud::ISO object.

get_by_name

my $iso = $cloud->isos->get_by_name('netboot.xyz.iso');

Returns a WWW::Hetzner::Cloud::ISO object. Returns undef if not found.

Unlike the other read-only resources this filters server-side (the ISO list is paginated and long), so the lookup is exact rather than a scan.

SEE ALSO

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 <torsten@raudssus.de> https://raudssus.de/.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.