use PVE::Cluster;
use HTTP::Request;
use LWP::UserAgent;
-use JSON;
use Data::Dumper;
use PVE::JSONSchema qw(get_standard_option);
type => 'string', format => 'pve-configid',
},
ttl => { type => 'integer', optional => 1 },
+ reversev6mask => { type => 'integer', optional => 1 },
dns => get_standard_option('pve-sdn-dns-id',
{ completion => \&PVE::Network::SDN::Dns::complete_sdn_dns }),
},
sub add_a_record {
- my ($class, $plugin_config, $type, $zone, $reversezone, $hostname, $ip) = @_;
-}
+ my ($class, $plugin_config, $zone, $hostname, $ip, $noerr) = @_;
-sub del_a_record {
- my ($class, $plugin_config, $hostname, $ip) = @_;
+ die "please implement inside plugin";
}
-sub on_update_hook {
- my ($class, $plugin_config) = @_;
+sub add_ptr_record {
+ my ($class, $plugin_config, $zone, $hostname, $ip, $noerr) = @_;
+
+ die "please implement inside plugin";
}
-#helpers
-sub api_request {
- my ($method, $url, $headers, $data) = @_;
+sub del_ptr_record {
+ my ($class, $plugin_config, $zone, $ip, $noerr) = @_;
- my $encoded_data = to_json($data) if $data;
+ die "please implement inside plugin";
+}
- my $req = HTTP::Request->new($method,$url, $headers, $encoded_data);
+sub del_a_record {
+ my ($class, $plugin_config, $zone, $hostname, $ip, $noerr) = @_;
- my $ua = LWP::UserAgent->new(protocols_allowed => ['http', 'https'], timeout => 30);
- my $proxy = undef;
+ die "please implement inside plugin";
+}
- if ($proxy) {
- $ua->proxy(['http', 'https'], $proxy);
- } else {
- $ua->env_proxy;
- }
+sub verify_zone {
+ my ($class, $plugin_config, $zone, $noerr) = @_;
- $ua->ssl_opts(verify_hostname => 0, SSL_verify_mode => 0x00);
+ die "please implement inside plugin";
+}
- my $response = $ua->request($req);
- my $code = $response->code;
+sub get_reversedns_zone {
+ my ($class, $plugin_config, $subnetid, $subnet, $ip) = @_;
- if ($code !~ /^2(\d+)$/) {
- my $msg = $response->message || 'unknown';
- die "Invalid response from server: $code $msg\n";
- }
+ die "please implement inside plugin";
+}
- my $raw = '';
- if (defined($response->decoded_content)) {
- $raw = $response->decoded_content;
- } else {
- $raw = $response->content;
- }
- return from_json($raw) if $raw ne '';
+sub on_update_hook {
+ my ($class, $plugin_config) = @_;
}
1;