Tuesday, June 16, 2015

List of Reserved (vRA) vCAC VM Prperties be used during the BuildingMachine Workflow

Welcome: To stay updated with all my Blog posts follow me on Twitter @arunpande !
In multiple vRealize Automation (vRA) design & implementation engagements, I have often come across customer requirements where OOB functionality and features do not meet their requirements. These requirements may vary from intial provisioning to certain day 2 operation. In this blog post I will discuss about the reserved vCAC VM properties that can be used in the initial provisioning state. For example, I have received following customization requests in one of the engagements:
  • Change the Name of the VM provisioned dynamically using vCAC [VirtualMachine.LeaseDays]
The requirement was to assign the name of the VM dynamically based on the user inputs. To achieve this we created  a vCO workflow to dynamically update the value of VirtualMachine.LeaseDays.

  • Allow users to choose a specifc or unlimited lease for a VM provisioned from the same blueprint [VirtualMachine.LeaseDays]
Here, a vCO workflow was used to let the user select if he wants Unlimtied or specific Lease duration, the same value was updated to the VirtualMachine.LeaseDays. Note that when the value of this property is set to 0 the lease duration is unlimited.
I would like to thank Sonal Jain, for his expertise in designing the above workflows.
There are other workflows available which allows user to change the CPU & Memory values using the below properties.
  • VirtualMachine.CPU.Count
  • VirtualMachine.Memory.Size
In this blog post, I have also tried to capture the key properties used in the ExternalWFStubs.BuildingMachine workflow.
Next time when you receive any customization request from the customer that is applicable to the building machine stub, search for the custom property from the below list. Next, create a vCO workflow using the custom property and assign it to the Blueprint.
VirtualMachine.Admin.TotalDiskUsage : 61440
VirtualMachine.CPU.Count : 1
VirtualMachine.Disk0.IsClone : true
VirtualMachine.Disk0.Size : 60
VirtualMachine.Disk0.Storage : EMC-VNX5600-2TB-01
VirtualMachine.Disk0.Storage.Cluster.ExternalReferenceId : group-p129
VirtualMachine.Disk0.Storage.Cluster.Name : EMC-DS-CLS-VNX5600-01
VirtualMachine.LeaseDays : 0
VirtualMachine.Memory.Size : 4096
VirtualMachine.Network0.Address : 10.X.X.X
VirtualMachine.Network0.DnsSearchSuffixes : apd.com
VirtualMachine.Network0.DnsSuffix : apd.com
VirtualMachine.Network0.Gateway : 10.X.X.X
VirtualMachine.Network0.Name : eth-9
VirtualMachine.Network0.NetworkProfileName : VLAN-916
VirtualMachine.Network0.PrimaryDns : 10.X.XX
VirtualMachine.Network0.PrimaryWins :
VirtualMachine.Network0.SecondaryDns : 10.X.XX
VirtualMachine.Network0.SecondaryWins :
VirtualMachine.Network0.SubnetMask : 255.255.255.0
VirtualMachine.Network1.Address : 10.X.XX
VirtualMachine.Network1.DnsSearchSuffixes : apd.com
VirtualMachine.Network1.DnsSuffix : apd.com
VirtualMachine.Network1.Gateway :
VirtualMachine.Network1.Name : eth-8
VirtualMachine.Network1.NetworkProfileName : Backup
VirtualMachine.Network1.PrimaryDns : 10.X.XX
VirtualMachine.Network1.PrimaryWins :
VirtualMachine.Network1.SecondaryDns : 10.X.XX
VirtualMachine.Network1.SecondaryWins :
VirtualMachine.Network1.SubnetMask : 255.255.255.0
VirtualMachine.Request.Layout : vcacvm.customname.os.dmz
VirtualMachine.Storage.Cluster.ExternalReferenceId : group-p129
VirtualMachine.Storage.Cluster.Name : EMC-DS-CLS-VNX5600-01
VirtualMachine.Storage.Name : EMC-VNX5600-2TB-01
Vrm.ProxyAgent.Uri : https://iaas-mgr.apd.com/VMPS2Proxy
__Legacy.Workflow.ImpersonatingUser :
__Legacy.Workflow.User : vcac@apd.com
__Notes : This is test VM.
__api.request.id : 5d14685b-22f8-4b22-b2ec-8377922f0a3e
__clonefrom : windows-2008-R2-template
__clonefromid : def1171a-7fd7-4b69-a623-bbfd7e0d34a0
__clonespec : windows-join-ad
__displayLocationToUser : False
__menusecurity_connect : true
__menusecurity_connectVdi : true
__menusecurity_connectVmrc : false
__menusecurity_destroy : true
__menusecurity_expire : true
__menusecurity_reprovision : true
__menusecurity_snapshotmanagement : true
__menusecurity_turnoff : true
__menusecurity_turnon : true
__request_reason :
If you need more information about the methods and functions for these properties you can use API explorer to search the property name and will also list most commonly used property name for your reference.
  • Use API Explorer
  • When you login to the vRO Client, click Tools > API Explorer


  • Enter the name of the element and view the results

Hope This Helps!!