DNS-Hetzner

 view release on metacpan or  search on metacpan

lib/DNS/Hetzner/API/Zones.pm  view on Meta::CPAN

package DNS::Hetzner::API::Zones;
$DNS::Hetzner::API::Zones::VERSION = '0.05';
# ABSTRACT: Zones

# ---
# This class is auto-generated by bin/get_hetzner_info.pl
# ---

use v5.24;

use Moo;
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) {
    return $self->_do( 'ValidateZoneFilePlain', \%params, '/file/validate', { type => 'post' } );
}

sub delete ($self, %params) {
    return $self->_do( 'DeleteZone', \%params, '/:ZoneID', { type => 'delete' } );
}

sub get ($self, %params) {
    return $self->_do( 'GetZone', \%params, '/:ZoneID', { type => 'get' } );
}

sub update ($self, %params) {
    return $self->_do( 'UpdateZone', \%params, '/:ZoneID', { type => 'put' } );
}

sub export_file ($self, %params) {
    return $self->_do( 'ExportZoneFile', \%params, '/:ZoneID/export', { type => 'get' } );
}

sub import_file_plain ($self, %params) {
    return $self->_do( 'ImportZoneFilePlain', \%params, '/:ZoneID/import', { type => 'post' } );
}


1;

__END__

=pod

=encoding UTF-8

=head1 NAME

DNS::Hetzner::API::Zones - Zones

=head1 VERSION

version 0.05

=head1 SYNOPSIS

    use DNS::Hetzner;

    my $api_key = '1234abc';
    my $dns     = DNS::Hetzner->new(
        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();

=head2 create

Creates a new zone.



( run in 2.025 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )