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

vm.php

Модуль управления виртуальными машинами: создание и управление снимками (snapshots), получение статистики загрузки CPU и настройка параметров ротации бэкапов

Методы API

Метод Действие Описание
cpu_graph получение графика CPU Возвращает график загрузки процессора в формате base64 PNG.
create_snapshot создание снимка Инициирует процесс создания снимка (snapshot) виртуальной машины.
get_snapshot получение снимков Возвращает список доступных снимков и настроек для виртуальной машины.
load_stats загрузка статистики Запрашивает статистику (нагрузку) для виртуальной машины.
remove_snapshot удаление снимка Инициирует процесс удаления указанного снимка.
restore_snapshot восстановление из снимка Инициирует процесс восстановления виртуальной машины из существующего снимка.
update_restore_settings обновление настроек ротации Обновляет настройки автоматической ротации снимков и бэкапов.

vm/cpu_graph

Возвращает график загрузки процессора в формате base64 PNG.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/vm.php" -X POST \
--data "action=cpu_graph" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
Примеры ошибок
{
"code": -1,
"message": "CPU graph is temporarily unavailable"
}

vm/create_snapshot

Инициирует процесс создания снимка (snapshot) виртуальной машины.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_snapshot
token ✅ string Токен авторизации
id ✅ integer ID виртуальной машины
params[name] ✅ string Имя снимка. Должно быть от 5 до 30 символов и не начинаться с префикса автоматических бэкапов.
params[type] ❌ string Тип снимка. Допустимые значения: snapshot, backup
params[num_rotation] ❌ integer Количество ротации (по умолчанию 0).
type ❌ string Тип снимка. Допустимые значения: snapshot, backup
num_rotation ❌ integer Количество ротации.
name ✅ string Уникальное имя создаваемого снимка системы (от 5 до 30 символов).

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

curl -s "https://invapi.hostkey.ru/vm.php" -X POST \
--data "action=create_snapshot" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "params[name]=my_snapshot" \
--data "name=my_snapshot"
Пример успешного ответа
{
"result": "OK",
"module": "vm",
"action": "create_snapshot",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Internal server error, please try again later",
"details": {
"id": 123,
"name": "my_snapshot",
"type": "snapshot"
}
}

vm/get_snapshot

Возвращает список доступных снимков и настроек для виртуальной машины.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_snapshot
token ✅ string Токен авторизации
id ✅ integer ID виртуальной машины
type ❌ string Тип снимков. Допустимые значения: snapshot, backup.
params[type] ❌ string Тип снимков. Допустимые значения: snapshot, backup.

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

curl -s "https://invapi.hostkey.ru/vm.php" -X POST \
--data "action=get_snapshot" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"module": "vm",
"action": "get_snapshot",
"callback": "7bc29eb23fb1b879b21fce509597f07c",
"settings": {
"enable_rotation": true,
"exclude_rotation": [],
"memory_limit": 1024,
"num_max": 5
}
}
Примеры ошибок
{
"code": -1,
"message": "vm/get_snapshot: failed to request snapshots list for [id] - error message"
}

vm/remove_snapshot

Инициирует процесс удаления указанного снимка.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: remove_snapshot
token ✅ string Токен авторизации
id ✅ integer ID виртуальной машины
params[name] ✅ string Имя снимка для удаления.
params[type] ❌ string Тип снимков. Допустимые значения: snapshot, backup.
params[openstack_id] ❌ string ID объекта в OpenStack.
type ❌ string Тип снимка. Допустимые значения: snapshot, backup.
openstack_id ❌ string ID объекта в OpenStack.
name ✅ string Имя снимка системы, который необходимо удалить.

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

curl -s "https://invapi.hostkey.ru/vm.php" -X POST \
--data "action=remove_snapshot" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "params[name]=my_snapshot" \
--data "name=my_snapshot"
Пример успешного ответа
{
"result": "OK",
"module": "vm",
"action": "remove_snapshot",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "vm/remove_snapshot: failed to request snapshot removal for [id] - error message"
}

vm/restore_snapshot

Инициирует процесс восстановления виртуальной машины из существующего снимка.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: restore_snapshot
token ✅ string Токен авторизации
id ✅ integer ID виртуальной машины
params[name] ✅ string Имя снимка для восстановления.
params[type] ❌ string Тип снимков. Допустимые значения: snapshot, backup.
params[openstack_id] ❌ string ID объекта в OpenStack.
type ❌ string Тип снимка. Допустимые значения: snapshot, backup.
openstack_id ❌ string ID объекта в OpenStack.
name ✅ string Имя снимка системы для выполнения операции восстановления.

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

curl -s "https://invapi.hostkey.ru/vm.php" -X POST \
--data "action=restore_snapshot" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "params[name]=my_snapshot_name" \
--data "name=my_snapshot_name"
Пример успешного ответа
{
"action": "restore_snapshot",
"callback_key": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "failed to request restore from snapshot for id - error message"
}

vm/load_stats

Запрашивает статистику (нагрузку) для виртуальной машины.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/vm.php" -X POST \
--data "action=load_stats" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "vm",
"action": "load_stats",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "vm/load_stats: failed to request stats for [id] - error message"
}

vm/update_restore_settings

Обновляет настройки автоматической ротации снимков и бэкапов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_restore_settings
token ✅ string Токен авторизации
id ✅ integer ID виртуальной машины
type ❌ string Тип настроек. Допустимые значения: snapshot, backup
enable_rotation ❌ integer Включить ротацию (0 или 1).
exclude_rotation ❌ array<string> Список ID снимков/бэкапов для исключения из ротации.
params[type] ❌ string Тип настроек. Допустимые значения: snapshot, backup.
params[enable_rotation] ❌ boolean Включить ротацию (0 или 1).
params[exclude_rotation] ❌ array<integer> Список ID снимков/бэкапов для исключения из ротации.

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

curl -s "https://invapi.hostkey.ru/vm.php" -X POST \
--data "action=update_restore_settings" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "type=snapshot" \
--data "exclude_rotation[]=101" \
--data "exclude_rotation[]=102"
Пример успешного ответа
{
"result": "OK",
"module": "vm",
"action": "update_restore_settings"
}
Примеры ошибок
null
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×