REST API

Примечание

Для получения доступа к REST API необходим токен. Получение токена описано во вкладке с дополнительной информацией.


SSP API

Обеспечивает REST API модулю SSP

Эксплуатация API

GET
/status
Проверка статуса сервиса

Запрос

Параметры запроса:

curl -X GET http://localhost:8081/status

Ответ

Параметры ответа:

Name In Type Description
status (Optional) body string Статус ответа.
service (Optional) body string Имя сервиса.
pid (Optional) body integer PID-процесса.

Пример результата в JSON формате:

{
   "status": "running",
   "service": "ssp-api",
   "pid": 12345
}
GET
/containers
Получение списка контейнеров

Запрос

Пример запроса:

curl -X GET http://localhost:8081/containers

Ответ

Параметры ответа:

Name In Type Description
status (Optional) body string Статус ответа.
container_ids (Optional) body array Идентификаторы контейнеров.

Пример результата в JSON формате:

{
  "status": "success",
  "containers_id": ["a1b2c3d4e5f6", "b2c3d4e5f6a1"]
}
GET
/failed
Получение списка упавших контейнеров

Запрос

Параметры запроса:

curl -X GET http://localhost:8081/failed

Ответ

Параметры ответа:

Name In Type Description
status (Optional) body string Статус ответа.
failed_containers (Optional) body array Упавшие контейнеры.

Пример результата в JSON формате:

{
    "status": "success",
    "failed_containers": ["a1b2c3d4e5f6", "b2c3d4e5f6za1"]
}
POST
/auth
Аутентификация

Запрос

Параметры запроса:

Name In Type Description
username (Optional) query string Имя пользователя.
password (Optional) query string Пароль от пользователя.
domain (Optional) query string Домен.

Пример запроса:

curl -X POST http://localhost:8081/auth \
  -H "Content-Type: application/json" \
  -d '{
    "username": "admin",
    "password": "secret",
    "domain": "default"
  }'

Ответ

Параметры ответа:

Name In Type Description
status (Optional) body string Статус ответа.
token (Optional) body string Токен пользователя.

Пример результата в JSON формате:

{
  "status": "authenticated",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
POST
/tunnel
Создание SSH туннеля

Запрос

Параметры запроса:

Name In Type Description
token (Optional) query string Токен пользователя.
ip_vm (Optional) query string Идентификатор ВМ.
username (Optional) query string Имя пользователя.
password (Optional) query string Пароль от пользователя.

Пример запроса:

curl -X POST http://localhost:8080/tunnel \
  -H "Content-Type: application/json" \
  -d '{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "ip_vm": "192.168.1.100",
    "username": "vmuser",
    "password": "vmpassword"
  }'

Ответ

Параметры ответа:

Name In Type Description
status (Optional) body string Статус ответа.
container_id (Optional) body string Идентификатор контейнера.

Пример результата в JSON формате:

{
  "status": "created",
  "container_id": "c3d4e5f6a1b2"
}
POST
/restart
Перезапуск контейнера

Запрос

Параметры запроса:

Name In Type Description
container_ids (Optional) query array Идентификаторы контейнеров.

Пример запроса:

curl -X POST http://localhost:8080/restart \
  -H "Content-Type: application/json" \
  -d '{
    "container_ids": ["a1b2c3d4e5f6", "b2c3d4e5f6a1"]
  }'

Ответ

Параметры ответа:

Name In Type Description
status (Optional) body string Статус ответа.
restarted (Optional) body array Перезапущенные контейнеры.
failed (Optional) body array Ошибки.

Пример результата в JSON формате:

{
  "status": "success",
  "restarted": ["a1b2c3d4e5f6", "b2c3d4e5f6a1"],
  "failed": []
}

Подробное описание кодов ответа на запросы доступно во вкладке с дополнительной информацией.