vrealize/Orchestrator/Actions/com.virtuallypotato.inputs/getDefaultCustomizationSpec.js

37 lines
1.4 KiB
JavaScript

/* 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 "";
}