5.5.1
Table Of Contents
- Developing with VMware vCenter Orchestrator
- Contents
- Developing with VMware vCenter Orchestrator
- Developing Workflows
- Key Concepts of Workflows
- Phases in the Workflow Development Process
- Access Rights for the Orchestrator Client
- Testing Workflows During Development
- Creating and Editing a Workflow
- Provide General Workflow Information
- Defining Attributes and Parameters
- Workflow Schema
- Obtaining Input Parameters from Users When a Workflow Starts
- Requesting User Interactions While a Workflow Runs
- Add a User Interaction to a Workflow
- Set the User Interaction security.group Attribute
- Set the timeout.date Attribute to an Absolute Date
- Calculate a Relative Timeout for User Interactions
- Set the timeout.date Attribute to a Relative Date
- Define the External Inputs for a User Interaction
- Define User Interaction Exception Behavior
- Create the Input Parameters Dialog Box for the User Interaction
- Respond to a Request for a User Interaction
- Calling Workflows Within Workflows
- Running a Workflow on a Selection of Objects
- Developing Long-Running Workflows
- Configuration Elements
- Workflow User Permissions
- Validating Workflows
- Debugging Workflows
- Running Workflows
- Resuming a Failed Workflow Run
- Generate Workflow Documentation
- Use Workflow Version History
- Restore Deleted Workflows
- Develop a Simple Example Workflow
- Create the Simple Workflow Example
- Create the Schema of the Simple Workflow Example
- Create the Simple Workflow Example Zones
- Define the Parameters of the Simple Workflow Example
- Define the Simple Workflow Example Decision Bindings
- Bind the Action Elements of the Simple Workflow Example
- Bind the Simple Workflow Example Scripted Task Elements
- Define the Simple Workflow Example Exception Bindings
- Set the Read-Write Properties for Attributes of the Simple Workflow Example
- Set the Simple Workflow Example Parameter Properties
- Set the Layout of the Simple Workflow Example Input Parameters Dialog Box
- Validate and Run the Simple Workflow Example
- Develop a Complex Workflow
- Create the Complex Workflow Example
- Create a Custom Action for the Complex Workflow Example
- Create the Schema of the Complex Workflow Example
- Create the Complex Workflow Example Zones
- Define the Parameters of the Complex Workflow Example
- Define the Bindings for the Complex Workflow Example
- Set the Complex Workflow Example Attribute Properties
- Create the Layout of the Complex Workflow Example Input Parameters
- Validate and Run the Complex Workflow Example
- Scripting
- Orchestrator Elements that Require Scripting
- Limitations of the Mozilla Rhino Implementation in Orchestrator
- Using the Orchestrator Scripting API
- Access the Scripting Engine from the Workflow Editor
- Access the Scripting Engine from the Action or Policy Editor
- Access the Orchestrator API Explorer
- Use the Orchestrator API Explorer to Find Objects
- Writing Scripts
- Add Parameters to Scripts
- Accessing the Orchestrator Server File System from JavaScript and Workflows
- Accessing Java Classes from JavaScript
- Accessing Operating System Commands from JavaScript
- Exception Handling Guidelines
- Orchestrator JavaScript Examples
- Developing Actions
- Creating Resource Elements
- Creating Packages
- Creating Plug-Ins by Using Maven
- Index
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.