Lorsque vous créez un script pour une utilisation dans vRealize Orchestrator, vous devez vérifier qu'il a la structure et la mise en forme appropriées.

Exécutions prises en charge

Pour développer des actions et des workflows vRealize Orchestrator, vous pouvez utiliser les environnements d'exécution suivants :

  • Python 3.7
  • Node.js 12
  • PowerCLI 11/Powershell 6,2
  • PowerCLI 12/Powershell 7
    Note : L'exécution de PowerCLI inclut PowerShell et les modules suivants : VMware.PowerCLI, PowerNSX, PowervRA.

Vous pouvez ajouter n'importe quel code source personnalisé aux nouvelles exécutions, mais pour accepter le contexte et les entrées, et renvoyer le résultats depuis et vers le moteur vRealize Orchestrator, vous devez respecter le format fonctionnel approprié.

Recommandations relatives aux scripts

Pour les tâches d'écriture de scripts les plus simples, vous pouvez ajouter des éléments Tâche pouvant contenir des scripts à votre schéma de workflow. Vous pouvez utiliser les actions vRealize Orchestrator pour les tâches d'écriture de scripts plus complexes.

L'utilisation d'actions offre deux avantages spécifiques :

  • Les actions peuvent être créées, mises à jour, importées et exportées indépendamment des workflows.
  • Les actions sont des objets autonomes qui peuvent être exécutés et débogués dans leur propre environnement, ce qui peut entraîner un processus de développement plus fluide. Reportez-vous à Exécution et débogage d'actions.

Conditions requises pour la fonction de script

Le nom par défaut de votre fonction de script est handler. La fonction accepte deux arguments, context et input. L'argument context est un objet de mappage qui contient des informations système. Par exemple, vroURL peut contenir l'URL de l'instance de vRealize Orchestrator que vous souhaitez appeler, alors que executionId contient l'ID de jeton d'une exécution de workflow.

Une entrée est un objet de carte contenant toutes les entrées fournies aux actions. Par exemple, si vous définissez une entrée dans votre action appelée myInput, vous pouvez y accéder à partir de l'argument input, tel que inputs.myInput ou inputs["myInput"], selon votre exécution. Tout ce que la fonction renvoie est le résultat de l'action. Par conséquent, le type de retour de votre action doit correspondre au type de contenu renvoyé par le script dans vRealize Orchestrator. Si vous renvoyez une primitive, le type de retour de l'action doit être un type de nombre. Si vous renvoyez une chaîne, le type de retour de l'action doit être un type de chaîne. Si vous renvoyez un objet complexe, le type de retour doit être mappé à Properties ou Composite Type. Ces mêmes principes s'appliquent également aux tableaux.

Types de paramètres d'entrée et de sortie pris en charge pour les exécutions Python, Node.js et PowerShell :

  • String
  • Number
  • Boolean
  • Date
  • Properties
  • Composite Type

Définir le gestionnaire d'entrée

Par défaut, la valeur du gestionnaire d'entrée est handler.handler. Cette valeur signifie que le moteur de vRealize Orchestrator recherche un fichier de niveau supérieur dans votre module ZIP appelé handler.py, handler.js ou handler.ps1, qui inclut une fonction appelée handler. Les différences entre les noms des fichiers de fonction et de gestionnaire doivent être reflétées dans la valeur du gestionnaire d'entrées. Par exemple, si votre gestionnaire principal est appelé index.js et que votre fonction est appelée callMe, vous devez définir la valeur du gestionnaire d'entrée sur index.callMe.

Déboguer les scripts d'exécution dans un IDE externe

vRealize Orchestrator prend en charge le débogage de scripts Python et Node.js dans un IDE externe. Vous ne pouvez pas déboguer des scripts PowerShell dans un IDE externe.