[pve-devel] [Patch V2 common 2/3] Reuse id parse code.

Wolfgang Link w.link at proxmox.com
Tue Mar 31 12:08:34 CEST 2020


The storage_id is the same as the plugin_id.

Signed-off-by: Wolfgang Link <w.link at proxmox.com>
---
 src/PVE/JSONSchema.pm | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/PVE/JSONSchema.pm b/src/PVE/JSONSchema.pm
index fa405ac..3eb38eb 100644
--- a/src/PVE/JSONSchema.pm
+++ b/src/PVE/JSONSchema.pm
@@ -180,14 +180,19 @@ PVE::JSONSchema::register_format('pve-storage-id', \&parse_storage_id);
 sub parse_storage_id {
     my ($storeid, $noerr) = @_;
 
-    if ($storeid !~ m/^[a-z][a-z0-9\-\_\.]*[a-z0-9]$/i) {
+    return parse_id($storeid, 'storage', $noerr);
+}
+
+sub parse_id {
+    my ($id, $msg, $noerr) = @_;
+
+     if ($id !~ m/^[a-z][a-z0-9\-\_\.]*[a-z0-9]$/i) {
 	return undef if $noerr;
-	die "storage ID '$storeid' contains illegal characters\n";
+	die "$msg ID '$id' contains illegal characters\n";
     }
-    return $storeid;
+    return $id;
 }
 
-
 register_format('pve-vmid', \&pve_verify_vmid);
 sub pve_verify_vmid {
     my ($vmid, $noerr) = @_;
-- 
2.20.1





More information about the pve-devel mailing list