Al crear un script para usarlo en vRealize Orchestrator, debe comprobar que este tenga la estructura y el formato correctos.
Tiempos de ejecución compatibles
Para desarrollar acciones y flujos de trabajo de vRealize Orchestrator, puede utilizar los siguientes tiempos de ejecución:
- Python 3.7
- Node.js 14
Nota: El entorno ejecutable Node.js 14 ahora está obsoleto y se eliminará de vRealize Orchestratorcuando la versión alcance su fecha de fin de ciclo de vida (EOL).
- Node.js 18
- PowerCLI 11/Powershell 6.2
- PowerCLI 12.3.0/PowerShell 7.1
Nota: El tiempo de ejecución de PowerCLI incluye PowerShell y los siguientes módulos: VMware.PowerCLI, PowerNSX y PowervRA.
Puede agregar cualquier código fuente personalizado a los nuevos tiempos de ejecución, pero debe seguir el formato funcional correcto para aceptar el contexto y las entradas, así como para devolver un resultado procedente o destinado al motor de vRealize Orchestrator.
Recomendaciones de creación de scripts
Para las tareas de creación de scripts más sencillas, puede agregar elementos de Tarea de scripts al esquema de flujo de trabajo. Puede utilizar acciones de vRealize Orchestrator para realizar tareas de scripts más complejas.
El uso de acciones proporciona dos ventajas específicas:
- Las acciones se pueden crear, actualizar, importar y exportar independientemente de los flujos de trabajo.
- Las acciones son objetos independientes que pueden ejecutarse y depurarse en su propio entorno, lo que puede llevar a un proceso de desarrollo más ágil. Consulte Ejecutar y depurar acciones.
Requisitos de la función de script
El nombre predeterminado de la función de script es handler. La función acepta dos argumentos: contexto y entrada. El contexto es un objeto de asignación que contiene información del sistema. Por ejemplo, vroURL
puede contener la dirección URL de la instancia de vRealize Orchestrator a la que se desea llamar, mientras que executionId
contiene el identificador de token de una ejecución de flujo de trabajo.
Una entrada es un objeto de asignación que contiene todas las entradas que se proporcionan a las acciones. Por ejemplo, si se define una entrada en una acción llamada myInput
, puede accederse a ella desde el argumento de entradas (como inputs.myInput
o inputs["myInput"]
) en función del tiempo de ejecución. Cualquier elemento que se devuelva de la función será el resultado de la acción. Por tanto, el tipo de valor devuelto de la acción debe corresponder al tipo de contenido que el script devuelve en vRealize Orchestrator. Si se devuelve un número primitivo, el tipo de valor devuelto de la acción debe ser un número. Si se devuelve una cadena, el tipo de valor devuelto de la acción debe ser una cadena. Si se devuelve un objeto complejo, el tipo de valor devuelto debe asignarse a Properties
o a Composite Type
. Estos mismos principios también se aplican a las matrices.
Estos son los tipos de parámetros de entrada y salida admitidos para los tiempos de ejecución de Python, Node.js y PowerShell:
String
Number
Boolean
Date
Properties
Composite Type
Definir el controlador de entrada
De forma predeterminada, el valor del controlador de entrada es handler.handler
. Este valor significa que el motor de vRealize Orchestrator busca un archivo de nivel superior en el paquete ZIP llamado handler.py, handler.js o handler.ps1, el cual que incluye una función denominada handler
. Cualquier diferencia entre los nombres de la función y el archivo del controlador debe reflejarse en el valor del controlador de entrada. Por ejemplo, si el controlador principal se denomina index.js y la función se llama callMe
, debe establecer el valor del controlador de entrada como index.callMe.
Depurar scripts de tiempo de ejecución en un IDE externo
vRealize Orchestrator admite la depuración de scripts de Python y Node.js en un IDE externo. Los scripts de PowerShell no se pueden depurar en un IDE externo.