È possibile inserire un elemento foreach nel workflow che si sta sviluppando per eseguire un workflow secondario che esegua iterazioni in array di parametri o variabili. Per migliorare la comprensione e la leggibilità del workflow, è possibile raggruppare vari parametri di workflow di tipi diversi che sono connessi in modo logico in un singolo tipo chiamato tipo composito.

Utilizzo di elementi foreach

Un elemento foreach esegue iterativamente un workflow secondario in un array di parametri di input o variabili. È possibile selezionare gli array in cui viene eseguito il workflow secondario e passare i valori per gli elementi di tale array quando si esegue il workflow. Il workflow secondario viene eseguito tante volte quanti sono gli elementi definiti nell'array.

Se si dispone di un elemento di configurazione che contiene un array di variabili, è possibile eseguire un workflow che esegua iterazioni in queste variabili in un elemento foreach.

Ad esempio, si supponga che siano presenti 10 macchine virtuali in una cartella che si desidera rinominare. A tale scopo, è necessario inserire un elemento foreach in un workflow e definire il workflow Rinomina macchina virtuale come workflow secondario nell'elemento. Il workflow Rinomina macchina virtuale accetta due parametri di input, ovvero una macchina virtuale e il suo nuovo nome. Questi parametri possono essere promossi come input del workflow corrente e di conseguenza diventano array in cui viene eseguita l'iterazione del workflow Rinomina macchina virtuale. Quando si esegue il workflow, è possibile specificare le 10 macchine virtuali nella cartella e i loro nuovi nomi. Ogni volta che il workflow viene eseguito, acquisisce un elemento dall'array delle macchine virtuali e un elemento dall'array dei nuovi nomi per le macchine virtuali.

Utilizzo dei tipi compositi

Un tipo composito è un gruppo di più parametri di input o variabili che sono connessi in modo logico, ma sono di tipi diversi. In un elemento foreach, è possibile associare un gruppo di parametri come valore composito. In questo modo, l'elemento foreach acquisisce contemporaneamente tutti i valori per i parametri raggruppati in ogni esecuzione successiva del workflow.

Ad esempio, si supponga di dover rinominare una macchina virtuale. È necessario l'oggetto macchina virtuale e il suo nuovo nome. Se si devono rinominare più macchine virtuali, sono necessari due array, uno per le macchine virtuali e uno per i loro nomi. Questi due array non sono esplicitamente connessi. Un tipo composito consente di disporre di un array in cui ogni elemento contiene la macchina virtuale e il suo nuovo nome. In questo modo, la connessione tra questi due parametri nel caso in cui ci siano più valori è specificata esplicitamente e non implicita nello schema del workflow.

Nota: Non è possibile eseguire un workflow che contenga tipi compositi da vSphere Web Client.