Создайте образец сценария для вызова API-интерфейса проекта vRealize Automation с помощью Node.js.

Необходимые условия

Загрузите и установите Node. Js 12. См. раздел Загрузки Node.js.

Процедура

  1. На локальном компьютере откройте оболочку командной строки.
  2. Создайте папку vro-node-vra.
    mkdir vro-node-vra
  3. Перейдите в папку vro-node-vra.
    cd vro-node-vra
  4. Создайте сценарий Node.js с именем handler.js.
    touch handler.js
    Сценарий handler.js должен задавать одну функцию, которая принимает два аргумента: контекст выполнения рабочего процесса vRealize Orchestrator и связанные входные данные vRealize Orchestrator.
    exports.handler = (context, inputs) => {
        console.log('Hello, your inputs were ' + inputs);
        return null;
    }
    Примечание: При использовании стандартных библиотек ведения журнала все, что регистрируется в действии со сценарием, также отображается в журнале рабочего процесса. Входные данные и возвращаемые значения сценария должны иметь соответствующие входные параметры и типы возвращаемых значений, настроенные в клиенте vRealize Orchestrator. Например, входные данные vRAUrl в сценарии должны иметь соответствующий входной параметр, именуемый vRAUrl, в клиенте vRealize Orchestrator. Аналогичным образом, если сценарий возвращает строковое значение, тип возвращаемого значения, настроенный в клиенте vRealize Orchestrator, также должен быть строковым. Если действие возвращает сложный объект, можно использовать тип возвращаемых значений Properties или Composite Type.
  5. Установите модуль запросов Node.js.
    npm install request
    Важно!: Сторонние модули зависимостей должны быть установлены в папке корневого уровня node_modules в главной папке сценария vro-node-vra. Не перемещайте и не переименовывайте эту папку.
  6. Добавьте модуль запросов в сценарий handler.js.
    const request = require('request');
     
    exports.handler = (context, inputs) => {
        console.log('Hello, your inputs were ' + inputs);
        return null;
    }
  7. Создайте запрос GET к API-интерфейсу проекта vRealize Automation.
    const token = '';
    const vRAUrl = '';
    request.get(vRAUrl + '/iaas/api/projects', { 'auth': { 'bearer': token } }, function (error, response, body) {
        console.log('Got response ' + body);
    });
  8. Задайте значения token и vRAUrl .
    1. а. Получите маркер доступа с помощью API-интерфейса службы удостоверений vRealize Automation. См. раздел Получение маркера доступа для API-интерфейса vRealize Automation.
    2. б. Для значения vRAUrl настройте сценарий таким образом, чтобы в нем использовался входной параметр vRealize Orchestrator с тем же именем.
      const vRAUrl = inputs.vRAUrl;
    3. в. Добавьте новые значения в файл handler.js.
      const request = require('request');
      exports.handler = (context, inputs, callback) => {
          const vRAUrl = inputs.vRAUrl;
          const token = 'ACCESS_TOKEN';
          request.get(vRAUrl + '/iaas/api/projects', { 'auth': { 'bearer': token } }, function (error, response, body) {
              console.log('Got response ' + body);
              callback(null, JSON.parse(body));
          });
      }
      Примечание: Поскольку ответ API-интерфейса проекта vRealize Automation возвращается в формате JSON, для действия vRealize Orchestrator используйте тип возвращаемого значения Properties или Composite Type.
  9. Создайте пакет ZIP, содержащий файл handler.js и папку node_modules модуля запросов.
    zip -r --exclude=*.zip -X vro-node-vra.zip .

Дальнейшие действия

Импортируйте сценарий Node.js в действие vRealize Orchestrator. См. раздел Создание действий в клиенте vRealize Orchestrator.