]> git.proxmox.com Git - pve-network.git/blame - PVE/Network/SDN/Vnets.pm
whitespace cleanup
[pve-network.git] / PVE / Network / SDN / Vnets.pm
CommitLineData
f5eabba0
AD
1package PVE::Network::SDN::Vnets;
2
3use strict;
4use warnings;
5
6use PVE::Cluster qw(cfs_read_file cfs_write_file cfs_lock_file);
7
8
9use PVE::Network::SDN::VnetPlugin;
10PVE::Network::SDN::VnetPlugin->register();
11PVE::Network::SDN::VnetPlugin->init();
12
13sub sdn_vnets_config {
14 my ($cfg, $id, $noerr) = @_;
15
16 die "no sdn vnet ID specified\n" if !$id;
17
18 my $scfg = $cfg->{ids}->{$id};
b2d83056 19 die "sdn vnet '$id' does not exist\n" if (!$noerr && !$scfg);
f5eabba0
AD
20
21 return $scfg;
22}
23
24sub config {
25 my $config = cfs_read_file("sdn/vnets.cfg.new");
26 $config = cfs_read_file("sdn/vnets.cfg") if !keys %{$config->{ids}};
27 return $config;
28}
29
30sub write_config {
31 my ($cfg) = @_;
32
33 cfs_write_file("sdn/vnets.cfg.new", $cfg);
34}
35
36sub lock_sdn_vnets_config {
37 my ($code, $errmsg) = @_;
38
39 cfs_lock_file("sdn/vnets.cfg.new", undef, $code);
40 if (my $err = $@) {
41 $errmsg ? die "$errmsg: $err" : die $err;
42 }
43}
44
45sub sdn_vnets_ids {
46 my ($cfg) = @_;
47
48 return keys %{$cfg->{ids}};
49}
50
51sub complete_sdn_vnet {
52 my ($cmdname, $pname, $cvalue) = @_;
53
54 my $cfg = PVE::Network::SDN::Vnets::config();
55
56 return $cmdname eq 'add' ? [] : [ PVE::Network::SDN::Vnets::sdn_vnet_ids($cfg) ];
57}
58
591;