[pve-devel] [PATCH v2 storage 5/7] api: alloc: allow 'vmdk' for the 'format' option

Fiona Ebner f.ebner at proxmox.com
Wed Mar 5 11:49:21 CET 2025


The API endpoint will automatically detect the format from the
extension for raw, qcow2 and vmdk, but it was not yet possible to
specify the format explicitly via the parameter. This could be
annoying/surprising to users. There also might be third-party plugins
that want to use vmdk, but not require a suffix in the name. Add
'vmdk' as an allowed format to avoid these issues and for consistency
by using the 'pve-storage-format' format.

Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---

Changes in v2:
* use existing format

 src/PVE/API2/Storage/Content.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/PVE/API2/Storage/Content.pm b/src/PVE/API2/Storage/Content.pm
index 3b73e90..03cc4a1 100644
--- a/src/PVE/API2/Storage/Content.pm
+++ b/src/PVE/API2/Storage/Content.pm
@@ -6,6 +6,7 @@ use warnings;
 use PVE::SafeSyslog;
 use PVE::Cluster;
 use PVE::Storage;
+use PVE::Storage::Plugin; # for 'pve-storage-format' format
 use PVE::INotify;
 use PVE::Exception qw(raise_param_exc);
 use PVE::RPCEnvironment;
@@ -179,7 +180,7 @@ __PACKAGE__->register_method ({
 	    },
 	    'format' => {
 		type => 'string',
-		enum => ['raw', 'qcow2', 'subvol'],
+		format => 'pve-storage-format',
 		requires => 'size',
 		optional => 1,
 	    },
-- 
2.39.5





More information about the pve-devel mailing list