When you create a custom form, you can add elements where the user selects a value from a search results list.

The value picker works with the Reference Type that is defined on the custom form Appearance tab. The Reference type is a vRealize Orchestrator resource. For example, AD:UserGroup or VC:Datastore. By defining the reference type, when the user enters a search string, the results or tree options are limited to or the resources that have the matching parameter.

For the value picker, you can then further limit the possible values by configuring an external source. For the tree picker, you can provide a default value by configuring an external source.

Working with the Value Picker

The value picker appears in the form as a search option when users request the item in the catalog. The user enters a string and the picker provides options based on how you configured it. You can use the picker based on the following use cases. The most valuable use of the value picker is pairing it with an external source value.

  • Value picker with a constant value source. Use this method when you want to the requesting user to select from a predefined static list of values. Similar to the combobox, drop down, multiselect, and radio group elements, this method provides search results in a list based on the defined constant values and labels.
  • Value picker with no defined value source. Use this method when you want the requesting user to search the vRealize Orchestrator inventory for a specific object with the configured reference type. For example, the reference type is VC:Datastore and you want the users to select the datastore from the retrieved list.
  • Value picker with an external value source. Use this method when you want the requesting user to select from results that are based on a vRealize Orchestrator action. For a value picker external source the action must return an properties array, not a sting array. The following script provides a example of a basic vRealize Orchestrator action that works with the value picker.
    var res = [];
    res.push(new Properties({label: 'lab1'}));
    res.push(new Properties({label: 'lab2'}));
    res.push(new Properties({label: 'lab3'}));
    return res;