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

For more detail about creating actions, see Developing Actions.

Create the Take a Snapshot of All Virtual Machines in a Resource Pool workflow. See Create the Complex Workflow Example.

1

Close the workflow editor by clicking Save and Close.

2

Click the Actions view in the Orchestrator client.

3

Right-click the root of the actions hierarchical list and select New Module.

4

Name the new module com.vmware.example.

5

Right-click the com.vmware.example module and select Add Action.

6

Create an action called getVMDiskModes.

7

Right-click getVMDiskModes and select Edit.

8

Increment the version number in the General tab in the actions editor by clicking the version digits.

9

Add the following description of the action in the General tab.

This action returns an array containing the disk modes of all disks on a VM.
The elements in the array each have one of the following string values:
- persistent
- independent-persistent
- nonpersistent
- independent-nonpersistent
Legacy values:
- undoable
- append
10

Click the Scripting tab.

11

Right-click in the top pane of the Scripting tab and select Add Parameter to create the following input parameter.

Name: vm

Value: VC:VirtualMachine

Description: The virtual machine for which to return the Disk Modes

12

Add the following scripting in the bottom of the Scripting tab.

The following code returns an array of disk modes for the disks of the virtual machine.

var devicesArray = vm.config.hardware.device;
var retArray = new Array();
if (devicesArray!=null && devicesArray.length!=0) {
	for (i in devicesArray) {
		if (devicesArray[i] instanceof VcVirtualDisk) {
			retArray.push(devicesArray[i].backing.diskMode);
		}
	}
}
return retArray;
13

Click Save and Close to exit the Actions palette.

You have defined the custom action the Take a Snapshot of All Virtual Machines in a Resource Pool workflow requires.

Create the workflow's schema.