NAME

WWW::Hetzner::Cloud::RRSet - Hetzner Cloud DNS RRSet object

VERSION

version 0.001

SYNOPSIS

my $record = $zone->rrsets->get('www', 'A');

# Read attributes
print $record->name, "\n";
print $record->type, "\n";
print $record->ttl, "\n";

# Get values
my $values = $record->values;  # ['1.2.3.4']

# Update
$record->ttl(600);
$record->records([{ value => '5.6.7.8' }]);
$record->update;

# Delete
$record->delete;

DESCRIPTION

This class represents a Hetzner Cloud DNS RRSet (Resource Record Set). Objects are returned by WWW::Hetzner::Cloud::API::RRSets methods.

NAME

WWW::Hetzner::Cloud::RRSet - Hetzner Cloud DNS RRSet object

ATTRIBUTES

zone_id

Zone ID this record belongs to (read-only).

name

Record name, e.g. "www" or "@" for apex (read-only).

type

Record type: A, AAAA, CNAME, MX, TXT, etc. (read-only).

ttl

Time to live in seconds (read-write).

records

Arrayref of record values: [{ value = '1.2.3.4' }, ...]> (read-write).

METHODS

values

my $values = $record->values;  # ['1.2.3.4', '5.6.7.8']

Returns an arrayref of just the record values (without the hash structure).

update

$record->ttl(600);
$record->records([{ value => '5.6.7.8' }]);
$record->update;

Saves changes to TTL and records back to the API.

delete

$record->delete;

Deletes the RRSet.

data

my $hashref = $record->data;

Returns all RRSet data as a hashref (for JSON serialization).

SUPPORT

Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull from your repository :)

https://github.com/Getty/p5-www-hetzner

git clone https://github.com/Getty/p5-www-hetzner.git

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.