DNS-Hetzner
view release on metacpan or search on metacpan
Release history for DNS::Hetzner
================================
0.05 2021-01-11 13:19:00
* fix cpantester fails (hopefully)
0.04 2021-01-10 10:27:00
* Regenerate API classes for API version 1.1.1
* Add stuff for new Primary Server endpoint
0.03 2021-01-08 08:25:00
* use Dist::Zilla plugin SyncCPANfile to keep cpanfile in sync with prereq list in dist.ini
* let Dist::Zilla::Plugin::PkgVersion set the version numbers. This removes unecessary maintenance burdens from us ;-)
* remove DNS::Hetzner::API as the functionality is only used (and useful) in DNS::Hetzner the load_namespace function is moved to DNS::Hetzner
* need to use Types::Standard as Types::Mojo doesn't inherit methods from Types::Standard since version 0.05 (thanks CPANTesters)
0.02 2021-01-06 05:20:00
lib/DNS/Hetzner/API/PrimaryServers.pm view on Meta::CPAN
use Types::Standard qw(:all);
use Mojo::Base -strict, -signatures;
extends 'DNS::Hetzner::APIBase';
with 'MooX::Singleton';
use DNS::Hetzner::Schema;
has endpoint => ( is => 'ro', isa => Str, default => sub { 'primary_servers' } );
sub list ($self, %params) {
return $self->_do( 'GetPrimaryServers', \%params, '', { type => 'get' } );
}
sub create ($self, %params) {
return $self->_do( 'CreatePrimaryServer', \%params, '', { type => 'post' } );
}
sub delete ($self, %params) {
lib/DNS/Hetzner/API/PrimaryServers.pm view on Meta::CPAN
token => $api_key,
);
$dns->records->create(
);
=head1 ATTRIBUTES
=over 4
=item * endpoint
=back
=head1 METHODS
=head2 list
Returns all primary servers associated with user. Primary servers can also be filtered by zone_id.
$dns->primary_servers->list();
lib/DNS/Hetzner/API/Records.pm view on Meta::CPAN
use Types::Standard qw(:all);
use Mojo::Base -strict, -signatures;
extends 'DNS::Hetzner::APIBase';
with 'MooX::Singleton';
use DNS::Hetzner::Schema;
has endpoint => ( is => 'ro', isa => Str, default => sub { 'records' } );
sub list ($self, %params) {
return $self->_do( 'GetRecords', \%params, '', { type => 'get' } );
}
sub create ($self, %params) {
return $self->_do( 'CreateRecord', \%params, '', { type => 'post' } );
}
sub bulk_create ($self, %params) {
lib/DNS/Hetzner/API/Records.pm view on Meta::CPAN
token => $api_key,
);
$dns->records->create(
);
=head1 ATTRIBUTES
=over 4
=item * endpoint
=back
=head1 METHODS
=head2 list
Returns all records associated with user.
$dns->records->list();
lib/DNS/Hetzner/API/Zones.pm view on Meta::CPAN
use Types::Standard qw(:all);
use Mojo::Base -strict, -signatures;
extends 'DNS::Hetzner::APIBase';
with 'MooX::Singleton';
use DNS::Hetzner::Schema;
has endpoint => ( is => 'ro', isa => Str, default => sub { 'zones' } );
sub list ($self, %params) {
return $self->_do( 'GetZones', \%params, '', { type => 'get' } );
}
sub create ($self, %params) {
return $self->_do( 'CreateZone', \%params, '', { type => 'post' } );
}
sub validate_file_plain ($self, %params) {
lib/DNS/Hetzner/API/Zones.pm view on Meta::CPAN
token => $api_key,
);
$dns->records->create(
);
=head1 ATTRIBUTES
=over 4
=item * endpoint
=back
=head1 METHODS
=head2 list
Returns paginated zones associated with the user. Limited to 100 zones per request.
$dns->zones->list();
lib/DNS/Hetzner/APIBase.pm view on Meta::CPAN
my $query_params = delete $params->{query};
$query = join '&', map{
$_ . '=' . url_escape($query_params->{$_})
}sort keys $query_params->%*;
}
my $uri = join '/',
$self->host,
$self->base_uri,
$self->endpoint,
$partial_uri;
$uri =~ s{/\z}{};
$uri .= '?' . $query if $query;
my $tx = $self->client->$method(
$uri,
{
'Auth-API-Token' => $self->token,
( run in 0.286 second using v1.01-cache-2.11-cpan-b61123c0432 )