Mithilfe von „Workflows nacheinander starten“ und „Workflows parallel starten“ kann ein Workflow für mehrere ausgewählte Objekte ausgeführt werden.

Vorbereitungen

Öffnen Sie einen Workflow zur Bearbeitung im Workfloweditor.

Warum und wann dieser Vorgang ausgeführt wird

Die beiden Workflows „Workflows nacheinander starten“ und „Workflows parallel starten“ können nicht direkt ausgeführt werden. Stattdessen müssen sie in einen anderen Workflow eingeschlossen werden. Zur Anwendung von „Workflows nacheinander starten“ und „Workflows parallel starten“ auf mehrere ausgewählte Objekte müssen Sie die Objekte abrufen, für die der jeweilige Workflow ausgeführt werden soll. Diese Objekte und alle anderen Eingabeparameter, die der Workflow erfordert, müssen als Eigenschaften-Array übergeben werden. Bei „Workflows nacheinander starten“ und „Workflows parallel starten“ werden die ausgewählten Objekte als Array von WorkflowToken-Objekten ausgeführt.

Nacheinander und parallel gestartete Workflows werden auf dieselbe Art und Weise implementiert. Bei „Workflows nacheinander starten“ werden die Workflows für alle Objekte nacheinander ausgeführt. Bei „Workflows parallel starten“ werden die Workflows für alle Objekte gleichzeitig ausgeführt.

Prozedur

  1. Fügen Sie dem Workflowschema ein Skriptaufgabenelement oder eine Skriptaktion hinzu, um eine Liste der Objekte zu erhalten, für die der Workflow ausgeführt werden soll.

    Wenn die Ausführung zum Beispiel für alle virtuellen Maschinen in einem entsprechenden Ordner erfolgen soll, fügen Sie dem Workflow die Aktion getAllVirtualMachinesByFolder hinzu.

  2. Verknüpfen Sie das Skriptelement oder die Skriptaktion und binden Sie das Element oder die Aktion an Workfloweingaben oder -attribute.

    Binden Sie beispielsweise die vmFolder-Eingabe der Aktion getAllVirtualMachinesByFolder an einen Workflow-Eingabeparameter und die actionResult-Ausgabe an ein Workflowattribut im aufrufenden Workflow.

  3. Fügen Sie ein Skriptaufgabenelement hinzu, um die Liste der Objekte in ein Eigenschaften-Array umzuwandeln.

    Wenn es sich bei den Objekten, für die der Workflow ausgeführt werden soll, beispielsweise um ein Array von virtuellen Maschinen handelt (allVMs), das die actionResult-Ausgabe der Aktion getAllVirtualMachinesByFolder zurückgegeben hat, können die Objekte mithilfe des folgenden Skripts in ein Eigenschaften-Array umgewandelt werden.

    propsArray = new Array();
    
    for each (var vm in allVMs) {
     var prop = new Properties();
     prop.put("vm", vm);
     propsArray.push(prop);
    }
  4. Binden Sie die Ein- und Ausgabeattribute des Skriptaufgabenelements an Workflowattribute.

    Beim Skriptaufgabenelement in 3 binden Sie beispielsweise das Eingabeattribut an das Array von virtuellen Maschinen (allVMs) und erstellen das Ausgabeattribut propsArray als Array von Properties-Objekten.

  5. Fügen Sie dem Workflowschema ein Workflowelement hinzu.
  6. Wählen Sie entweder „Workflows nacheinander starten“ oder „Workflows parallel starten“ aus und verknüpfen Sie das Workflowelement mit den anderen Elementen.
  7. Binden Sie die wf-Eingabe des aufeinander folgenden oder parallelen Workflows an den Workflow, der für die Objekte ausgeführt werden soll.

    Wählen Sie beispielsweise zum Entfernen von Snapshots von allen virtuellen Maschinen, die von der Aktion getAllVirtualMachinesByFolder zurückgegeben wurden, den Workflow „Alle Snapshots entfernen“ aus.

  8. Binden Sie die parameters-Eingabe des aufeinander folgenden oder parallelen Workflows an das Array von Properties-Objekten, für die der Workflow ausgeführt werden soll.

    Binden Sie beispielsweise die parameters-Eingabe an das propsArray-Attribut, das Sie in 4 definiert haben.

  9. (Optional) : Binden Sie die workflowTokens-Ausgabe des aufeinander folgenden oder parallelen Workflows an ein Attribut des Workflows.
  10. (Optional) : Fügen Sie weitere Elemente hinzu, die die Ergebnisse des Workflows „Workflows nacheinander starten“ oder „Workflows parallel starten“ nutzen.

Ergebnisse

Sie haben einen Workflow erstellt, bei dem der Workflow „Workflows nacheinander starten“ oder „Workflows parallel starten“ für eine Auswahl von Objekten ausgeführt wird.