Quando si crea uno script da utilizzare in vRealize Orchestrator, è necessario verificare che lo script abbia la struttura e la formattazione corrette.

Runtime supportati

A partire da vRealize Orchestrator 8.1, è possibile utilizzare i seguenti runtime:

  • Python 3.7
  • Node.js 12
  • PowerCLI 11/Powershell 6.2
  • PowerCLI 12/Powershell 7
    Nota: Il runtime PowerCLI include PowerShell e i seguenti moduli: VMware.PowerCLI, PowerNSX, PowervRA.

È possibile aggiungere qualsiasi codice sorgente personalizzato ai nuovi runtime, ma per accettare il contesto e gli input e restituire un risultato da e verso il motore vRealize Orchestrator, è necessario seguire il formato funzionale corretto.

Consigli per lo scripting

Per semplificare le attività di scripting, è possibile aggiungere elementi Attività gestibile tramite script allo schema del workflow. Per le attività di scripting più complesse, è possibile utilizzare azioni di vRealize Orchestrator.

L'utilizzo delle azioni offre due vantaggi specifici:

  • Le azioni possono essere create, aggiornate, importate ed esportate indipendentemente dai workflow.
  • Le azioni sono oggetti autonomi che possono essere eseguiti e sottoposti a debug nel proprio ambiente. Ciò può rendere più agevole il processo di sviluppo. Vedere Esecuzione e debug delle azioni.

Requisiti della funzione dello script

Il nome predefinito della funzione dello script è handler. La funzione accetta due argomenti, ovvero context e input. Context è un oggetto mappa contenente informazioni di sistema. Ad esempio, vroURL può contenere l'URL dell'istanza di vRealize Orchestrator che si desidera richiamare, mentre executionId contiene l'ID token di un'esecuzione di workflow.

Un input è un oggetto mappa contenente tutti gli input forniti alle azioni. Ad esempio, se si definisce un input nell'azione denominata myInput, è possibile accedervi dall'argomento input, ovvero inputs.myInput o inputs["myInput"], in base al runtime. Qualsiasi elemento restituito dalla funzione è il risultato dell'azione. Pertanto, il tipo restituito dell'azione deve corrispondere al tipo di contenuto restituito dallo script in vRealize Orchestrator. Se si restituisce un numero primitivo, il tipo restituito dall'azione deve essere un tipo numero. Se si restituisce una stringa, il tipo restituito dall'azione deve essere un tipo stringa. Se si restituisce un oggetto complesso, il tipo restituito deve essere mappato a Properties o Composite Type. Gli stessi principi si applicano anche agli array.

Tipi di parametri di input e output supportati per i runtime Python, Node.js e PowerShell:

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

Definizione del gestore delle voci

Per impostazione predefinita, il valore del gestore delle voci è handler.handler. Questo valore indica che il motore vRealize Orchestrator cerca un file di livello superiore nel pacchetto ZIP denominato handler.py, handler.js o handler.ps1, che include una funzione denominata handler. Qualsiasi differenza tra i nomi della funzione e del file del gestore deve essere riportata nel valore del gestore delle voci. Ad esempio, se il gestore principale è denominato index.js e la funzione è denominata callMe, è necessario impostare il valore per il gestore delle voci su index.callMe.

Debug degli script di runtime in un IDE esterno

vRealize Orchestrator supporta il debug degli script Python e Node.js in un IDE esterno. Non è possibile eseguire il debug degli script PowerShell in un IDE esterno.