Управление хостами
Получить список хостов
URL: /api/v1/hosts/
Метод: GET
Описание: Возвращает список хостов.
Параметры запроса:
Query Params
| Параметр | Описание |
|---|---|
| ip | Фильтр по ip |
| name | Фильтр по названию хоста |
Пример запроса:
GET /api/v1/hosts HTTP/1.1
Authorization: Bearer <token>
Пример ответа:
{
"data": [
{
"ID": 1,
"CreatedAt": 1742567777,
"UpdatedAt": 1742567777,
"name": "WSL Agent",
"description": "Агент",
"ip": "192.168.20.123",
"group_ids": [1, 2, 3],
"template_ids": [1, 6],
"inventory": {
"name": "vbox",
"os": "Astra Linux",
"kernel_version": "6.1.90-1-generic",
"os_version": "1.7_x86-64",
"full_os_name": "Linux (Astra Linux 1.7_x86-64)",
"ram": 4107288576,
"cpu_cores": 4,
"cpu_name": "12th Gen Intel(R) Core(TM) i3-12100",
"uptime": 123
}
},
{
"ID": 2,
"CreatedAt": 1742568888,
"UpdatedAt": 1742568888,
"name": "Marketing employeer",
"description": "Сотрудник маркетинга",
"ip": "192.168.20.21",
"group_ids": [4],
"template_ids": [8],
"inventory": {
"name": "vbox",
"os": "Astra Linux",
"kernel_version": "6.1.90-1-generic",
"os_version": "1.7_x86-64",
"full_os_name": "Linux (Astra Linux 1.7_x86-64)",
"ram": 8107288576,
"cpu_cores": 8,
"cpu_name": "12th Gen Intel(R) Core(TM) i5-13100F",
"uptime": 321
}
}
]
}
Создать хоста
URL: /api/v1/hosts/
Метод: POST
Описание: Создать хоста. Если при создании хоста не указать имя, то к имени будет присвоен ip-адрес.
Параметры запроса:
JSON Params
| Параметр | Описание | Обязательный |
|---|---|---|
| ip | IP Хоста | Да |
| name | Имя хоста | Нет |
| description | Описание хоста | Нет |
Пример запроса:
POST /api/v1/hosts/ HTTP/1.1
Authorization: Bearer <token>
[
{
"ip": "192.168.20.171",
"name": "Хост 11",
"description": "Описание хоста 1"
}
]
Пример ответа:
{
"created": [
{
"id": 1,
"create_at": 1759155436,
"update_at": 1759155436,
"ip": "192.168.20.171",
"name": "Хост 11",
"description": "Описание хоста 1",
"group_ids": [],
"inventory": null,
"template_ids": []
}
],
"existing": []
}
Получить хоста по ID
URL: /api/v1/hosts/{id}
Метод: GET
Описание: Получить хоста по id.
Параметры запроса:
PATH Params
| Параметр | Описание |
|---|---|
| id | id хоста которого нужно получить |
Пример запроса:
GET /api/v1/hosts/1 HTTP/1.1
Authorization: Bearer <token>
JSON ответ
{
"data": {
"id": 1,
"create_at": 1759155436,
"update_at": 1759155436,
"ip": "192.168.20.1",
"name": "Хост 11",
"description": "Описание хоста 1",
"group_ids": [],
"inventory": {
"name": "vbox",
"os": "Astra Linux",
"kernel_version": "6.1.90-1-generic",
"os_version": "1.7_x86-64",
"full_os_name": "Linux (Astra Linux 1.7_x86-64)",
"ram": 4107288576,
"cpu_cores": 4,
"cpu_name": "12th Gen Intel(R) Core(TM) i3-12100",
"uptime": 123
},
"template_ids": [1, 2]
}
}
Обновить хоста
Обновить хоста
URL: /api/v1/hosts/{id}
Метод: PUT
Описание: Обновить хоста по id.
Параметры запроса:
Path Params
| Параметр | Описание | Обязательный |
|---|---|---|
| id | id хоста которого нужно обновить | Да |
JSON Params
| Параметр | Описание | Обязательный |
|---|---|---|
| name | Имя хоста | Нет |
| description | Описание хоста | Нет |
| ip | ip-адрес хоста | Нет |
Пример запроса:
PUT /api/v1/hosts/1 HTTP/1.1
Authorization: Bearer <token>
{
"name": "newName",
"description" : "newDescription",
"ip" : "192.168.20.123"
}
Пример ответа:
{
"data": {
"id": 1,
"create_at": 1759155436,
"update_at": 1759155436,
"ip": "192.168.20.123",
"name": "newName",
"description": "newDescription",
"group_ids": [],
"inventory": null,
"template_ids": []
}
}
Удалить хоста
URL: /api/v1/hosts/{id}
Метод: DELETE
Описание: Удалить хоста
Path Params
| Параметр | Описание |
|---|---|
| id | id хоста которого нужно удалить |
Пример запроса:
DELETE /api/v1/hosts/1 HTTP/1.1
Authorization: Bearer <token>
Пример ответа:
HTTP STATUS 204 No Content
Удалить несколько хостов
URL: /api/v1/hosts/
Метод: DELETE
Описание: Множественное удаление хостов.
JSON Params
| Параметр | Описание |
|---|---|
| ids | Список хостов которых нужно удалить |
Пример запроса:
DELETE /api/v1/hosts/1 HTTP/1.1
Authorization: Bearer <token>
{
"ids": [1, 2, 3]
}
Пример ответа:
HTTP STATUS 204 No Content