Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- PVE/API2/Cluster.pm | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/PVE/API2/Cluster.pm b/PVE/API2/Cluster.pm index bfeaf784..fd083359 100644 --- a/PVE/API2/Cluster.pm +++ b/PVE/API2/Cluster.pm @@ -182,7 +182,7 @@ __PACKAGE__->register_method({ type => { type => 'string', optional => 1, - enum => ['vm', 'storage', 'node'], + enum => ['vm', 'storage', 'node', 'sdn'], }, }, }, @@ -195,7 +195,7 @@ __PACKAGE__->register_method({ type => { description => "Resource type.", type => 'string', - enum => ['node', 'storage', 'pool', 'qemu', 'lxc', 'openvz'], + enum => ['node', 'storage', 'pool', 'qemu', 'lxc', 'openvz', 'sdn'], }, status => { description => "Resource type dependent status.", @@ -391,6 +391,30 @@ __PACKAGE__->register_method({ } } + if($have_sdn) { + if (!$param->{type} || $param->{type} eq 'sdn') { + + my $nodes = PVE::Cluster::get_node_kv("sdn"); + + foreach my $node (keys %{$nodes}) { + my $sdns = decode_json($nodes->{$node}); + + foreach my $id (keys %{$sdns}) { + my $sdn = $sdns->{$id}; + #next if !$rpcenv->check($authuser, "/sdn/$id", [ 'SDN.Audit' ], 1); + my $entry = { + id => "sdn/$node/$id", + sdn => $id, + node => $node, + type => 'sdn', + status => $sdn->{'status'}, + }; + push @$res, $entry; + } + } + } + } + return $res; }}); -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel