I have a workflow that asks users for 4 input parameters (string arrays) during runtime. The parameters are predefined and selected from a drop down. The predefined values are prepared by a nested workflow, that runs shortly before it in the sequence.
Now I want to use the main workflow in vRA and for a better user experience the user interaction has to be loaded first, not during runtime. For this I have to feed the predefined values using an action. Since I do not want to build 4 separate actions to prepare the 4 values, I wanted to see if it is possible to use a composite type parameter (consisting of 4 x string arrays) as the return value of the action and then somehow "split" it when selecting the predefined value in the UI. Basically, the first UI input would have inputParams.param1 (first string array) as predefined answer, the second intput inputParams.param2 etc, with inputParams being the composite type return value of the action.
Is a solution like this possible?
What I have already tried is, to create a new input paramter which would take the composite type return value from the action, set the property to "hidden" and then try to bind the rest of the input parameters to it, but even when I set the input value to array\string, the composite type values are not recognized.
Edit: Nevermind, found the error. I've cross-checked with another ismilar workflow I worked on a long time ago and noticed, that the return parameter names in the action have to be the same as the names in the composite type, otherwise the value will be null. Also, choosing one of the composite type parameters in the UI works, but has to be done manually:
- first create an input parameter of type composite type and assign an action to it as "default value"
- then create other input parameters, where the type equals the type of the component type parameters. So in my case, where the comp type includes string arrays, the new input parameter is a string array and the value is mapped as predefined answer to #inputParams.param1.