From: Alexandre Derumier Date: Tue, 2 Apr 2019 22:19:11 +0000 (+0200) Subject: api2: add networkconfig X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=653b2b904012c263f0a809a2eb22dc4e74a5f29a;p=matthieu%2Fpve-network.git api2: add networkconfig /cluster/network/vnet /cluster/network/transport --- diff --git a/PVE/API2/Makefile b/PVE/API2/Makefile index 5bc7988..3e0ae7e 100644 --- a/PVE/API2/Makefile +++ b/PVE/API2/Makefile @@ -1,5 +1,8 @@ +SOURCES=NetworkConfig.pm +PERL5DIR=${DESTDIR}/usr/share/perl5 .PHONY: install install: + for i in ${SOURCES}; do install -D -m 0644 $$i ${PERL5DIR}/PVE/API2/$$i; done make -C Network install diff --git a/PVE/API2/NetworkConfig.pm b/PVE/API2/NetworkConfig.pm new file mode 100644 index 0000000..91b7699 --- /dev/null +++ b/PVE/API2/NetworkConfig.pm @@ -0,0 +1,62 @@ +package PVE::API2::NetworkConfig; + +use strict; +use warnings; + +use PVE::SafeSyslog; +use PVE::Tools; +use PVE::Cluster qw(cfs_lock_file cfs_read_file cfs_write_file); +use PVE::RESTHandler; +use PVE::RPCEnvironment; +use PVE::JSONSchema qw(get_standard_option); +use PVE::Exception qw(raise_param_exc); +use PVE::API2::Network::Transport; +use PVE::API2::Network::Vnet; + +use base qw(PVE::RESTHandler); + +__PACKAGE__->register_method ({ + subclass => "PVE::API2::Network::Transport", + path => 'transport', + }); + +__PACKAGE__->register_method ({ + subclass => "PVE::API2::Network::Vnet", + path => 'vnet', + }); + +__PACKAGE__->register_method({ + name => 'index', + path => '', + method => 'GET', + description => "Directory index.", + permissions => { + check => ['perm', '/', [ 'Sys.Audit' ]], + }, + parameters => { + additionalProperties => 0, + properties => {}, + }, + returns => { + type => 'array', + items => { + type => "object", + properties => { + id => { type => 'string' }, + }, + }, + links => [ { rel => 'child', href => "{id}" } ], + }, + code => sub { + my ($param) = @_; + + my $res = [ + { id => 'transport' }, + { id => 'vnet' }, + ]; + + return $res; + }}); + + +1;