diff options
| author | Wolfgang Bumiller <w.bumiller@proxmox.com> | 2023-11-22 12:20:41 +0100 |
|---|---|---|
| committer | Wolfgang Bumiller <w.bumiller@proxmox.com> | 2023-11-22 12:29:07 +0100 |
| commit | 3cce500fc5d4d438870a4487b87a1b0fa220bd1e (patch) | |
| tree | 219aece876fb3f2e41e1b9f5e2af7ce0442da397 /src/PVE/API2/Network/SDN | |
| parent | 1f5481ad6b03d1ca00f46a6388b2da4b91479570 (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.pm | 7 |
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}; } |
