4.2.1
Table Of Contents
- Developing with VMware vCenter Orchestrator
- Contents
- Developing with VMware vCenter Orchestrator
- Developing Workflows
- Principal Phases in the Workflow Development Process
- Accessing the Orchestrator Client
- Testing Workflows During Development
- Workflow Editor
- 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
- Running Workflows
- Develop a Simple Example Workflow
- Create the Simple Workflow Example
- Define the Simple Workflow Example Parameters
- Create the Simple Workflow Example Schema
- Link the Simple Workflow Example Elements
- Create Workflow Zones
- Define the Simple Workflow Example Decision Bindings
- Bind the Simple Workflow Example Action Elements
- Bind the Simple Workflow Example Scripted Task Elements
- Define the Simple Example Workflow Exception Bindings
- Set the Simple Workflow Example Attribute Read-Write Properties
- 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
- Define the Complex Workflow Example Input Parameters
- Create a Custom Action For the Complex Workflow Example
- Create the Complex Workflow Example Schema
- Link the Complex Workflow Example Schema Elements
- Create the Complex Workflow Example Zones
- Define the Complex Workflow Example Bindings
- 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 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
9 Click the workflow token to follow the progress of the workflow as it runs.
If the workflow ran successfully, the virtual machine you identified is in the powered-on state, and the email
recipient you defined receives a confirmation email.
Develop a Complex Workflow
Developing a complex example workflow demonstrates the most common steps in the workflow development
process and more advanced scenarios, such as creating custom decisions and loops.
In the complex workflow exercise, you develop a workflow that takes a snapshot of all the virtual machines
contained in a given resource pool. The workflow you create will perform the following tasks:
1 Prompts the user for a resource pool that contains the virtual machines of which to take snapshots.
2 Determines whether the resource pool contains running virtual machines.
3 Determines how many running virtual machines the resource contains.
4 Verifies whether an individual virtual machine running in the pool meets specific criteria for a snapshot
to be taken.
5 Takes the snapshot of the virtual machine.
6 Determines whether more virtual machines exist in the pool of which to take snapshots.
7 Repeats the verification and snapshot process until the workflow has taken snapshots of all eligible virtual
machines in the resource pool.
The ZIP file of Orchestrator examples that you can download from the landing page of the Orchestrator
documentation contains a completed version of the Take a Snapshot of All Virtual Machines in a Resource Pool
workflow.
Prerequisites
Before you attempt to develop this complex workflow, follow the exercises in “Develop a Simple Example
Workflow,” on page 65. The procedures to develop a complex workflow provide the broad steps of the
development process, but are not as detailed as the simple workflow exercises.
Procedure
1 Create the Complex Workflow on page 87
The first step in the workflow development process is to create the workflow in the Orchestrator client.
2 Define the Complex Workflow Example Input Parameters on page 88
You define workflow input parameters in the workflow editor. The input parameters provide data for
the workflow to process.
3 Create a Custom Action For the Complex Workflow Example on page 88
The Check VM scriptable element calls on an actions that does not exist in the Orchestrator API. You
must create the getVMDiskModes action.
4 Create the Complex Workflow Example Schema on page 89
You create a workflow's schema in the Schema tab of the workflow editor. The workflow schema contains
the elements that the workflow runs.
5 Link the Complex Workflow Example Schema Elements on page 90
You link a workflow's elements together in the Schema tab of the workflow editor. The linking defines
the logical flow the workflow.
Developing with VMware vCenter Orchestrator
86 VMware, Inc.