iso.php¶
Модуль управления ISO-образами: загрузка, удаление, монтирование на серверы, обновление метаданных и просмотр истории операций.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
add | создание или обновление ISO | Добавляет новый ISO-образ или обновляет существующий по имени. Требует права администратора. |
del | удаление ISO | Удаляет ISO-образ. Доступно для администраторов и владельцев приватных образов. |
delete | удаление ISO (альтернативный) | Альтернативный метод удаления ISO-образа по ID. |
history | получение истории | Возвращает историю операций с ISO-образами. |
list_iso | получение списка ISO | Возвращает список доступных ISO-образов. Для клиентов требуется ID сервера. |
mount_iso | монтирование ISO | Монтирует ISO-образ на указанный сервер. Возвращает ключ задачи для отслеживания. |
unmount_iso | размонтирование ISO | Размонтирует ISO-образ с указанного сервера. Возвращает ключ задачи. |
update | обновление ISO | Обновляет метаданные существующего ISO-образа. |
upload | загрузка ISO | Загружает ISO-образ по URL. Для сотрудников требуется email и customer_id. |
uploaded | список загруженных ISO | Возвращает список загруженных ISO-образов для клиента или сотрудника. |
iso/add¶
Добавляет новый ISO-образ или обновляет существующий по имени. Требует права администратора.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: add |
| token | ✅ | string | Токен авторизации |
| params[name] | ✅ | string | Полное имя ISO |
| params[short_name] | ✅ | string | Короткое имя ISO |
| params[iso_name] | ✅ | string | Имя файла ISO |
| params[private] | ✅ | string | Email клиента (валидный email) |
| params[description] | ❌ | string | Описание ISO-образа |
| params[admin_only] | ❌ | integer | Флаг доступности только для администраторов (0 или 1) |
| params[status] | ❌ | string | Статус ISO (по умолчанию 'Pending') |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"action": "add",
"module": "iso",
"data": {
"id": 123,
"name": "Ubuntu 22.04",
"short_name": "ubuntu22",
"iso_name": "ubuntu-22.04.iso",
"private": "user@example.com",
"description": "Ubuntu Server 22.04 LTS",
"admin_only": 0,
"status": "Pending",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
}
iso/del¶
Удаляет ISO-образ. Доступно для администраторов и владельцев приватных образов.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: del |
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | int | ID ISO-образа для удаления |
| params[pending] | ❌ | bool | Удалить запись из базы данных сразу (без отправки в очередь) |
Пример запроса
Пример успешного ответа
iso/delete¶
Альтернативный метод удаления ISO-образа по ID.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID ISO-образа для удаления |
Пример запроса
Пример успешного ответа
iso/history¶
Возвращает историю операций с ISO-образами.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: history |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID ISO-образа для фильтрации истории |
Пример запроса
Пример успешного ответа
iso/list_iso¶
Возвращает список доступных ISO-образов. Для клиентов требуется ID сервера.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list_iso |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера (обязательно для клиентов) |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"action": "list_iso",
"module": "iso",
"server_id": 456,
"iso_images": [
{
"id": 123,
"iso_name": "ubuntu-22.04.iso",
"description": "Ubuntu Server 22.04 LTS",
"size": 2147483648,
"created_at": "2024-01-15T10:30:00Z"
},
{
"id": 124,
"iso_name": "windows-server-2022.iso",
"description": "Windows Server 2022",
"size": 5368709120,
"created_at": "2024-01-16T09:15:00Z"
}
]
}
iso/mount_iso¶
Монтирует ISO-образ на указанный сервер. Возвращает ключ задачи для отслеживания.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: mount_iso |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| iso | ✅ | string | Имя ISO-образа для монтирования |
Пример запроса
Пример успешного ответа
iso/unmount_iso¶
Размонтирует ISO-образ с указанного сервера. Возвращает ключ задачи.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: unmount_iso |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
Пример запроса
Пример успешного ответа
iso/update¶
Обновляет метаданные существующего ISO-образа.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: update |
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | int | ID ISO-образа для обновления |
| params[description] | ❌ | string | Новое описание |
| params[iso_name] | ❌ | string | Новое имя ISO |
Пример запроса
Пример успешного ответа
iso/upload¶
Загружает ISO-образ по URL. Для сотрудников требуется email и customer_id.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: upload |
| token | ✅ | string | Токен авторизации |
| params[url] | ✅ | string | URL ISO-образа (https://...) |
| params[email] | ❌ | string | Email клиента (обязательно для сотрудников) |
| params[customer_id] | ❌ | int | ID клиента (обязательно для сотрудников) |
Пример запроса
Пример успешного ответа
iso/uploaded¶
Возвращает список загруженных ISO-образов для клиента или сотрудника.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: uploaded |
| token | ✅ | string | Токен авторизации |
| params[email] | ❌ | string | Email клиента (требуется для роли employee) |
Пример запроса