您可以在开发的工作流中插入 Foreach 元素以运行对参数或属性数组进行迭代的子工作流。为改进工作流的理解性和可读性,您可以将类型不同但在逻辑上相连的多个工作流参数编入单个类型(即复合类型)。

使用 Foreach 元素

Foreach 元素会对输入参数或属性数组迭代运行子工作流。您可以选择要对其运行子工作流的数组,并可在运行工作流时传递此类数组的元素值。子工作流的运行次数可与您在数组中定义的元素数量一样多。

如果您拥有包含属性数组的配置元素,可以运行工作流,在 Foreach 元素中对这些属性进行迭代。

例如,假设您想要重命名文件夹中的 10 台虚拟机。为此,您必须在工作流中插入 Foreach 元素并将重命名虚拟机工作流定义为元素中的子工作流。重命名虚拟机工作流会采用两个输入参数,即虚拟机及其新名称。您可以将这些参数升级为当前工作流的输入参数,这样它们就会成为重命名虚拟机工作流要迭代的数组。运行工作流时,您可以在文件夹中指定 10 台虚拟机及其新名称。每次工作流运行时,都会从虚拟机数组中选取一个元素并从虚拟机的新名称数组中选取一个元素。

使用复合类型

复合类型是一组类型不同但逻辑上相连的输入参数或属性。在 Foreach 元素中,您可以将一组参数绑定为复合值。这样,Foreach 元素就会在工作流每次后续运行时一次性采用分组的参数值。

例如,假设您要重命名一台虚拟机。您需要虚拟机对象及其新名称。如果要重命名多台虚拟机,则您需要两个数组,一个是虚拟机数组,另一个是虚拟机名称数组。这两个数组不会显式连接。复合类型可让您拥有一个数组,其中每个元素都同时包含虚拟机及其新名称。这样,如果有多个值,那么这两个参数之间的连接是显式指定,而不是由工作流架构暗示。

注:

如果工作流包含 vSphere Web Client 中的复合类型,则您无法运行该工作流。