Table of ContentsView in Frames

How you define user input

OnCommand Workflow Automation (WFA) user inputs are the data input options available during the execution of workflows. You must create user input parameters for your workflows to enhance the flexibility and usability of your workflows.

User inputs are shown as input fields, which can be filled with relevant data when previewing or executing workflows. You can create a user input field when specifying command details in a workflow by prefixing a label or variable with the dollar sign ($)—for example, $VolumeName creates a Volume Name user input field. WFA automatically populates the User Inputs tab in the Workflow <workflow name> window with the user input labels you have created. You can further define the type of the user input and customize the input fields by modifying the user input attributes such as type, display name, default values, and validation values.

User input type options

String
You can use a regular expression for valid values—for example, a*.
Number
You can define a numerical range that can be selected—for example, 1-15.
Enum
You can create enumeration values that can be selected when filling the user input using the enum type. You can optionally lock the enum values you have created to ensure only the values you have created are selected for user inputs.
Query
You can select the query type when you want the user input to be selected from the values available in the WFA cache; for example, you can use the following query to automatically populate the user input fields with the IP address and name values from the WFA cache: SELECT ip, name FROM storage.array. You can optionally lock the values retrieved by a query so that only the results retried by the query can be selected.
Query (Multi-select)
The query (multi-select) type is similar to the query type, but provides multiple values for selection during the execution of the workflow; for example, users can select multiple volumes or volumes with their shares and exports. However, you can allow the operators to select multiple rows or restrict the operators to select a single row. Selecting a row selects the values from all the columns of the selected row.

You can use the following functions when using the query (multi-select) type of user input:

  • getSize
  • getValueAt
  • getValueAt2D
  • getValueFrom2DByRowKey
Boolean
You can use the Boolean type to display a check box in the user input dialog box. You must use the Boolean type for user input that includes "true" and "false" as values.
Table
You can use the table user input type to specify the column headers of a table that can be used to enter multiple values during the execution of the workflow—for example, a table that can be used to specify a list of node names and port names. You can also specify one of the following user input type for the column headers to validate the values entered during run time:
  • String
  • Number
  • Enum
  • Boolean
  • Query

String is the default user input type for the column headers. You must double-click the Type column to specify a different user input type.

You can open the Create SnapMirror policy and rules workflow in the designer to see how the user input types are used in the "SnapMirroPolicyRule" user input.

You can use the following functions when using the table type of user input:

  • getSize
  • getValueAt
  • getValueAt2D
  • getValueFrom2DByRowKey

You can open the Create and configure a Storage Virtual Machine with Infinite Volume workflow in the designer to see how the table type is used.

Password
You can use the password type for user inputs that are meant for entering passwords. The password entered by the user is encrypted and displayed as a sequence of asterisk characters across the WFA application and in the log files. You can use the following functions to decrypt the password, which can then be used by the command:
  • For Perl commands: WFAUtil::getWfaInputPassword ($password)
  • For PowerShell commands: Get-WfaInputPassword -EncryptedPassword $password

    Here, $password is the encrypted password that is passed by WFA to the command.

The following table lists the options that you can apply to the user input types:

Option Description
Validating

You can validate the user inputs type so that only the allowed values are entered by users:

  • The string and number user input types can be validated with the values entered during the runtime of the workflow.
  • The string type can also be validated with a regular expression.
  • The number type is a numeric floating-point field and can be validated on a specified numeric range.
Locking values

You can lock the values of the query and enum types to prevent the user from overwriting the drop-down values and allow selection of only the displayed values.

Marking as mandatory

You can mark user inputs as mandatory such that the users must enter certain user inputs to continue with the execution of the workflow.

Grouping

You can group related user inputs and provide a name for the user input group. The groups can be expanded and collapsed in the user input dialog box. You can select a group to be expanded by default.

Applying conditions

The conditional user input capability enables you to set the value of a user input based on the value entered for another user input. For example, in a workflow that configures the NAS protocol, you can specify the required user input for protocol as NFS to enable the "Read/Write host lists" user input.