Перейти к содержанию

Управление хостами

Получить список хостов

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