]> git.proxmox.com Git - qemu-server.git/blobdiff - PVE/QemuServer/Drive.pm
schema: fix description of migrate_downtime parameter
[qemu-server.git] / PVE / QemuServer / Drive.pm
index 574735698bbaf35ae418471af2e49e5a5089e4d9..6a4fafd95cf07c17c06b5d94e83ec8a30d59ab4c 100644 (file)
@@ -163,6 +163,26 @@ my %iothread_fmt = ( iothread => {
        optional => 1,
 });
 
+my %product_fmt = (
+    product => {
+       type => 'string',
+       pattern => '[A-Za-z0-9\-_\s]{,16}', # QEMU (8.1) will quietly only use 16 bytes
+       format_description => 'product',
+       description => "The drive's product name, up to 16 bytes long.",
+       optional => 1,
+    },
+);
+
+my %vendor_fmt = (
+    vendor => {
+       type => 'string',
+       pattern => '[A-Za-z0-9\-_\s]{,8}', # QEMU (8.1) will quietly only use 8 bytes
+       format_description => 'vendor',
+       description => "The drive's vendor name, up to 8 bytes long.",
+       optional => 1,
+    },
+);
+
 my %model_fmt = (
     model => {
        type => 'string',
@@ -280,10 +300,12 @@ PVE::JSONSchema::register_standard_option("pve-qm-ide", $idedesc);
 my $scsi_fmt = {
     %drivedesc_base,
     %iothread_fmt,
+    %product_fmt,
     %queues_fmt,
     %readonly_fmt,
     %scsiblock_fmt,
     %ssd_fmt,
+    %vendor_fmt,
     %wwn_fmt,
 };
 my $scsidesc = {
@@ -404,10 +426,12 @@ my $alldrive_fmt = {
     %drivedesc_base,
     %iothread_fmt,
     %model_fmt,
+    %product_fmt,
     %queues_fmt,
     %readonly_fmt,
     %scsiblock_fmt,
     %ssd_fmt,
+    %vendor_fmt,
     %wwn_fmt,
     %tpmversion_fmt,
     %efitype_fmt,
@@ -824,12 +848,12 @@ sub path_is_scsi {
     return $res;
 }
 
-sub get_scsi_devicetype {
+sub get_scsi_device_type {
     my ($drive, $storecfg, $machine_version) = @_;
 
     my $devicetype = 'hd';
     my $path = '';
-    if (drive_is_cdrom($drive)) {
+    if (drive_is_cdrom($drive) || drive_is_cloudinit($drive)) {
        $devicetype = 'cd';
     } else {
        if ($drive->{file} =~ m|^/|) {