5.5
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
- Index
Table 1‑6. Predefined OGNL Constant Values
Constant Value Description
${#__current}
Current value of the custom validation property or
matching expression property
${#__username}
User name of the user who started the workflow
${#__userdisplayname}
Display name of the user who started the workflow
${#__serverurl}
URL containing the IP address of the server from which the
user starts the workflow. The URL consists of the server IP
address and a lookup port:
{ServerIP}:{lookupPort}
${#__datetime}
Current date and time
${#__date}
Current date, with time set to 00:00:00
${#__timezone}
Current timezone
(Optional) Requesting User Interactions While a Workflow Runs
A workflow can sometimes require additional input parameters from an outside source while it runs. These
input parameters can come from another application or workflow, or the user can provide them directly.
For example, if a certain event occurs while a workflow runs, the workflow can request human interaction
to decide what course of action to take. The workflow waits before continuing, either until the user responds
to the request for information, or until the waiting time exceeds a possible timeout period. If the waiting
time exceeds the timeout period, the workflow returns an exception.
The default attributes for user interactions are security.group and timeout.date. When you set the
security.group attribute to a given LDAP user group, you limit the permission to respond to the user
interaction request to members of that user group.
When you set the timeout.date attribute, you set a time and date until which the workflow waits for the
information from the user. You can set an absolute date, or you can create a scripted workflow element to
calculate a time relative to the current time.
Procedure
1 Add a User Interaction to a Workflow on page 47
You request input parameters from users during a workflow run by adding a User Interaction schema
element to the workflow. When a workflow encounters a User Interaction element, it suspends its run
and waits for the user to provide the data that it requires.
2 Set the User Interaction security.group Attribute on page 47
The security.group attribute of a user interaction element sets which users or groups of users have
permission to respond to the user interaction.
3 Set the timeout.date Attribute to an Absolute Date on page 48
You set the timeout.date attribute for a user interaction to set how long the workflow waits for a user
to respond to a user interaction.
4 Calculate a Relative Timeout for User Interactions on page 49
You can calculate in a Date object a relative time and date at which a user interaction times out.
5 Set the timeout.date Attribute to a Relative Date on page 50
You can set the timeout.date attribute of a User Interaction element to a relative time and date by
binding it to a Date object. You define the object in a scripted function.
Developing with VMware vCenter Orchestrator
46 VMware, Inc.