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.

Before you attempt to develop this complex workflow, follow the exercises in Develop a Simple Example Workflow. 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.

1

You must begin the workflow development process by creating the workflow in the Orchestrator client.

2

The Check VM scriptable element calls on an action that does not exist in the Orchestrator API. You must create the getVMDiskModes action.

3

You can create a workflow's schema in the workflow editor. The workflow schema contains the elements that the workflow runs, and determines the logical flow of the workflow.

4

Optionally, you can highlight different zones of the workflow by adding workflow notes. Creating different workflow zones helps to make complicated workflow schema easier to read and understand.

5

You define workflow parameters in the workflow editor. The input parameters provide data for the workflow to process. The output parameters are the data the workflow returns when it completes its run.

6

You can bind a workflow's elements together in the workflow editor. Bindings define the data flow of the workflow. You also bind the scriptable task elements to their JavaScript functions.

7

You set the attribute properties in the General tab in the workflow editor.

8

You create the layout, or presentation, of the input parameters dialog box in the Presentation tab of the workflow editor. The input parameters dialog box opens when users run a workflow, and is the means by which users enter the input parameters with which the workflow runs.

9

After you create a workflow, you can validate it to detect any possible errors. If the workflow contains no errors, you can run it.