REST API¶
Примечание
Для получения доступа к REST API необходим токен. Получение токена описано во вкладке с дополнительной информацией.
SSP API¶
Обеспечивает REST API модулю SSP
Эксплуатация API¶
Запрос
Параметры запроса:
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
}
Запрос
Пример запроса:
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"]
}
Запрос
Параметры запроса:
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"]
}
Запрос
Параметры запроса:
| 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..."
}
Запрос
Параметры запроса:
| 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"
}
Запрос
Параметры запроса:
| 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": []
}