--- Begin Message ---
When the move_disk endpoint is used to reassign a disk image from one
vm to another, the target-filename of the image is typically chosen
automatically with the known naming schema.
This patch adds the optional parameter target-filename, allowing
to manually specify a filename for the disk image when doing a vm
to vm reassignment. It's not currently implemented for storage to
storage moving.
Signed-off-by: Markus Ebner <i...@ebner-markus.de>
---
PVE/API2/Qemu.pm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 38bdaab..f4414e9 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -3886,6 +3886,14 @@ __PACKAGE__->register_method({
maxLength => 40,
optional => 1,
},
+ 'target-filename' => {
+ type => 'string',
+ description => "Specify a custom target filename to which the
moved disk will be"
+ ." renamed as part of the moving (only supported for
reassign at the moment)."
+ ." Caution: Will be normalized",
+ optional => 1,
+ default => "automatically determined with vm-<vmid>-disk-<nr>
schema"
+ },
},
},
returns => {
@@ -3907,6 +3915,9 @@ __PACKAGE__->register_method({
my $target_disk = extract_param($param, 'target-disk') // $disk;
my $storeid = extract_param($param, 'storage');
my $format = extract_param($param, 'format');
+ my $target_filename = extract_param($param, 'target-filename');
+ $target_filename =
PVE::Storage::normalize_content_filename($target_filename)
+ if $target_filename;
my $storecfg = PVE::Storage::config();
@@ -4148,6 +4159,7 @@ __PACKAGE__->register_method({
$storecfg,
$source_volid,
$target_vmid,
+ $target_filename # undef if no custom filename was
requested -> automatically chosen
);
$drive->{file} = $new_volid;
@@ -4226,6 +4238,8 @@ __PACKAGE__->register_method({
$disk_reassignfn
);
} elsif ($storeid) {
+ my $msg = "target-filename option not yet supported when moving to
a different storage";
+ raise_param_exc({ 'target-filename' => $msg }) if $target_filename;
$rpcenv->check($authuser, "/storage/$storeid",
['Datastore.AllocateSpace']);
die "cannot move disk '$disk', only configured disks can be moved
to another storage\n"
--
2.42.0
--- End Message ---
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel