Skip to content

Instantly share code, notes, and snippets.

@dlinsley
Last active June 20, 2017 13:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dlinsley/b9ccd892eb40d99d63222f95d0aad993 to your computer and use it in GitHub Desktop.
Save dlinsley/b9ccd892eb40d99d63222f95d0aad993 to your computer and use it in GitHub Desktop.
Get vRA Software Component Property Details
// VMware vRealize Orchestrator (vRO) action sample
//
// Get details about at Software Component Property
//
// For vRO/vRA 7.0+
//
// Action Inputs:
// host - vCACCAFE:VCACHost
// componentId - string
// propertyId - string
//
// Return type: Properties
var restClient = host.createRestClient("com.vmware.csp.component.software.service.api");
System.debug(restClient.getUrl());
var response = restClient.get("/softwarecomponenttypes/"+componentId);
var containerFieldId = response.getProperty("containerFieldId");
var fields = response.getProperty("schema").getProperty("fields");
var encrypted = false;
var toReturn = new Properties();
for (var i in fields) {
if (fields[i].getProperty("id") == propertyId) {
toReturn.put("typeId", fields[i].getProperty("dataType").getProperty("typeId"));
toReturn.put("label", fields[i].getProperty("label"));
toReturn.put("description", fields[i].getProperty("description"));
var facets = fields[i].getProperty("state").getProperty("facets");
for each (var facet in facets) {
if (facet.getProperty("type") == "encrypted") {
encrypted = facet.getProperty("value").getProperty("value").getProperty("value");
} else if (facet.getProperty("type") == "defaultValue") {
//override enabled
toReturn.put("value", facet.getProperty("value").getProperty("value").getProperty("value"));
} else if (facet.getProperty("type") == "derivedValue") {
//override disabled
toReturn.put("value", facet.getProperty("value").getProperty("value").getProperty("value"));
}
}
break;
}
}
toReturn.put("encrypted",encrypted);
return toReturn;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment