diff options
Diffstat (limited to 'PVE/API2/Network/SDN/Zones')
| -rw-r--r-- | PVE/API2/Network/SDN/Zones/Content.pm | 85 | ||||
| -rw-r--r-- | PVE/API2/Network/SDN/Zones/Makefile | 8 | ||||
| -rw-r--r-- | PVE/API2/Network/SDN/Zones/Status.pm | 111 |
3 files changed, 0 insertions, 204 deletions
diff --git a/PVE/API2/Network/SDN/Zones/Content.pm b/PVE/API2/Network/SDN/Zones/Content.pm deleted file mode 100644 index 66f49df..0000000 --- a/PVE/API2/Network/SDN/Zones/Content.pm +++ /dev/null @@ -1,85 +0,0 @@ -package PVE::API2::Network::SDN::Zones::Content; - -use strict; -use warnings; -use Data::Dumper; - -use PVE::SafeSyslog; -use PVE::Cluster; -use PVE::INotify; -use PVE::Exception qw(raise_param_exc); -use PVE::RPCEnvironment; -use PVE::RESTHandler; -use PVE::JSONSchema qw(get_standard_option); -use PVE::Network::SDN; - -use base qw(PVE::RESTHandler); - -__PACKAGE__->register_method ({ - name => 'index', - path => '', - method => 'GET', - description => "List zone content.", - permissions => { - check => ['perm', '/sdn/zones/{zone}', ['SDN.Audit'], any => 1], - }, - protected => 1, - proxyto => 'node', - parameters => { - additionalProperties => 0, - properties => { - node => get_standard_option('pve-node'), - zone => get_standard_option('pve-sdn-zone-id', { - completion => \&PVE::Network::SDN::Zones::complete_sdn_zone, - }), - }, - }, - returns => { - type => 'array', - items => { - type => "object", - properties => { - vnet => { - description => "Vnet identifier.", - type => 'string', - }, - status => { - description => "Status.", - type => 'string', - optional => 1, - }, - statusmsg => { - description => "Status details", - type => 'string', - optional => 1, - }, - }, - }, - links => [ { rel => 'child', href => "{vnet}" } ], - }, - code => sub { - my ($param) = @_; - - my $rpcenv = PVE::RPCEnvironment::get(); - - my $authuser = $rpcenv->get_user(); - - my $zoneid = $param->{zone}; - - my $res = []; - - my ($zone_status, $vnet_status) = PVE::Network::SDN::status(); - - foreach my $id (keys %{$vnet_status}) { - if ($vnet_status->{$id}->{zone} eq $zoneid) { - my $item->{vnet} = $id; - $item->{status} = $vnet_status->{$id}->{'status'}; - $item->{statusmsg} = $vnet_status->{$id}->{'statusmsg'}; - push @$res,$item; - } - } - - return $res; - }}); - -1; diff --git a/PVE/API2/Network/SDN/Zones/Makefile b/PVE/API2/Network/SDN/Zones/Makefile deleted file mode 100644 index 9b0a42b..0000000 --- a/PVE/API2/Network/SDN/Zones/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -SOURCES=Status.pm Content.pm - - -PERL5DIR=${DESTDIR}/usr/share/perl5 - -.PHONY: install -install: - for i in ${SOURCES}; do install -D -m 0644 $$i ${PERL5DIR}/PVE/API2/Network/SDN/Zones/$$i; done diff --git a/PVE/API2/Network/SDN/Zones/Status.pm b/PVE/API2/Network/SDN/Zones/Status.pm deleted file mode 100644 index 17de68f..0000000 --- a/PVE/API2/Network/SDN/Zones/Status.pm +++ /dev/null @@ -1,111 +0,0 @@ -package PVE::API2::Network::SDN::Zones::Status; - -use strict; -use warnings; - -use File::Path; -use File::Basename; -use PVE::Tools; -use PVE::INotify; -use PVE::Cluster; -use PVE::API2::Network::SDN::Zones::Content; -use PVE::RESTHandler; -use PVE::RPCEnvironment; -use PVE::JSONSchema qw(get_standard_option); -use PVE::Exception qw(raise_param_exc); - -use base qw(PVE::RESTHandler); - -__PACKAGE__->register_method ({ - subclass => "PVE::API2::Network::SDN::Zones::Content", - path => '{zone}/content', -}); - -__PACKAGE__->register_method ({ - name => 'index', - path => '', - method => 'GET', - description => "Get status for all zones.", - permissions => { - description => "Only list entries where you have 'SDN.Audit'", - user => 'all', - }, - protected => 1, - proxyto => 'node', - parameters => { - additionalProperties => 0, - properties => { - node => get_standard_option('pve-node') - }, - }, - returns => { - type => 'array', - items => { - type => "object", - properties => { - zone => get_standard_option('pve-sdn-zone-id'), - status => { - description => "Status of zone", - type => 'string', - enum => ['available', 'pending', 'error'], - }, - }, - }, - links => [ { rel => 'child', href => "{zone}" } ], - }, - code => sub { - my ($param) = @_; - - my $rpcenv = PVE::RPCEnvironment::get(); - my $authuser = $rpcenv->get_user(); - - my $localnode = PVE::INotify::nodename(); - - my $res = []; - - my ($zone_status, $vnet_status) = PVE::Network::SDN::status(); - - foreach my $id (sort keys %{$zone_status}) { - my $item->{zone} = $id; - $item->{status} = $zone_status->{$id}->{'status'}; - push @$res, $item; - } - - return $res; - }}); - -__PACKAGE__->register_method ({ - name => 'diridx', - path => '{zone}', - method => 'GET', - description => "", - permissions => { - check => ['perm', '/sdn/zones/{zone}', ['SDN.Audit'], any => 1], - }, - parameters => { - additionalProperties => 0, - properties => { - node => get_standard_option('pve-node'), - zone => get_standard_option('pve-sdn-zone-id'), - }, - }, - returns => { - type => 'array', - items => { - type => "object", - properties => { - subdir => { type => 'string' }, - }, - }, - links => [ { rel => 'child', href => "{subdir}" } ], - }, - code => sub { - my ($param) = @_; - my $res = [ - { subdir => 'content' }, - ]; - - return $res; - }}); - -1; |
