7.2

Table Of Contents
When you use virtualMachineEvent and workflowNextState as output parameters, the values that
you provide must represent a state or event from the workflow that triggered the event and started the
current vRealize Orchestrator workflow. To review the possible life cycle states and events, see VMPS
Master Workflow Life Cycle States and Provisioning Life Cycle States by Machine Type.
Working with Extensibility Custom Properties
The virtual machine custom properties are not included in the event payload unless they are specified as
an extensibility custom property for the life cycle state. You can add these properties to IaaS endpoints,
reservations, blueprints, requests, and other objects that support custom properties.
The format of the custom property that you add to an object is
Extensibility.Lifecycle.Properties.{workflowName}.{stateName}.
For example, if you want to include hidden properties and all properties starting with "Virtual" when the
virtual machine state is BuildingMachine, you add the custom properties to the machine in the blueprint.
The custom property name for this example is
Extensibility.Lifecycle.Properties.VMPSMasterWorkflow32.BuildingMachine, and the values
are __* and Virtual*, separated by a comma.
The double underscore (__*) includes the hidden properties. The Virtual* value includes all properties
that begin with virtual. The asterisk (*) is a wildcard and can be used as the only value, but using the
wildcard this way results in the transfer of large amounts of data.
If you have multiple, subsequently triggered workflow subscriptions that include custom properties, you
must include the appropriate entries in the workflows to ensure that the payload check retains the custom
properties.
Table 48. Task Entries to Preserve Custom Properties
State Task Entries
Added or updated custom properties
virtualMachineAddOrUpdateProperties =
payload.virtualMachineAddOrUpdateProperties ||
new Properties();
Deleted custom properties
virtualMachineDeleteProperties =
payload.virtualMachineDeleteProperties || new
Properties();
Creating a vRealize Orchestrator Workflow Based on the Life Cycle or
Provisioning Schema
The custom workflow that you create must have an input parameter that is payload with the type
Properties. The provisioning or life cycle event data payload is put in this parameter when the workflow
runs in vRealize Orchestrator. You can also include separate input parameters that match the name and
the type of the fields in the event's payload.
Life Cycle Extensibility
VMware, Inc. 29