API-DirectAdmin
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/API/DirectAdmin/DNS.pm view on Meta::CPAN
package API::DirectAdmin::DNS;
use Modern::Perl '2010';
use Carp;
use base 'API::DirectAdmin::Component';
our $VERSION = 0.06;
# Return zone dump
# params: domain
sub dumpzone {
my ($self, $params ) = @_;
my %add_params = (
noparse => 1,
);
my %params = (%$params, %add_params);
my $zone = $self->directadmin->query(
params => \%params,
command => 'CMD_API_DNS_CONTROL',
allowed_fields => 'domain noparse',
);
return _parse_zone($zone, $params->{domain}. '.', '') unless ref $zone eq 'HASH';
return $zone;
}
# Add records A, MX, CNAME, NS, PTR, TXT, AAAA
# params: domain, type, name, value
sub add_record {
my ($self, $params ) = @_;
my %add_params = (
action => 'add',
);
my %params = (%$params, %add_params);
return $self->directadmin->query(
params => \%params,
command => 'CMD_API_DNS_CONTROL',
method => 'POST',
allowed_fields => "type name action value domain",
);
}
# Remove records A, MX, CNAME, NS, PTR, TXT, AAAA, SRV
# params: domain, type, name, value
sub remove_record {
my ($self, $params ) = @_;
my %add_params = (
action => 'select',
lc $params->{type} . 'recs0' => "name=$params->{name}&value=$params->{value}",
);
delete $params->{type};
my %params = (%$params, %add_params);
view all matches for this distributionview release on metacpan - search on metacpan
( run in 2.668 seconds using v1.00-cache-2.02-grep-82fe00e-cpan-d29e8ade9f55 )