Skip to content

Instantly share code, notes, and snippets.

@codyde
Created February 12, 2018 00:01
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 codyde/843a3b3ff28e8bc9cd4d3c1e462cde91 to your computer and use it in GitHub Desktop.
Save codyde/843a3b3ff28e8bc9cd4d3c1e462cde91 to your computer and use it in GitHub Desktop.
XaaS OS Blueprint Bootstrap
/* Remember to assign parameters/attributes to correctly return required values. At minimum these are"
busGroup - requesting business group
cafeHost - vRA Cafe Host
osCatalogName - Name of blueprint being requested
*/
// Determine catalog item from business group
var BusinessGroups = vCACCAFEEntitiesFinder.findBusinessGroups(cafeHost , busGroup)
System.log(BusinessGroups)
var BusGroupID = BusinessGroups[0].id;
System.log(BusGroupID)
var CatalogItems = vCACCAFEEntitiesFinder.findCatalogItems(cafeHost, osCatalogName);
System.log(CatalogItems)
System.log(osCatalogName)
if (CatalogItems != null) {
for each (catItem in CatalogItems) {
if (catItem.getOrganization().getSubtenantRef() == BusGroupID)
{
System.log("Catalog " + osCatalogName + " Found");
catalogItem = catItem;
break;
}
}
}else{
throw "Catalog Item [" + osCatalogName + "] not found for Business Group [" + busGroup +"]";
}
var catRequest = vCACCAFERequestsHelper.getProvisioningRequestForCatalogItem(catalogItem) // Get the provisioning request data
var catRequestData = vCACCAFERequestsHelper.getProvisioningRequestData(catRequest); // Get Request Data from the previsioning request, in JSON format
var catRequestJSON = JSON.parse(catRequestData)
/*
Edit request data below this line by using JavaScript dot notation; i.e. catRequestJSON.componentName.data.property. To change CPU on a Windows Blueprint
you can do something similar to catRequestJSON.Windows2016.data.cpu = 2 or catRequestJSON.Windows2016.data["cpu"] = 2
Additionally, you can define new custom properties in here as well.
*/
/* Example
catRequestJSON.componentName.data.property = value
*/
// Code below this line will submit the catalog request
System.log("Converting request data to JSON String")
vCACCAFERequestsHelper.setProvisioningRequestData(catRequest, JSON.stringify(catRequestJSON));
System.log("Submitting Catalog Request")
System.getModule("com.vmware.library.vcaccafe.request").requestCatalogItemWithProvisioningRequest(catalogItem, catRequest);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment