[pve-devel] [RFC common] add 'pve-vmid-optional' format and standard option
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Oct 17 17:44:34 CEST 2016
This will be used in cases where the VMID may not be important. For
example some users do not care which VMID a CT/VM gets, they just
want a CT/VM.
Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
src/PVE/JSONSchema.pm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/PVE/JSONSchema.pm b/src/PVE/JSONSchema.pm
index caeefe2..7a4a601 100644
--- a/src/PVE/JSONSchema.pm
+++ b/src/PVE/JSONSchema.pm
@@ -56,6 +56,11 @@ register_standard_option('pve-vmid', {
minimum => 1
});
+register_standard_option('pve-vmid-optional', {
+ description => "The (unique) ID of the VM or a '.' to autogenerate one.",
+ type => 'string', format => 'pve-vmid-optional',
+});
+
register_standard_option('pve-node', {
description => "The cluster node name.",
type => 'string', format => 'pve-node',
@@ -155,6 +160,17 @@ sub pve_verify_vmid {
return $vmid;
}
+register_format('pve-vmid-optional', \&pve_verify_vmid_optional);
+sub pve_verify_vmid_optional {
+ my ($vmid, $noerr) = @_;
+
+ if ($vmid !~ m/^([1-9][0-9]{2,8}|\.)$/) {
+ return undef if $noerr;
+ die "value does not look like a valid optional VM ID\n";
+ }
+ return $vmid;
+}
+
register_format('pve-node', \&pve_verify_node_name);
sub pve_verify_node_name {
my ($node, $noerr) = @_;
--
2.1.4
More information about the pve-devel
mailing list