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

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')

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=add" \
--data "token=HOSTKEY_TOKEN" \
--data "params[name]=VALUE" \
--data "params[short_name]=VALUE" \
--data "params[iso_name]=VALUE" \
--data "params[private]=VALUE"
Пример успешного ответа
{
"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"
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument iso_name"
}

iso/del

Удаляет ISO-образ. Доступно для администраторов и владельцев приватных образов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: del
token string Токен авторизации
params[id] int ID ISO-образа для удаления
params[pending] bool Удалить запись из базы данных сразу (без отправки в очередь)

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=del" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "del",
"module": "iso",
"data": {
"result": "ok",
"key": "7bc29eb23fb1b879b21fce509597f07c"
}
}
Примеры ошибок
{
"code": -1,
"message": "Can't find iso data for id={id}"
}

iso/delete

Альтернативный метод удаления ISO-образа по ID.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: delete
token string Токен авторизации
id int ID ISO-образа для удаления

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=delete" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete",
"module": "iso",
"data": {
"id": 123
}
}
Примеры ошибок
{
"code": -1,
"message": "ISO id required"
}

iso/history

Возвращает историю операций с ISO-образами.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: history
token string Токен авторизации
id int ID ISO-образа для фильтрации истории

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=history" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "history",
"module": "iso",
"data": [
{
"id": 1,
"date": "2024-01-15 10:30:00",
"description": "ISO uploaded",
"type": "upload",
"login": "admin@example.com",
"message": "ISO uploaded",
"iso_name": "ubuntu-22.04.iso"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument id '-1'"
}

iso/list_iso

Возвращает список доступных ISO-образов. Для клиентов требуется ID сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: list_iso
token string Токен авторизации
id int ID сервера (обязательно для клиентов)

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=list_iso" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"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"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Server id required"
}

iso/mount_iso

Монтирует ISO-образ на указанный сервер. Возвращает ключ задачи для отслеживания.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: mount_iso
token string Токен авторизации
id int ID сервера
iso string Имя ISO-образа для монтирования

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=mount_iso" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "iso=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "mount_iso",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "ISO name required"
}

iso/unmount_iso

Размонтирует ISO-образ с указанного сервера. Возвращает ключ задачи.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: unmount_iso
token string Токен авторизации
id int ID сервера

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=unmount_iso" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "unmount_iso",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "iso/unmount_iso: Server id required"
}

iso/update

Обновляет метаданные существующего ISO-образа.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: update
token string Токен авторизации
params[id] int ID ISO-образа для обновления
params[description] string Новое описание
params[iso_name] string Новое имя ISO

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=update" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=123" \
--data "params[description]=Updated description" \
--data "params[iso_name]=ubuntu-22.04-updated.iso"
Пример успешного ответа
{
"result": "OK",
"action": "update",
"module": "iso",
"data": {
"id": 123,
"iso_name": "ubuntu-22.04-updated.iso",
"description": "Updated description",
"updated_at": "2024-01-15T12:00:00Z"
}
}
Примеры ошибок
{
"code": -1,
"message": "ISO not found"
}

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 клиента (обязательно для сотрудников)

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=upload" \
--data "token=HOSTKEY_TOKEN" \
--data "params[url]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "upload",
"module": "iso",
"data": {
"id": 125,
"name": "debian-12",
"url": "https://example.com/iso/debian-12.iso",
"key": "7bc29eb23fb1b879b21fce509597f07c"
}
}
Примеры ошибок
{
"code": -1,
"message": "Invalid URL"
}

iso/uploaded

Возвращает список загруженных ISO-образов для клиента или сотрудника.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: uploaded
token string Токен авторизации
params[email] string Email клиента (требуется для роли employee)

Пример запроса

curl -s "https://invapi.hostkey.ru/iso.php" -X POST \
--data "action=uploaded" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "uploaded",
"module": "iso",
"data": [
{
"id": 123,
"name": "ubuntu-22.04.iso",
"status": "active"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Incorrect parameter params"
}

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×