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

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

Убедитесь, что установлен Python 3 и установщик пакетов PIP. См. страницу загрузок Python и указатель пакетов Python.

Процедура

  1. На локальном компьютере откройте оболочку командной строки.
  2. Создайте папку vro-python-vra.
    mkdir vro-python-vra
  3. Перейдите в папку vro-python-vra.
    cd vro-python-vra
  4. Создайте сценарий Python с именем handler.py.
    touch handler.py
    Сценарий handler.py должен задавать одну функцию, которая принимает два аргумента: контекст выполнения рабочего процесса vRealize Orchestrator и связанные входные данные vRealize Orchestrator.
    def handler(context, inputs):
        print('Hello, your inputs were ' + inputs)
        return None
    Примечание: При использовании стандартных библиотек ведения журнала все, что регистрируется в действии со сценарием, также отображается в журнале рабочего процесса. Входные данные и возвращаемые значения сценария должны иметь соответствующие входные параметры и типы возвращаемых значений, настроенные в клиенте vRealize Orchestrator. Например, входные данные vRAUrl в сценарии должны иметь соответствующий входной параметр, именуемый vRAUrl, в клиенте vRealize Orchestrator. Аналогичным образом, если сценарий возвращает строковое значение, тип возвращаемого значения, настроенный в клиенте vRealize Orchestrator, также должен быть строковым. Если действие возвращает сложный объект, можно использовать тип возвращаемых значений Properties или Composite Type.
  5. Установите модуль запросов Python.
    Важно!: Сторонние модули зависимостей должны быть установлены в папке корневого уровня в главной папке сценария vro-python-vra. В этом примере необходимо создать папку lib для модуля запросов.
    1. а. Создайте папку lib.
      mkdir lib
    2. б. Установите модуль запросов.
      pip3 install requests -t lib/
  6. Добавьте модуль запросов в сценарий handler.py.
    import requests
     
    def handler(context, inputs):
        print('Hello, your inputs were ' + inputs)
        return None
  7. Создайте запрос GET к API-интерфейсу проекта vRealize Automation.
    token = ''
    vRAUrl = ''
    r = requests.get(vRAUrl + '/iaas/api/projects', headers={'Authorization': 'Bearer ' + token})
     
     
    print('Got response ' + r.text)
  8. Задайте значения token и vRAUrl .
    1. а. Получите маркер доступа с помощью API-интерфейса службы удостоверений vRealize Automation. См. раздел Получение маркера доступа для API-интерфейса vRealize Automation
    2. б. Для значения vRAUrl настройте сценарий таким образом, чтобы в нем использовался входной параметр vRealize Orchestrator с тем же именем.
      vRAUrl = inputs["vRAUrl"]
    3. в. Добавьте новые значения в файл handler.py.
      import requests
       
      def handler(context, inputs):
          token = 'ACCESS_TOKEN'
          vRAUrl = inputs["vRAUrl"]
       
          r = requests.get(vRAUrl + '/iaas/api/projects', headers={'Authorization': 'Bearer ' + token})
       
          print('Got response ' + r.text)
       
          return r.json()
      Примечание: Поскольку ответ API-интерфейса проекта vRealize Automation возвращается в формате JSON, для действия vRealize Orchestrator используйте тип возвращаемого значения Properties или Composite Type.
  9. Создайте пакет ZIP, содержащий файл handler.py и папку lib модуля запроса.
    zip -r --exclude=*.zip -X vro-python-vra.zip .

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

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