4.2
Table Of Contents
- Developing with VMware vCenter Orchestrator
- Contents
- Developing with VMware vCenter Orchestrator
- Updated Information
- 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
<person id="2">
<name>Larry</name>
</person>
</people>;
System.log("'people' = " + people);
// built-in XML type
System.log("'people' is of type : " + typeof(people));
// list-like interface System.log("which contains a list of " +
people.person.length() + " persons");
System.log("whose first element is : " + people.person[0]);
// attribute 'id' is mapped to field '@id'
people.person[0].@id='47';
// change Moe's id to 47
// also supports search by constraints
System.log("Moe's id is now : " + people.person.(name=='Moe').@id);
// suppress Moe from the list
delete people.person[0];
System.log("Moe is now removed.");
// new (sub-)document can be built from a string
people.person[1] = new XML("<person id=\"3\"><name>James</name></person>");
System.log("Added James to the list, which is now :");
for each(var person in people..person)
for each(var person in people..person){
System.log("- " + person.name + " (id=" + person.@id + ")");
}
Setting and Obtaining Properties from a Hashtable
The following JavaScript example sets properties in a hashtable and obtains the properties from the hashtable.
In the following example, the key is always a String and the value is an object, a number, a Boolean, or a String.
var table = new Properties() ;
table.put("myKey",new Date()) ;
// get the object back
var myDate= table.get("myKey") ;
System.log("Date is : "+myDate) ;
Replace the Contents of a String
The following JavaScript example replaces the content of a String and replaces it with new content.
var str1 = "'hello'" ;
var reg = new RegExp("(')", "g");
var str2 = str1.replace(reg,"\\'") ;
System.log(""+str2) ; // result : \'hello\'
Developing with VMware vCenter Orchestrator
114 VMware, Inc.