При создании сценария для использования в vRealize Orchestrator необходимо убедиться, что он имеет правильную структуру и форматирование.

Поддерживаемые среды выполнения

В vRealize Orchestrator, начиная с версии 8.1, поддерживаются следующие среды выполнения:

  • Python 3.7
  • Node.js 12
  • PowerCLI 11/Powershell 6.2
  • PowerCLI 12/Powershell 7
    Примечание: Среда выполнения PowerCLI включает в себя PowerShell и следующие модули: VMware.PowerCLI, PowerNSX и PowervRA.

В новые среды выполнения можно добавить любой настраиваемый исходный код, но для принятия контекста и входных данных, а также возврата результатов в модуль vRealize Orchestrator и получения результатов из него необходимо соблюдать требуемый функциональный формат.

Рекомендации по созданию сценариев

Для простых задач создания сценариев в схему рабочего процесса можно добавить элементы Задача с возможностью добавления сценариев. Для более сложных задач создания сценариев можно использовать действия vRealize Orchestrator.

Благодаря применению действий можно получить два основных преимущества.

  • Действия можно создавать, обновлять, импортировать и экспортировать независимо от рабочих процессов.
  • Действия — это автономные объекты, которые можно выполнять и отлаживать в соответствующей среде, что повышает эффективность разработки. См. раздел Запуск и отладка действий.

Требования к функции сценария

По умолчанию функции сценария присваивается имя handler. Функция принимает два аргумента: контекст и входные данные. Контекст — это объект сопоставления, в котором содержатся сведения о системе. Например, vroURL может содержать URL-адрес вызываемого экземпляра vRealize Orchestrator, а executionId — идентификатор маркера выполнения рабочего процесса.

Входные данные — это объект сопоставления, содержащий все входные данные, предоставленные для действий. Например, при определении входных данных в действии под именем myInput можно получить доступ к ним из аргумента входных данных, такого как inputs.myInput или inputs["myInput"], в зависимости от среды выполнения. Все, что возвращается из функции, является результатом действия. Поэтому тип возвращаемых значений действия должен соответствовать типу содержимого, возвращаемого сценарием в vRealize Orchestrator. Если возвращается примитив, то тип возвращаемого значения действия должен быть числовым. Если возвращается строка, тип возвращаемого значения действия должен быть строковым. Если возвращается сложный объект, тип возвращаемого значения должен сопоставляться с Properties или Composite Type. Те же принципы применимы и к массивам.

Поддерживаемые типы входных и выходных параметров для сред выполнения Python, Node.js и PowerShell:

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

Определение обработчика записей

По умолчанию обработчику записей присвоено значение handler.handler. Это значение указывает на то, что модуль vRealize Orchestrator выполняет поиск файла верхнего уровня в пакете ZIP с именем handler.py, handler.js или handler.ps1, который включает в себя функцию с именем handler. Любые различия в именах функции и файла обработчика должны быть отражены в значении обработчика записей. Например, если основной обработчик называется index.js, а функция — callMe, необходимо задать для обработчика записи значение index.callMe.

Отладка сценариев среды выполнения во внешней среде IDE

vRealize Orchestrator поддерживает отладку сценариев Python и Node.js во внешней среде IDE. Отладка сценариев PowerShell во внешней среде IDE невозможна.