Lim-Plugin-OpenDNSSEC
view release on metacpan or search on metacpan
lib/Lim/Plugin/OpenDNSSEC/CLI.pm view on Meta::CPAN
my $opendnssec = Lim::Plugin::OpenDNSSEC->Client;
weaken($self);
$opendnssec->UpdateControlStop({
program => {
name => 'signer'
}
}, sub {
my ($call, $response) = @_;
unless (defined $self) {
undef($opendnssec);
return;
}
if ($call->Successful) {
$self->cli->println('OpenDNSSEC Signer stopped');
$self->Successful;
}
else {
$self->Error($call->Error);
}
undef($opendnssec);
});
return;
}
$self->Error;
}
=head2 setup
=cut
sub setup {
my ($self) = @_;
my $opendnssec = Lim::Plugin::OpenDNSSEC->Client;
weaken($self);
$opendnssec->CreateEnforcerSetup(sub {
my ($call, $response) = @_;
unless (defined $self) {
undef($opendnssec);
return;
}
if ($call->Successful) {
$self->cli->println('OpenDNSSEC setup successful');
$self->Successful;
}
else {
$self->Error($call->Error);
}
undef($opendnssec);
});
}
=head2 update
=cut
sub update {
my ($self, $cmd) = @_;
my ($getopt, $args) = Getopt::Long::GetOptionsFromString($cmd);
unless ($getopt) {
$self->Error;
return;
}
if (!scalar @$args or $args->[0] eq 'all') {
my $opendnssec = Lim::Plugin::OpenDNSSEC->Client;
weaken($self);
$opendnssec->UpdateEnforcerUpdate(sub {
my ($call, $response) = @_;
unless (defined $self) {
undef($opendnssec);
return;
}
if ($call->Successful) {
$self->cli->println('OpenDNSSEC Enforcer configuration updated');
$self->Successful;
}
else {
$self->Error($call->Error);
}
undef($opendnssec);
});
return;
}
else {
my $opendnssec = Lim::Plugin::OpenDNSSEC->Client;
weaken($self);
$opendnssec->UpdateEnforcerUpdate({
update => {
section => $args->[0]
}
}, sub {
my ($call, $response) = @_;
unless (defined $self) {
undef($opendnssec);
return;
}
if ($call->Successful) {
$self->cli->println('OpenDNSSEC Enforcer configuration "', $args->[0], '" updated');
$self->Successful;
}
else {
$self->Error($call->Error);
}
undef($opendnssec);
});
return;
}
$self->Error;
}
=head2 zone
( run in 1.163 second using v1.01-cache-2.11-cpan-39bf76dae61 )