Download PDF
Download page REST API. Начало работы с REST API портала «Агрегатор» Termidesk.
REST API. Начало работы с REST API портала «Агрегатор» Termidesk
Получение токена для доступа к REST API портала «Агрегатор»
Перед использованием REST API нужно получить токен, который необходимо подставлять во все последующие запросы, кроме запросов health
. Для получения токена нужно авторизоваться в Termidesk, для этого:
- выполнить запрос «https://aggr.termidesk.local/api/auth/v5.1/authenticators»;
- запомнить значения параметров
authUuid
,authSmallName
,auth
; - выполнить запрос «https://aggr.termidesk.local/api/auth/v5.1/legacy/login» и заполнить экранные поля «Логин», «Пароль», «Название аутентификатора» (значение параметра
auth
из предыдущей команды), «UUID аутентификатора» (значение параметраauthUuid
из предыдущей команды), «Короткое название аутентификатора» (значение параметраauthSmallName
из предыдущей команды); - токен будет отображен в поле «token».
В приведенных командах aggr.termidesk.local
- сетевой адрес или полное доменное имя узла с порталом «Агрегатор» Termidesk.
Для запросов проверки состояния сервера /aggregator/health
используется токен, определенный в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf
в значении переменной HEALTH_CHECK_ACCESS_KEY
.
Формат запроса к /api/health/check
выглядит следующим образом:
curl -X 'GET' \
'https://aggr.termidesk.local/aggregator/health/check' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058'
где:
Token
072...
- токен, определенный в переменной HEALTH_CHECK_ACCESS_KEY
файла /etc/opt/termidesk-vdi/termidesk.conf
.
Для форматированного вывода рекомендуется установить пакет jq
:
:~$ sudo apt install jq
и выполнить запрос, добавив в конец команды « | jq
»:
curl -X 'GET' \
'https://aggr.termidesk.local/aggregator/health/check' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058' | jq
В случае, если запрос завершится ошибкой вида «curl: (60) SSL: no alternative certificate subject name matches target host name... curl failed to verify the legitimacy... », нужно дополнить запрос флагом --insecure
, который отключит проверку валидности сертификатов:
Выполнение запроса без использования проверки SSL допустимо только на тестовых стендах. Для исправления ошибки в производственной среде необходимо установить на сервер с порталом «Агрегатор» валидные сертификаты.
curl -X 'GET' \
'https://aggr.termidesk.local/aggregator/health/check' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058' --insecure | jq
Формат URL-команд портала «Агрегатор»
Общий вид команд реализован следующим образом:
/aggregator/api/<module>/<ver>/aggregator/<name>/
,
где:
<module>
- наименование модуля, реализованного в REST API;
<ver>
- версия;
<name>
- наименование элемента (эндпоинта). После наименования элемента также могут быть включены уникальные номера объектов и наименования других элементов.
Пример команды через curl
:
curl -X 'GET' \
'https://aggr.termidesk.local/api/discover/' \
-H 'accept: application/json' \
-H 'X-Auth-Token: izycb3z47wwziibprg183t4ep2ti0tar'
Список доступных модулей портала «Агрегатор»
В REST API реализовано следующее логическое разделение на модули в части портала «Агрегатор»:
- «client» - модуль взаимодействия с компонентом «Клиент»;
- «webui» - модуль управления функциями, доступными через веб-интерфейс.
Также при использовании портала «Агрегатор» доступны модули компонента «Универсальный диспетчер» (см. подраздел Список доступных модулей).
Список отображаемых модулей зависит от типа портала, который был выбран при установке:
- «Агрегатор администратора»: доступны все модули портала «Агрегатор», а также модули компонента «Универсальный диспетчер» («aggregator», «auth», «discover», «health», «webui»);
- «Агрегатор пользователя»: доступен модуль «client» портала «Агрегатор», а также модули компонента «Универсальный диспетчер» («auth», «discover», «health», «client», «wsproxy»);
- «Агрегатор администратора» и «Агрегатор пользователя»: доступны все модули.
Электронный справочник по командам портала «Агрегатор»
Полная информация о параметрах и командах REST API доступна при вводе URL-команды https://aggr.termidesk.local/aggregator/docs/
, где aggr.termidesk.local
- сетевой адрес или полное доменное имя узла с порталом «Агрегатор» Termidesk.
Доступ предоставляется после авторизации в веб-интерфейсе портала «Агрегатор».
По нажатию экранной кнопки [Try it out] в пространстве команд какого-либо модуля можно составить запрос и отправить его на выполнение экранной кнопкой [Execute]. После нажатия будет отображена также команда для запроса через curl
.