]> git.proxmox.com Git - pve-common.git/blobdiff - src/PVE/JSONSchema.pm
add 'map_id' helper for ID maps
[pve-common.git] / src / PVE / JSONSchema.pm
index 38be3f8e9df00db3b310a463e7610edf8bd0ce7c..65055e0155f307355b746cc5831cb42e37f04410 100644 (file)
@@ -249,6 +249,21 @@ sub pve_verify_node_name {
     return $node;
 }
 
+# maps source to target ID using an ID map
+sub map_id {
+    my ($map, $source) = @_;
+
+    return $source if !defined($map);
+
+    return $map->{entries}->{$source}
+       if $map->{entries} && defined($map->{entries}->{$source});
+
+    return $map->{default} if $map->{default};
+
+    # identity (fallback)
+    return $source;
+}
+
 sub parse_idmap {
     my ($idmap, $idformat) = @_;