Получение токена

Перед использованием REST API нужно получить токен (-H 'X-Auth-Token: 7bjqtodywjd69dkpdta9ncqprifkr3pu' из примера выше), который необходимо подставлять во все последующие запросы, кроме запросов health. Для получения токена необходимо авторизоваться в Termidesk, для этого:

В приведенных командах disp.termidesk.local - сетевой адрес или полное доменное имя узла диспетчера Termidesk.

Для запросов проверки состояния сервера /api/health используется токен, определенный в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf в значении переменной HEALTH_CHECK_ACCESS_KEY.

Формат запроса к /api/health выглядит следующим образом:

curl -X 'GET' \
'https://disp.termidesk.local/api/health/' \
-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://disp.termidesk.local/api/health/' \
-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 допустимо только на тестовых стендах. Для исправления ошибки в производственной среде необходимо установить на сервер Termidesk валидные сертификаты.


curl -X 'GET' \
'https://disp.termidesk.local/api/health/' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058' --insecure | jq


Формат URL-команд

Общий вид команд реализован следующим образом:

/api/<module>/<ver>/<name>/,

где:

<module> - наименование модуля, реализованного в REST API;

<ver> - версия;

<name> - наименование элемента. После наименования элемента также могут быть включены уникальные номера объектов и наименования других элементов.

В REST API реализовано следующее логическое разделение на модули:

Список модулей API, предоставляемого сервером, может быть получен URL-командой /api/discover/.

Пример команды через curl:

curl -X 'GET' \
  'https://disp.termidesk.local/api/discover/' \
  -H 'accept: application/json' \
  -H 'X-Auth-Token: 7bjqtodywjd69dkpdta9ncqprifkr3pu'


Электронный справочник по командам

Полная информация о параметрах и командах REST API доступна при вводе URL-команды https://disp.termidesk.local/api/docs/, где disp.termidesk.local - сетевой адрес или полное доменное имя узла диспетчера Termidesk. 


Доступ предоставляется после авторизации в Termidesk.

По нажатию кнопки [Try it out]  в пространстве команд какого-либо модуля можно составить запрос и отправить его на выполнение кнопкой [Execute]. После нажатия будет отображена также команда для запроса через curl.

Для ввода токена доступа к определенным командам необходимо нажать кнопку [Authorize] и ввести необходимые ключи: