[pve-devel] [PATCH pve-network 3/3] api2: add networkconfig

Alexandre Derumier aderumier at odiso.com
Wed Apr 3 00:19:11 CEST 2019


/cluster/network/vnet
/cluster/network/transport
---
 PVE/API2/Makefile         |  3 +++
 PVE/API2/NetworkConfig.pm | 62 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+)
 create mode 100644 PVE/API2/NetworkConfig.pm

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;
-- 
2.11.0




More information about the pve-devel mailing list