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": []
}

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