]> git.proxmox.com Git - pve-common.git/blobdiff - data/PVE/RESTHandler.pm
make cli argument parser more flexible
[pve-common.git] / data / PVE / RESTHandler.pm
index e68db35571798028cd0770c53014be9af6af31ab..d468a4225b764b4661150edae3c033e9c5144fb8 100644 (file)
@@ -477,29 +477,9 @@ sub cli_handler {
 
     my $info = $self->map_method_by_name($name);
 
-    my $param;
-    foreach my $p (keys %$fixed_param)  {
-       $param->{$p} = $fixed_param->{$p};
-    }
-
-    my $list_param;
-    if ($arg_param) {
-       if (ref($arg_param)) {
-           foreach my $p (@$arg_param) {
-               $param->{$p} = shift @$args if $args->[0] && $args->[0] !~ m/^-\S/;
-           }
-       } else {
-           my $pd = $info->{parameters}->{properties}->{$arg_param};
-           die "expected list format $pd->{format}"
-               if !($pd && $pd->{format} && $pd->{format} =~ m/-list/);
-           $list_param = $arg_param;
-       }
-    }
-
     my $res;
     eval {
-       my $param = PVE::JSONSchema::get_options($info->{parameters}, $args, $param, $pwcallback, $list_param);
-
+       my $param = PVE::JSONSchema::get_options($info->{parameters}, $args, $arg_param, $fixed_param, $pwcallback);
        $res = $self->handle($info, $param);
     };
     if (my $err = $@) {