use PVE::Network::SDN::VlanPlugin;
use PVE::Network::SDN::VxlanPlugin;
use PVE::Network::SDN::VnetPlugin;
+use PVE::Network::SDN::FaucetControllerPlugin;
+use PVE::Network::SDN::FaucetPlugin;
+use PVE::Network::SDN::EvpnControllerPlugin;
+use PVE::Network::SDN::EvpnPlugin;
+use PVE::Network::SDN::QinQPlugin;
+
use Storable qw(dclone);
use PVE::JSONSchema qw(get_standard_option);
use PVE::RPCEnvironment;
};
__PACKAGE__->register_method ({
- name => 'index',
+ name => 'index',
path => '',
method => 'GET',
description => "SDN index.",
- permissions => {
+ permissions => {
description => "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/cluster/sdn/<sdn>'",
user => 'all',
},
parameters => {
additionalProperties => 0,
properties => {
- type => {
+ type => {
description => "Only list sdn of specific type",
- type => 'string',
+ type => 'string',
enum => $sdn_type_enum,
optional => 1,
},
}});
__PACKAGE__->register_method ({
- name => 'read',
+ name => 'read',
path => '{sdn}',
method => 'GET',
description => "Read sdn configuration.",
-# permissions => {
+# permissions => {
# check => ['perm', '/cluster/sdn/{sdn}', ['SDN.Allocate']],
# },
__PACKAGE__->register_method ({
name => 'create',
protected => 1,
- path => '',
+ path => '',
method => 'POST',
description => "Create a new sdn object.",
-# permissions => {
+# permissions => {
# check => ['perm', '/cluster/sdn', ['SDN.Allocate']],
# },
parameters => PVE::Network::SDN::Plugin->createSchema(),
}
PVE::Network::SDN::write_config($cfg);
-
+
}, "create sdn object failed");
return undef;
path => '',
method => 'PUT',
description => "Apply sdn changes.",
-# permissions => {
+# permissions => {
# check => ['perm', '/cluster/sdn', ['SDN.Allocate']],
# },
parameters => {
path => '',
method => 'DELETE',
description => "Revert sdn changes.",
-# permissions => {
+# permissions => {
# check => ['perm', '/cluster/sdn', ['SDN.Allocate']],
# },
parameters => {
path => '{sdn}',
method => 'PUT',
description => "Update sdn object configuration.",
-# permissions => {
+# permissions => {
# check => ['perm', '/cluster/sdn', ['SDN.Allocate']],
# },
parameters => PVE::Network::SDN::Plugin->updateSchema(),
path => '{sdn}',
method => 'DELETE',
description => "Delete sdn object configuration.",
-# permissions => {
+# permissions => {
# check => ['perm', '/cluster/sdn', ['SDN.Allocate']],
# },
parameters => {
additionalProperties => 0,
- properties => {
+ properties => {
sdn => get_standard_option('pve-sdn-id', {
completion => \&PVE::Network::SDN::complete_sdn,
}),