]> git.proxmox.com Git - pve-network.git/commitdiff
api: handle delete parameter when updating controllers
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Wed, 22 Nov 2023 11:20:41 +0000 (12:20 +0100)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Wed, 22 Nov 2023 11:29:07 +0000 (12:29 +0100)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
src/PVE/API2/Network/SDN/Controllers.pm

index d8f18ab78cb34a35cef8f5049a1c30aae53bdce9..0540a6524dc1e96a11bc9a3588321e3c6c0c8a6e 100644 (file)
@@ -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};
            }