Variables passed from vCAC to vCO

This may be documented elsewhere, but I had to find it the hard way.

When you’ve created a service under Advanced Services in vCAC that calls a vCenter Orchestrator workflow, a handful of additional variables are passed along with the input parameters you linked in the blueprint form.

In my case, I want to create a new SQL database, so the blueprint form only asks for the name for the new database. On the back-end though, I’d like to record WHO made the request for the new database.

Variable name Value (I think)
__asd_requestedBy upn of requesting user
__asd_requestedFor upn of designated owner
__asd_tenantRef name of tenant (vsphere.local)
__asd_subtenantRef GUID of tenant
__asd_catalogRequestId GUID for request record in database

Please note that each of these begins with two underscores, “asd” and another underscore.
So, with this information, if you set an input parameter to one of the names above, it will be populated when vCAC calls the vCO workflow. In this way, you can record the Requestor name (__asd_requestedBy) to a change record, or make them dbo of the SQL database they requested.

Good luck!


One thought on “Variables passed from vCAC to vCO”

  1. This is very useful Brian. Thanks! I am working on an innovative use case that demanded the requestor’s user ID.

    Although obvious I want to add for benefit of other readers that the type of the input parameter should be “string”. Also you do not need to use System.getContext().getParameter to read these parameters as mentioned here Just read them as you would any other string parameter.

    Brian is there a way to get the vCAC host (type vCAC:VCACHost) that is triggering the vCO workflow? I want to connect back to the entity model and run queries and update properties as needed.

    Thanks again for all of your insightful posts!

Comments are closed.

%d bloggers like this: