]> git.proxmox.com Git - pve-common.git/blobdiff - src/PVE/PBSClient.pm
pbs: restore pxar: add required parameters explicitly in method signature
[pve-common.git] / src / PVE / PBSClient.pm
index 83e0e2e2ccb4a4c70f073431d717f2c420cbe3c3..1d5d111fc5543ce1c73236b832fb8d53d99f3979 100644 (file)
@@ -194,16 +194,18 @@ my sub run_client_cmd {
 sub autogen_encryption_key {
     my ($self) = @_;
     my $encfile = $self->encryption_key_file_name();
-    run_command(['proxmox-backup-client', 'key', 'create', '--kdf', 'none', $encfile]);
+    run_command(
+        ['proxmox-backup-client', 'key', 'create', '--kdf', 'none', $encfile],
+        errmsg => 'failed to create encryption key'
+    );
+    return file_get_contents($encfile);
 };
 
 sub get_snapshots {
     my ($self, $opts) = @_;
 
     my $param = [];
-    if (defined($opts->{group})) {
-       push @$param, $opts->{group};
-    }
+    push @$param, $opts->{group} if defined($opts->{group});
 
     return $self->run_client_cmd("snapshots", $param);
 };
@@ -221,35 +223,32 @@ sub backup_tree {
     die "archive name not provided\n" if !defined($pxarname);
     my $time = delete $opts->{time};
 
-    my $param = [];
-
-    push @$param, "$pxarname.pxar:$root";
-    push @$param, '--backup-type', $type;
-    push @$param, '--backup-id', $id;
+    my $param = [
+       "$pxarname.pxar:$root",
+       '--backup-type', $type,
+       '--backup-id', $id,
+    ];
     push @$param, '--backup-time', $time if defined($time);
 
     return $self->run_raw_client_cmd('backup', $param, %$opts);
 };
 
 sub restore_pxar {
-    my ($self, $opts) = @_;
+    my ($self, $snapshot, $pxarname, $target, $cmd_opts) = @_;
 
-    my $snapshot = delete $opts->{snapshot};
     die "snapshot not provided\n" if !defined($snapshot);
-    my $pxarname = delete $opts->{pxarname};
     die "archive name not provided\n" if !defined($pxarname);
-    my $target = delete $opts->{target};
     die "restore-target not provided\n" if !defined($target);
-    #my $time = delete $opts->{time};
 
-    my $param = [];
-
-    push @$param, "$snapshot";
-    push @$param, "$pxarname.pxar";
-    push @$param, "$target";
-    push @$param, "--allow-existing-dirs", 0;
+    my $param = [
+       "$snapshot",
+       "$pxarname.pxar",
+       "$target",
+       "--allow-existing-dirs", 0,
+    ];
+    $cmd_opts //= {};
 
-    return $self->run_raw_client_cmd('restore', $param, %$opts);
+    return $self->run_raw_client_cmd('restore', $param, %$cmd_opts);
 };
 
 sub forget_snapshot {
@@ -257,11 +256,7 @@ sub forget_snapshot {
 
     die "snapshot not provided\n" if !defined($snapshot);
 
-    my $param = [];
-
-    push @$param, "$snapshot";
-
-    return $self->run_raw_client_cmd('forget', $param);
+    return $self->run_raw_client_cmd('forget', ["$snapshot"]);
 };
 
 sub prune_group {