Quando si crea uno script da utilizzare in Automation Orchestrator, è necessario verificare che lo script abbia la struttura e la formattazione corrette.
Runtime supportati
Per lo sviluppo delle azioni e dei workflow di Automation Orchestrator, è possibile utilizzare i runtime seguenti:
- Python 3.10
- Node.js 18
- PowerCLI 12 (PowerShell 7.2)
Nota: Il runtime PowerCLI include PowerShell e i seguenti moduli: VMware.PowerCLI, PowerNSX, PowervRA.
- PowerShell 7.3
È 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 Automation 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 Automation 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 Automation 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 Automation 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 Automation 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
Automation 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.