В середине 2020 года в vRO появился плагин для управления vRealize Automation, но его функционала недостаточного для работы с vRA: большинство задач по-прежнему решаются только через REST API. Предлагаю использовать готовый пакет, он постоянно дорабатывается и уже включает более 100 различных процессов.
Плагин VMware vRealize Orchestrator Plug-in for vRealize Automation (документация) предоставляет удобный и наглядный способ работы с vRA через встроенные объекты. Это будет отличный инструмент, но только когда будет готов хотя бы на 80% (если его планируют дорабатывать). На текущий момент у плагина есть несколько минусов:
- Плагин реализует очень мало объектов и процессов:
- часть Ваших процессов смогут использовать встроенные типы и объекты, но для большинства задач их пока нет;
- процессы нужно писать самостоятельно, используя REST API;
- работа с REST API vRA через данный плагин отличается от обычных REST API процессов;
- Плагин не поддерживает подключение к внешнему vRO:
- Вы можете делать REST запросы ко встроенному в vRA оркестратору, а с внешним vRO эти процессы не будут работать;
- Непонятно будущее плагина: не видно его развития с момента первого релиза, может это конечный вариант плагина?
Пакет управления vRA
v2.1.2
Первое знакомство с REST API vRA 8 можно начать со статьи vRO: пакет управления vRA 8. В ней Вы найдёте описание процесса получения токена и полезные ссылки.
В новой версии пакета значительно расширился набор процессов, теперь их более сотни (полный список процессов). Также доработаны все основные процессы.
Процесс выполнения запроса
Основной процесс, который выполняет все запросы к API vRA8 называется «Invoke a REST operation (vRA)». Параметры для соединения с сервером хранятся в конфигурационном элементе vra8-api. На вход процесс принимает параметры запроса: param_0 .. param_3, тело запроса content, если оно необходимо, и название REST-операции. Дополнительный необязательный параметр restHostVariable позволяет задать имя переменной конфигурационного элемента vra8-api, в котором хранится ссылка на REST-хост. Этот параметр нужен для работы с отдельными инстансами/кластерами vRA и vRO, подключенными к единому провайдеру аутентификации.
Процесс «Invoke a REST operation (vRA)»:
- находит на REST-хосте объект REST:RESTOperation по его имени;
- поиск осуществляется по всем хостам (в переменных конфигурационного элемента, имеющих тип REST:RESTHost); Вы можете добавить в конфигурацию любое количество хостов;
- если значение restHostVariable не задано, то используется первый найденный объект REST:RESTOperation;
- получает токен из конфигурационного элемента и выполняет REST-запрос;
- проверяет ответ сервера; если токен недействителен, то запрашивает новый токен и повторяет запрос;
- в случае ошибки формирует json-строку с ответом сервера.
Подготовка пакета к работе
1. Установка пакета в vRealize Orchestrator
- скачайте vRO пакет ru.zabedu.vra.package;
- импортируйте пакет в оркестратор через вкладку Packages;
- проверьте, что все элементы успешно импортированы: процессы, действия, конфигурационные элементы;
2. Регистрация REST-хоста vRA
- используйте стандартный процесс “Add a REST host”;
- выберите тип аутентификации: “Host’s authentication type” = “NONE”;
3. Настройка конфигурации
Запустите процесс «Initialize (vRA)». Подготовка пакета включает:
- Выбор основного REST-хоста (остальные добавьте самостоятельно);
- Запуск процесса регистрации используемых REST-операций: «Add REST operations (vRA)»;
- при добавлении новых инстансов vRA/vRO, запустите этот процесс вручную для добавления операций;
- Сохранение данных учетной записи vRA (для получения refresh-токена) в конфигурационном элементе vra8_api;
- Получение refresh-токена vRA: «Update refresh token»;
- Получение access-токена vRA: «Update access token»;
- Создание расписания для обновления refresh-токена.
Загрузка плагина и список процессов
Пишите вопросы и пожелания по доработке.