What’s in my vRA7 EBS Payloads?
As I discussed in my previous post, vRA7 Event Broker integration is a big change from previous version of vRA – we no longer receive the same objects that used to be passed from vCAC/vRA to vCO. Instead we receive the mysterious “payload” – a properties object.
I wanted to create a workflow that I could enable to log all of the keys, values and types of the properties object for each stage of the vRA7 MachineProvisioning workflows, and create a reference for myself on the payload for each stage.
To do this I created a new workflow “debugProperties” and added an input variable called “payload”, type Properties. Next I added a single scriptable task and cycled through the properties. Some of the properties’ values are actually other properties objects, so there’s a function to test the type and iterate through if required.
vRealize Automation 7 Custom Hostname with Event Broker (EB) Subscription
The new Event Broker service in vRA7 is one of the most exciting features of this latest release, the possibilities for extensibility are huge. At this point it time you can still use the old method of using workflow stubs to customise machine lifecycle events, but at some point in the future this will be deprecated and the Event Broker will be the only way to extend.
With this in mind, I wanted to use the Event Broker to do something that I am asked on almost every customer engagement – custom hostnames beyond what the Machine Prefixes mechanism can do.
This, as it turns out, Event Broker extensibility is not the simplest to get your head around – there is a very large (>100 page) extensibility document to parse!
For the purposes of this post, I will be using the BuildingMachine lifecycle state. This is because I want to modify the hostname before the VM is built – in much the same way as you would with the old ExternalWFStubs.BuildingMachine method.
One of the key differences between using the old WFStubs method and the new EB method is that it does not pass the same objects, there is no vCAC:Entity or vCAC:VirtualMachine – only a Properties object which holds the request properties. These include any custom properties from the blueprint. (more…)