summaryrefslogtreecommitdiff
path: root/src/PVE/API2/Network/SDN
diff options
context:
space:
mode:
authorWolfgang Bumiller <w.bumiller@proxmox.com>2023-11-22 12:20:41 +0100
committerWolfgang Bumiller <w.bumiller@proxmox.com>2023-11-22 12:29:07 +0100
commit3cce500fc5d4d438870a4487b87a1b0fa220bd1e (patch)
tree219aece876fb3f2e41e1b9f5e2af7ce0442da397 /src/PVE/API2/Network/SDN
parent1f5481ad6b03d1ca00f46a6388b2da4b91479570 (diff)
api: handle delete parameter when updating controllers
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Diffstat (limited to 'src/PVE/API2/Network/SDN')
-rw-r--r--src/PVE/API2/Network/SDN/Controllers.pm7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/PVE/API2/Network/SDN/Controllers.pm b/src/PVE/API2/Network/SDN/Controllers.pm
index d8f18ab..0540a65 100644
--- a/src/PVE/API2/Network/SDN/Controllers.pm
+++ b/src/PVE/API2/Network/SDN/Controllers.pm
@@ -215,6 +215,7 @@ __PACKAGE__->register_method ({
my $id = extract_param($param, 'controller');
my $digest = extract_param($param, 'digest');
+ my $delete = extract_param($param, 'delete');
PVE::Network::SDN::lock_sdn_config(
sub {
@@ -228,6 +229,12 @@ __PACKAGE__->register_method ({
my $plugin = PVE::Network::SDN::Controllers::Plugin->lookup($scfg->{type});
my $opts = $plugin->check_config($id, $param, 0, 1);
+ if ($delete) {
+ $delete = [ PVE::Tools::split_list($delete) ];
+ my $options = $plugin->private()->{options}->{$scfg->{type}};
+ PVE::SectionConfig::delete_from_config($scfg, $options, $opts, $delete);
+ }
+
foreach my $k (%$opts) {
$scfg->{$k} = $opts->{$k};
}