5.5

Table Of Contents
Create a Trigger Object
Trigger objects monitor event triggers that plug-ins define. For example, the vCenter Server plug-in defines
these events as Task objects. When the task ends, the trigger sends a message to a waiting trigger-based
long-running workflow element, to restart the workflow.
The time-consuming event for which a trigger-based long-running workflow waits must return a VC:Task
object. For example, the startVM action to start a virtual machine returns a VC:Task object, so that subsequent
elements in a workflow can monitor its progress. A trigger-based long-running workflow's trigger event
requires this VC:Task object as an input parameter.
You create a Trigger object in a JavaScript function in a Scriptable Task element. This Scriptable Task
element can be part of the trigger-based long-running workflow that waits for the trigger event.
Alternatively, it can be part of a different workflow that provides input parameters to the trigger-based
long-running workflow. The trigger function must implement the createEndOfTaskTrigger() method from
the Orchestrator API.
IMPORTANT You must define a timeout period for all triggers, otherwise the workflow can wait indefinitely.
Prerequisites
n
Create a workflow.
n
Open the workflow for editing in the workflow editor.
n
Add some elements to the workflow schema.
n
In the workflow, declare a VC:Task object as an attribute or input parameter, such as a VC:Task object
from a workflow or workflow element that starts or clones a virtual machine.
Procedure
1 Drag a Scriptable Task element from the Generic menu into the schema of a workflow.
One of the elements that precedes the Scriptable Task must generate a VC:Task object as its output
parameter.
2
Click the Edit icon ( ) of the Scriptable task element in the workflow schema.
3 Provide a name and description for the trigger in Info properties tab.
4 Click the IN properties tab.
5
Click the Bind to workflow parameter/attribute icon ( ).
The input parameter selection dialog box opens.
6 Select or create an input parameter of the type VC:Task.
This VC:Task object represents the time-consuming event that another workflow or element launches.
7 (Optional) Select or create an input parameter of the Number type to define a timeout period in
seconds.
8 Click the OUT properties tab.
9
Click the Bind to workflow parameter/attribute icon (
).
The output parameter selection dialog box opens.
Developing with VMware vCenter Orchestrator
66 VMware, Inc.