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

Before you begin

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

About this task

For more detail about creating actions, see Developing Actions.

Procedure

  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. Increment the version number in the General tab in the actions editor by clicking the version digits.
  8. 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
  9. Click the Scripting tab.
  10. Right-click in the top pane of the Scripting tab and select Add Parameter to create the following input parameter.
    • Name: vm

    • Type: VC:VirtualMachine

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

  11. 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;
  12. Click Save and Close to exit the Actions palette.

Results

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

What to do next

Create the workflow's schema.