Создайте образец сценария для вызова API-интерфейса проекта vRealize Automation с помощью Python.
Необходимые условия
Убедитесь, что установлен Python 3 и установщик пакетов PIP. См. страницу загрузок Python и указатель пакетов Python.
Процедура
- На локальном компьютере откройте оболочку командной строки.
- Создайте папку
vro-python-vra
.mkdir vro-python-vra
- Перейдите в папку
vro-python-vra
.cd vro-python-vra
- Создайте сценарий 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
. - Установите модуль запросов Python.
Важно!: Сторонние модули зависимостей должны быть установлены в папке корневого уровня в главной папке сценария
vro-python-vra
. В этом примере необходимо создать папку lib для модуля запросов.- а. Создайте папку lib.
mkdir lib
- б. Установите модуль запросов.
pip3 install requests -t lib/
- а. Создайте папку lib.
- Добавьте модуль запросов в сценарий handler.py.
import requests def handler(context, inputs): print('Hello, your inputs were ' + inputs) return None
- Создайте запрос GET к API-интерфейсу проекта vRealize Automation.
token = '' vRAUrl = '' r = requests.get(vRAUrl + '/iaas/api/projects', headers={'Authorization': 'Bearer ' + token}) print('Got response ' + r.text)
- Задайте значения
token
иvRAUrl
.- а. Получите маркер доступа с помощью API-интерфейса службы удостоверений vRealize Automation. См. раздел Получение маркера доступа для API-интерфейса vRealize Automation
- б. Для значения
vRAUrl
настройте сценарий таким образом, чтобы в нем использовался входной параметр vRealize Orchestrator с тем же именем.vRAUrl = inputs["vRAUrl"]
- в. Добавьте новые значения в файл 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
.
- Создайте пакет ZIP, содержащий файл handler.py и папку lib модуля запроса.
zip -r --exclude=*.zip -X vro-python-vra.zip .
Дальнейшие действия
Импортируйте сценарий PowerShell в действие vRealize Orchestrator. См. раздел Создание действий в клиенте vRealize Orchestrator.