You must configure your vRealize Orchestrator workflows to support the IaaS service message.

Provisioning and Life Cycle Event Topic Schema

The machine provisioning and machine life cycle event topics use the same life cycle schema. The differences are in the triggering states. Machine provisioning receives messages based on provisioning states and events, and machine life cycle receives messages based on active states and events. Some provisioning states include BuildingMachine and Disposing. Some life cycle states include InstallTools and Off.

The event message is the event data payload. The following is the structure of the event data payload.

{
  machine : {
      id                : STRING,      /* IaaS machine ID */
      name              : STRING,      /* machine name */
      externalReference : STRING,      /* machine ID on the hypervisor */
      owner             : STRING,      /* machine owner */ 
      type              : INTEGER,     /* machine type: 0 - virtual machine; 1 - physical machine; 2 - cloud machine */ 
      properties        : Properties   /* machine properties, see notes below how to expose virtual machine properties */            
  },
  blueprintName   : STRING,      /* blueprint name */
  componentId     : STRING,      /* component id */
  componentTypeId : STRING,      /* component type id */
  endpointId      : STRING,      /* endpoint id */
  requestId       : STRING,      /* request id */
  lifecycleState  : {												/* see Life Cycle State Definitions*/
      state : STRING,
      phase : STRING,
      event : STRING
  },
  virtualMachineEvent                 : STRING,     /* fire an event on that machine - only processed by Manager Service as consumer */
  workflowNextState                   : STRING,     /* force the workflow to a specific state - only processed by Manager Service as consumer */
  virtualMachineAddOrUpdateProperties : Properties, /* properties on the machine to add/update - only processed by Manager Service as consumer */
  virtualMachineDeleteProperties      : Properties  /* properties to remove from the machine - only processed by Manager Service as consumer */
}

The vRealize Orchestrator parameters are mapped to the event's payload by name and 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.

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.