Les liaisons définissent la manière dont les éléments d'action de l'exemple de workflow simple traitent les paramètres d'entrée et de sortie.

Le workflow Créer des snapshots de toutes les machines virtuelles dans un pool de ressources nécessite les liaisons suivantes de paramètres d'entrée et de sortie. Vous pouvez également définir les fonctions JavaScript des éléments Tâche inscriptible.

Si vous effectuez des liaisons avec des paramètres existants, la liaison hérite des valeurs de type et de description des paramètres d'origine.

Tâche inscriptible Initialisation

L'élément Tâche inscriptible Initialisation permet d'initialiser les attributs du workflow. La table suivante montre les liaisons des paramètres d'entrée et de sortie nécessaires à l'élément Tâche inscriptible Initialisation.

Tableau 1. Liaisons de l'élément Tâche inscriptible Initialisation
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
resourcePool ENTRÉE Relier
  • Paramètre local : resourcePool
  • Paramètre source : resourcePool[in-parameter]
  • Type : VC:ResourcePool
  • Description : Pool de ressources contenant les machines virtuelles devant faire l'objet de snapshots
allVMs SORTIE Créer
  • Paramètre local : allVMs
  • Paramètre source : allVMs[attribute]
  • Type : Array/VC:VirtualMachine
  • Description : Machines virtuelles présentes dans le pool de ressources.
numberOfVMs SORTIE Créer
  • Paramètre local : numberOfVMs
  • Paramètre source : numberOfVMs[attribute]
  • Type : nombre
  • Description : Nombre de machines virtuelles trouvées dans le ressourcePool
vmCounter SORTIE Créer
  • Paramètre local : vmCounter
  • Paramètre source : vmCounter[attribute]
  • Type : nombre
  • Description : Compteur de machines virtuelles dans le groupe
vm SORTIE Créer
  • Paramètre local : vm
  • Paramètre source : vm[attribute]
  • Type : VC:VirtualMachine
  • Description : Machine virtuelle active avec snapshot capturé
snapshotVmArray SORTIE Créer
  • Paramètre local : snapshotVmArray
  • Paramètre source : snapshotVmArray[attribute]
  • Type : Array/VC:VirtualMachine
  • Description : Groupe de machines virtuelles dont les snapshots ont été capturés

L'élément Tâche inscriptible Initialiser exécute la fonction en script suivante.

//Retrieve an array of virtual machines contained in the specified Resource Pool
allVMs = resourcePool.vm;
//Initialize the size of the Array and the first VM to snapshot
if (allVMs!=null && allVMs.length!=0) {
	numberOfVms = allVMs.length;
	vm = allVMs[0];
} else {
	numberOfVms = 0;
}
//Initialize the VM counter
vmCounter = 0;
//Initializing the array of VM snapshots
snapshotVmArray = new Array();

Élément Décision VM à traiter ?

L'élément Décision VM à traiter ? détermine si des machines virtuelles devant faire l'objet de snapshots se trouvent dans le pool de ressources. Le tableau suivant montre les liaisons dont l'élément Décision VM à traiter ? a besoin.

Tableau 2. Liaisons de l'élément Décision VM à traiter ?
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
numberOfVMs Décision Relier
  • Paramètre source : numberOfVMs[attribute]
  • Instruction de décision : supérieur à
  • Valeur : 0.0
  • Description : Nombre de machines virtuelles trouvées dans le ressourcePool

Élément Aucune tâche inscriptible de VM dans le pool

L'élément Aucune tâche inscriptible de VM dans le pool inscrit dans la base de données Orchestrator que le pool de ressources ne dispose pas de machine virtuelle éligible. Le tableau suivant montre les liaisons dont l'élément Aucune tâche inscriptible de VM dans le pool a besoin.

Tableau 3. Liaisons de l'élément Aucune tâche inscriptible de VM dans le pool
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
resourcePool ENTRÉE Relier
  • Paramètre local : resourcePool
  • Paramètre source : resourcePool[in-parameter]
  • Type : VC:ResourcePool
  • Description : Pool de ressources contenant les machines virtuelles pour la capture de snapshots.

L'élément Aucune tâche inscriptible de VM dans le pool exécute la fonction en script suivante.

//Writes the following event in the Orchestrator database
Server.warn("The specified ResourcePool "+resourcePool.name+" does not contain any VMs.");

Élément Décision personnalisée VM restantes ?

L'élément Décision personnalisée VM restantes ? détermine si des machines virtuelles à capturer en snapshot demeurent encore dans le pool de ressources. Le tableau suivant montre les liaisons dont l'élément Décision personnalisée VM restantes ? a besoin.

Tableau 4. Liaisons de l'élément Décision personnalisée VM restantes ?
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
numberOfVMs ENTRÉE Relier
  • Paramètre source : numberOfVMs[attribute]
  • Instruction de décision : supérieur à
  • Valeur : 0.0
  • Description : Nombre de machines virtuelles trouvées dans le ressourcePool
vmCounter ENTRÉE Relier
  • Paramètre local : vmCounter
  • Paramètre source : vmCounter[attribute]
  • Type : nombre
  • Description : Compteur de machines virtuelles dans le groupe
L'élément Décision personnalisée VM restantes ? exécute la fonction en script suivante.
//Checks if the workflow has reached the end of the array of VMs
if (vmCounter < numberOfVms) {
	return true;
} else {
	return false;
}

Élément d'action getVMDisksModes

L'élément d'action getVMDisksModes récupère les modes des disques s'exécutant dans une machine virtuelle. Le tableau suivant montre les liaisons dont l'élément d'action getVMDisksModes a besoin.

Tableau 5. Liaisons de l'élément d'action getVMDisksModes
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
vm ENTRÉE Relier
  • Paramètre local : vm
  • Paramètre source : vm[attribute]
  • Type : VC:VirtualMachine
  • Description : Machine virtuelle active avec snapshot capturé
actionResult SORTIE Créer
  • Paramètre local : actionResult
  • Paramètre source : vmDisksModes[attribute]
  • Type : Groupe/Chaîne
  • Description : Modes des disques actifs de la machine virtuelle
errorCode Exception Créer Paramètre local : errorCode

Élément Décision personnalisée Créer un snapshot ?

L'élément Décision personnalisée Créer un snapshot ? détermine s'il est nécessaire de capturer des snapshots des machines virtuelles en fonction des modes des disques des machines virtuelles. Le tableau suivant montre les liaisons dont l'élément Décision personnalisée Créer un snapshot ? a besoin.

Tableau 6. Liaisons de l'élément Décision Créer un snapshot ?
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
vmDisksMode ENTRÉE Relier
  • Paramètre local : vmDisksMode
  • Paramètre source : vmDisksMode[attribute]
  • Type : Groupe/Chaîne
  • Description : Modes des disques actifs de la machine virtuelle
vm ENTRÉE Relier
  • Paramètre local : vm
  • Paramètre source : vm[attribute]
  • Type : VC:VirtualMachine
  • Description : Machine virtuelle active avec snapshot capturé

L'élément Décision personnalisée Créer un snapshot ? exécute la fonction en script suivante.

//A snapshot cannot be taken if one of its disks is in independent mode 
// (independent-persistent or independent-nonpersistent)
var containsIndependentDisks = false;
if (vmDisksModes!=null && vmDisksModes.length>0) {
	for (i in vmDisksModes) {
		if (vmDisksModes[i].charAt(0)=="i") {
			containsIndependentDisks = true;
		}
	}
} else {
	//if no disk found no need to try to snapshot the VM
	System.warn("Won't snapshot '"+vm.name+"', no disks found");
	return false;
}
if (containsIndependentDisks) {
	System.warn("Won't snapshot '"+vm.name+"', independent disk(s) found");
	return false;
} else {
	System.log("Snapshoting '"+vm.name+"'");
	return true;
}

Élément de workflow Créer un snapshot

L'élément de workflow Créer un snapshot permet de capturer les snapshots des machines virtuelles. Le tableau suivant montre les liaisons dont l'élément de workflow Créer un snapshot a besoin.

Tableau 7. Liaisons de l'élément de workflow Créer un snapshot
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
vm ENTRÉE Relier
  • Paramètre local : vm
  • Paramètre source : vm[attribute]
  • Type : VC:VirtualMachine
  • Description : Machine virtuelle active qui doit faire l'objet d'un snapshot.
name ENTRÉE Créer
  • Paramètre local : name
  • Paramètre source : snapshotName[attribute]
  • Type : chaîne
  • Description : Nom de ce snapshot. Le nom ne doit pas nécessairement être unique pour cette machine virtuelle.
description ENTRÉE Créer
  • Paramètre local : description
  • Paramètre source : snapshotDescription[attribute]
  • Type : chaîne
  • Description : Description de ce snapshot.
memory ENTRÉE Créer
  • Paramètre local : memory
  • Paramètre source : snapshotMemory[attribute]
  • Type : booléen
  • Valeur : non
  • Description : Si TRUE, un vidage de l'état interne de la machine virtuelle (vidage mémoire) est inclus dans le snapshot.
quiesce ENTRÉE Créer
  • Paramètre local : quiesce
  • Paramètre source : snapshotQuiesce[attribute]
  • Type : booléen
  • Valeur : oui
  • Description : Si TRUE et que la machine virtuelle est sous tension lorsque le snapshot est capturé, les VMware Tools sont utilisés pour mettre en veille le système de fichiers de la machine virtuelle.
snapshot SORTIE Créer
  • Paramètre local : snapshot
  • Paramètre source : NULL
  • Type : VC:VirtualMachineSnapshot
  • Description : Snapshot capturé.
errorCode Exception Créer Paramètre local : errorCode

Élément Tâche inscriptible Snapshots de VM

L'élément Tâche inscriptible Snapshots de VM ajoute les snapshots à un groupe. Le tableau suivant montre les liaisons dont l'élément Tâche inscriptible Snapshots de VM a besoin.

Tableau 8. Liaisons de l'élément Tâche inscriptible Snapshots de VM
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
vm ENTRÉE Relier
  • Paramètre local : vm
  • Paramètre source : vm[attribute]
  • Type : VC:VirtualMachine
  • Description : Machine virtuelle active qui doit faire l'objet d'un snapshot.
snapshotVmArray ENTRÉE Relier
  • Paramètre local : snapshotVmArray
  • Paramètre source : snapshotVmArray[attribute]
  • Type : Array/VC:VirtualMachine
  • Description : Groupe de machines virtuelles ayant fait l'objet de snapshots
snapshotVmArray SORTIE Relier
  • Paramètre local : snapshotVmArray
  • Paramètre source : snapshotVmArray[attribute]
  • Type : Array/VC:VirtualMachine
  • Description : Groupe de machines virtuelles ayant fait l'objet de snapshots

L'élément Tâche inscriptible Snapshots de VM exécute la fonction en script suivante.

//Writes the following event in the Orchestrator database 
Server.log("Successfully took snapshot of the VM '"+vm.name);
//Inserts the VM snapshot in an array
snapshotVmArray.push(vm);

Élément Tâche inscriptible Incrémenter

L'élément Tâche inscriptible Incrémenter permet d'incrémenter le compteur qui dénombre le nombre de machines virtuelles dans le groupe. Le tableau suivant montre les liaisons dont l'élément Tâche inscriptible Incrémenter a besoin.

Tableau 9. Liaisons de l'élément Tâche inscriptible Incrémenter
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
vmCounter ENTRÉE Relier
  • Paramètre local : vmCounter
  • Paramètre source : vmCounter[attribute]
  • Type : nombre
  • Description : Compteur de machines virtuelles dans le groupe
allVMs ENTRÉE Relier
  • Paramètre local : allVMs
  • Paramètre source : allVMs[attribute]
  • Type : Array/VC:VirtualMachine
  • Description : Machines virtuelles présentes dans le pool de ressources.
vmCounter SORTIE Relier
  • Paramètre local : vmCounter
  • Paramètre source : vmCounter[attribute]
  • Type : nombre
  • Description : Compteur de machines virtuelles dans le groupe
vm SORTIE Relier
  • Paramètre local : vm
  • Paramètre source : vm[attribute]
  • Type : VC:VirtualMachine
  • Description : Machine virtuelle active avec snapshot capturé

L'élément Tâche inscriptible Incrémenter exécute la fonction en script suivante.

//Increases the array VM counter
vmCounter++;
//Sets the next VM to be snapshot in the attribute vm
vm = allVMs[vmCounter];

Élément Tâche inscriptible Exception de journal

L'élément Tâche inscriptible Exception de journal traite les exceptions du workflow et des éléments d'action. Le tableau suivant montre les liaisons dont l'élément Tâche inscriptible Exception de journal a besoin.

Tableau 10. Liaisons de l'élément Tâche inscriptible Exception de journal
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
vm ENTRÉE Relier
  • Paramètre local : vm
  • Paramètre source : vm[attribute]
  • Type : VC:VirtualMachine
  • Description : Machine virtuelle active avec snapshot capturé
errorCode ENTRÉE Relier
  • Paramètre local : errorCode
  • Paramètre source : errorCode[attribute]
  • Type : chaîne
  • Description: Exception identifiée lors de la capture du snapshot d'une machine virtuelle

L'élément Tâche inscriptible Exception de journal exécute la fonction en script suivante.

//Writes  the following event in the Orchestrator database
Server.error("Coudln't snapshot the VM '"+vm.name+"', exception: "+errorCode);

Élément Tâche inscriptible Définir la sortie

La tâche inscriptible Définir la sortie génère le paramètre de sortie du workflow qui contient le groupe de machines virtuelles ayant fait l'objet de snapshots. Le tableau suivant montre les liaisons dont l'élément Tâche inscriptible Définir la sortie a besoin.

Tableau 11. Liaisons de l'élément de tâche Définir la sortie
Nom du paramètre Type de liaison Relier à un paramètre existant ou créer un paramètre ? Valeurs de liaison
snapshotVmArray ENTRÉE Relier
  • Paramètre local : snapshotVmArray
  • Paramètre source : snapshotVmArray[attribute]
  • Type : Array/VC:VirtualMachine
  • Description : Groupe de machines virtuelles ayant fait l'objet de snapshots
snapshotVmArrayOut SORTIE Relier
  • Paramètre local : snapshotVmArrayOut
  • Paramètre source : snapshotVmArrayOut[out-parameter]
  • Type : Array/VC:VirtualMachine
  • Description : Groupe de machines virtuelles ayant fait l'objet de snapshots

L'élément Tâche inscriptible Définir la sortie exécute la fonction en script suivante.

//Passes the value of the internal attribute to a workflow output parameter
snapshotVmArrayOut = snapshotVmArray;