From: Thomas Lamprecht Date: Sat, 25 Apr 2020 16:54:45 +0000 (+0200) Subject: parse_sync_opts: code cleanup X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=6c42a1034b5833fd227a3d6c1f32833a6e035314;p=pve-access-control.git parse_sync_opts: code cleanup avoid confusion between fmt default and cfg default Signed-off-by: Thomas Lamprecht --- diff --git a/PVE/API2/Domains.pm b/PVE/API2/Domains.pm index 18698c0..d2d9a2b 100644 --- a/PVE/API2/Domains.pm +++ b/PVE/API2/Domains.pm @@ -371,16 +371,17 @@ my $parse_sync_opts = sub { my $sync_opts_fmt = PVE::JSONSchema::get_format('realm-sync-options'); - my $res = {}; - my $defaults = {}; + my $cfg_defaults = {}; if (defined(my $cfg_opts = $realmconfig->{'sync-defaults-options'})) { - $defaults = PVE::JSONSchema::parse_property_string($sync_opts_fmt, $cfg_opts); + $cfg_defaults = PVE::JSONSchema::parse_property_string($sync_opts_fmt, $cfg_opts); } + my $res = {}; for my $opt (sort keys %$sync_opts_fmt) { my $fmt = $sync_opts_fmt->{$opt}; - $res->{$opt} = $param->{$opt} // $defaults->{$opt} // $fmt->{default}; + $res->{$opt} = $param->{$opt} // $cfg_defaults->{$opt} // $fmt->{default}; + raise_param_exc({ "$opt" => 'Not passed as parameter and not defined in realm default sync options.' }) if !defined($res->{$opt});