Create getDefaultCustomizationSpec

This commit is contained in:
John Bowdre 2022-06-14 09:28:33 -05:00 committed by GitHub
parent 46a6cf1cd9
commit c789e56f4f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -0,0 +1,36 @@
/* JavaScript: getDefaultCustomizationSpec action
Consults a vRO configuration ("CustomizationSpecs") to suggest a default/preferred customization spec based on OS family type and whether the machine will be domain-joined.
Inputs: imageName (string), adObject (boolean)
*/
if (!(imageName == "" || imageName == null)) {
var imageFamily = null;
var join = null;
var vraToken = System.getModule("com.virtuallypotato.utility").vraLogin();
var images = JSON.parse(System.getModule("com.virtuallypotato.utility").vraExecute(vraToken, "GET", "/iaas/api/images", null)).content;
System.debug("Images: " + JSON.stringify(images));
System.getModule("com.virtuallypotato.utility").vraLogout(vraToken);
for each (image in images) {
for (var i in image.mapping) {
if (i === imageName) {
imageFamily = image.mapping[i].osFamily;
}
}
if (imageFamily != null) { break; };
}
if (adObject) {
join = "domain";
} else {
join = "workgroup";
}
var desiredSpec = imageFamily + "-" + join;
System.debug("Desired spec: " + desiredSpec);
try {
var customSpec = System.getModule("com.virtuallypotato.utility").getConfigValue("vPotato", "CustomizationSpecs", desiredSpec);
System.debug("Found spec: " + customSpec);
} catch (exception) {
return "";
}
return customSpec;
} else {
return "";
}