]>
git.proxmox.com Git - pve-network.git/blob - PVE/API2/Network/SDN/Zones/Status.pm
1 package PVE
::API2
::Network
::SDN
::Zones
::Status
;
11 use PVE
::API2
::Network
::SDN
::Zones
::Content
;
13 use PVE
::RPCEnvironment
;
14 use PVE
::JSONSchema
qw(get_standard_option);
15 use PVE
::Exception
qw(raise_param_exc);
17 use base
qw(PVE::RESTHandler);
19 __PACKAGE__-
>register_method ({
20 subclass
=> "PVE::API2::Network::SDN::Zones::Content",
21 path
=> '{zone}/content',
24 __PACKAGE__-
>register_method ({
28 description
=> "Get status for all zones.",
30 description
=> "Only list entries where you have 'SDN.Audit'",
36 additionalProperties
=> 0,
38 node
=> get_standard_option
('pve-node')
46 zone
=> get_standard_option
('pve-sdn-zone-id'),
48 description
=> "Status of zone",
53 links
=> [ { rel
=> 'child', href
=> "{zone}" } ],
58 my $rpcenv = PVE
::RPCEnvironment
::get
();
59 my $authuser = $rpcenv->get_user();
61 my $localnode = PVE
::INotify
::nodename
();
65 my ($transport_status, $vnet_status) = PVE
::Network
::SDN
::status
();
67 foreach my $id (keys %{$transport_status}) {
68 my $item->{zone
} = $id;
69 $item->{status
} = $transport_status->{$id}->{'status'};
76 __PACKAGE__-
>register_method ({
82 check
=> ['perm', '/sdn/zones/{zone}', ['SDN.Audit'], any
=> 1],
85 additionalProperties
=> 0,
87 node
=> get_standard_option
('pve-node'),
88 zone
=> get_standard_option
('pve-sdn-zone-id'),
96 subdir
=> { type
=> 'string' },
99 links
=> [ { rel
=> 'child', href
=> "{subdir}" } ],
104 { subdir
=> 'content' },