DNS-Hetzner

 view release on metacpan or  search on metacpan

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

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

# ---
# 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 { '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) {
    return $self->_do( 'BulkCreateRecords', \%params, '/bulk', { type => 'post' } );
}

sub bulk_update ($self, %params) {
    return $self->_do( 'BulkUpdateRecords', \%params, '/bulk', { type => 'put' } );
}

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

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

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


1;

__END__

=pod

=encoding UTF-8

=head1 NAME

DNS::Hetzner::API::Records - Records

=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 all records associated with user.

    $dns->records->list();

=head2 create

Creates a new record.

    $dns->records->create();

=head2 bulk_create

Create several records at once.

    $dns->records->bulk_create();



( run in 0.853 second using v1.01-cache-2.11-cpan-39bf76dae61 )