]> git.proxmox.com Git - pve-network.git/blame - PVE/Network/SDN/Dns.pm
frr: update config frrversion to 8.2.2
[pve-network.git] / PVE / Network / SDN / Dns.pm
CommitLineData
ee4f339e
AD
1package PVE::Network::SDN::Dns;
2
3use strict;
4use warnings;
5
6use Data::Dumper;
7use JSON;
8
9use PVE::Tools qw(extract_param dir_glob_regex run_command);
10use PVE::Cluster qw(cfs_read_file cfs_write_file cfs_lock_file);
11use PVE::Network;
12
13use PVE::Network::SDN::Dns::PowerdnsPlugin;
14use PVE::Network::SDN::Dns::Plugin;
15
16PVE::Network::SDN::Dns::PowerdnsPlugin->register();
17PVE::Network::SDN::Dns::Plugin->init();
18
19
20sub sdn_dns_config {
21 my ($cfg, $id, $noerr) = @_;
22
23 die "no sdn dns ID specified\n" if !$id;
24
25 my $scfg = $cfg->{ids}->{$id};
26 die "sdn '$id' does not exist\n" if (!$noerr && !$scfg);
27
28 return $scfg;
29}
30
31sub config {
32 my $config = cfs_read_file("sdn/dns.cfg");
33 return $config;
34}
35
36sub write_config {
37 my ($cfg) = @_;
38
39 cfs_write_file("sdn/dns.cfg", $cfg);
40}
41
42sub sdn_dns_ids {
43 my ($cfg) = @_;
44
45 return keys %{$cfg->{ids}};
46}
47
48sub complete_sdn_dns {
49 my ($cmdname, $pname, $cvalue) = @_;
50
51 my $cfg = PVE::Network::SDN::Dns::config();
52
53 return $cmdname eq 'add' ? [] : [ PVE::Network::SDN::Dns::sdn_dns_ids($cfg) ];
54}
55
561;
57