创建自定义表单时,可以添加可供用户从搜索结果列表中选择值的元素。用户通过使用值选择器选择单个值。使用多值选择器,用户选择一个或多个值。
值选择器和多值选择器与在自定义表单“外观”选项卡上定义的“引用类型”配合使用。引用类型为 VMware Aria Automation Orchestrator 资源。例如,AD:UserGroup 或 VC:Datastore。通过定义引用类型,当用户输入搜索字符串时,结果仅限于具有匹配参数的资源。
对于选择器,可以通过配置外部源再进一步限制可能的值。
使用值选择器
当用户请求目录中的项目时,值选择器会在表单中显示为搜索选项。用户输入字符串后,该选择器会基于对其所做的配置提供列表。
您可以基于以下用例使用选择器。值选择器最有价值的应用是与外部源值搭配使用。
- 值选择器与常数值源。
如果您希望请求用户从预定义的静态值列表中选择,请使用此方法。与组合框、下拉菜单、多选和单选组元素类似,此方法基于定义的常数值和标签在列表中提供搜索结果。
- 值选择器没有定义的值源。
如果您希望请求用户在 VMware Aria Automation Orchestrator 清单中搜索具有已配置引用类型的特定对象,请使用此方法。例如,引用类型为 VC:Datastore,您希望用户从检索到的列表中选择数据存储。
- 值选择器与外部值源。
如果您希望请求用户从基于 VMware Aria Automation Orchestrator 操作的结果中选择,请使用此方法。以下脚本提供了一个使用值选择器的基本 VMware Aria Automation Orchestrator 操作示例。在在本例中,引用类型为“属性”。
var res = []; res.push(new Properties({label: 'label1',value: 'value1'})); res.push(new Properties({label: 'label2',value: 'value2'})); res.push(new Properties({label: 'label3',value: 'value3'})); return res;
注: “属性”输入不可以是工作流的输入,只能是自定义表单中的中间值。
使用多值选择器
多值选择器在请求表单中显示为搜索选项,类似于值选择器,但可以在其中选择一个或多个值。用户输入字符串后,该选择器会基于对元素属性所做的配置提供列表。
除了针对值选择器所述的用例之外,还可以基于以下用例使用多值选择器。多值选择器最有价值的应用是与引用数据类型和 VMware Aria Automation Orchestrator 引用搭配使用。
- 多值选择器与复合数据类型和常量值源。
如果您希望请求用户从预定义的静态值列表中选择一个或多个值,请使用此方法。与数据网格类似,此方法在基于定义的常量值和标签的列表中提供搜索结果。
- 多值选择器与复合数据类型和外部源。
如果您希望请求用户从基于 VMware Aria Automation Orchestrator 操作的值列表中选择一个或多个值,请使用此方法。可以将此方法与 VMware Aria Automation Orchestrator 复合类型配合使用。
- 多值选择器与引用数据类型和 VMware Aria Automation Orchestrator 引用类型。如果您希望请求用户在 VMware Aria Automation Orchestrator 清单中搜索具有已配置引用类型的特定对象,请使用此方法。例如,引用类型为 VC:Datastore,您希望用户从检索到的列表中选择数据存储。或者,如果配置了工作流筛选器,可以使用工作流作为引用。要检索筛选器,筛选器必须返回属性数组中的值,而不是字符串数组。下一部分提供了工作流筛选器示例。在此示例中,当用户输入搜索词时,筛选在 UI 中完成。
- 多值选择器与引用数据类型、VMware Aria Automation Orchestrator 引用类型和外部源。
如果您希望请求用户从先按引用类型筛选再基于 VMware Aria Automation Orchestrator 操作的结果中选择,请使用此方法。这种组合更为彻底地细化结果并更快地填充请求表单。正如引用类型结果必须返回属性数组一样,外部源操作也必须返回属性数组。在此示例中,筛选在 VMware Aria Automation Orchestrator 中完成,可能会提高列表的填充速度,特别是具有大量 VMware Aria Automation Orchestrator 操作时。
限制多值选择器元素结果列表的 VMware Aria Automation Orchestrator 结果
要限制用户搜索操作时返回的操作数量,可以创建筛选器操作并将筛选器结果绑定到搜索词。
- 在 VMware Aria Automation Orchestrator 中,创建名为 filterWorkflow 的操作。
- 选择新建操作。 ,然后单击
- 在常规选项卡上,输入或选择以下值。
选项 值 名称 filterWorkflow 模块 com.vmware.library.workflow - 单击脚本选项卡,然后添加以下脚本。
var workflows = System.getModule("com.vmware.library.workflow").getAllWorkflows(); var result = []; for(var i = 0; i < workflows.length; i++) { if(workflows[i].name.indexOf(searchTerm) !== -1) { result.push(workflows[i]); } } return result;
- 配置以下属性。
属性选项 值 返回类型 输入 Workflow 并选中数组。 可以在运行搜索时使用任何返回的类型。在自定义表单中选择的引用类型必须与其匹配。
对于此过程,继续使用工作流。
输入 输入 searchTerm。 请注意,输入 searchTerm 与脚本中使用的字符串相匹配。
- 单击创建。
- 在 Automation Service Broker 的自定义表单设计器中配置多值选择器属性。
- 在 Automation Service Broker 中,选择 ,然后单击要修改的模板左侧的垂直点,并单击自定义表单。
- 在设计画布中添加或选择多值选择器元素。
- 在“属性”窗格中,单击外观并配置以下值。
属性 值 数据类型 参考 引用类型 输入 Workflow。 请注意,此值是在 VMware Aria Automation Orchestrator 中为 filterWorkflow 操作选择的返回类型,必须是数组。
显示类型 多值选择器 - 单击值选项卡,然后配置以下值。
属性 值 值选项 > 值源 外部源 选择操作 选择筛选器操作。在此示例中,选择 filterWorkflows。 操作输入 searchTerm 选择 Field 和 Search term。
- 通过请求目录项测试筛选器。
您必须确保筛选器在多值选择器列表中返回预期值,并且目录项正确部署。