5.1
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
- Running Workflows
- 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 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
Scheduled workflows only run once. You can schedule a workflow to run
recurrently by calling the Workflow.scheduleRecurrently method in a
scriptable task element in a synchronous workflow.
Nested Workflows
A workflow can start several workflows simultaneously by nesting several
workflows in a single schema element. All the workflows listed in the nested
workflow element start simultaneously when the calling workflow arrives at
the nested workflows element in its schema. Significantly, each nested
workflow starts in a different memory space from the memory space of the
calling workflow. The calling workflow waits until all the nested workflows
have completed their runs before it starts running the next element in its
schema. The calling workflow can thus use the results of the nested workflows
as input parameters when it runs its remaining elements.
Propagate Workflow Changes to other Workflows
If you call a workflow from another workflow, Orchestrator imports the input parameters of the child workflow
in the parent workflow at the moment you add the workflow element to the schema.
If you modify the child workflow after you have added it to another workflow, the parent workflow calls on
the new version of the child workflow, but does not import any new input parameters. To prevent changes to
workflows affecting the behavior of other workflows that call them, Orchestrator does not propagate the new
input parameters automatically to the calling workflows.
To propagate parameters from one workflow to other workflows that call it, you must find the workflows that
call the workflow, and synchronize the workflows manually.
Prerequisites
Verify that you have a workflow that another workflow or workflows call.
Procedure
1 Modify and save a workflow that other workflows call.
2 Close the workflow editor.
3 Navigate to the workflow you changed in the hierarchical list in the Workflows view in the Orchestrator
client.
4 Right-click the workflow, and select References > Find Elements that Use this Element.
A list of workflows that call this workflow appears.
5 Double-click a workflow in the list to highlight it in the Workflows view in the Orchestrator client.
6 Right-click the workflow, and select Edit.
The workflow editor opens.
7 Click the Schema tab in the workflow editor.
8 Right-click the workflow element for the changed workflow from the workflow schema and select
Synchronize > Synchronize Parameters.
9 Select Continue in the confirmation dialog box.
10 Save and close the workflow editor.
11 Repeat Step 5 to Step 10 for all the workflows that use the modified workflow.
You propagated a changed workflow to other workflows that call it.
Chapter 1 Developing Workflows
VMware, Inc. 55