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

os.php

В этой статье

Модуль управления операционными системами: управление списком ОС (добавление, удаление, обновление), поиск подходящих серверов и фильтрация доступных систем под конфигурацию сервера

Методы API

Метод Действие Описание
add добавление новой ОС Создает новую запись операционной системы в системе.
list получение списка ОС Возвращает список операционных систем с учетом доступного оборудования, лицензирования и локации пользователя.
remove удаление ОС Удаляет существующую операционную систему по её ID.
search поиск серверов Возвращает список доступных серверов, подходящих под параметры указанной ОС.

os/add

Создает новую запись операционной системы в системе.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: add
token ✅ string Токен авторизации администратора.
params[name] ✅ string Название операционной системы.
params[active] ❌ integer Статус активности ОС. Допустимые значения: 0, 1, 2.
params[description] ❌ string Описание операционной системы.
name ❌ string Уникальное имя создаваемой операционной системы.
description ❌ string Подробное описание характеристик или назначения операционной системы.

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

curl -s "https://invapi.hostkey.ru/os.php" -X POST \
--data "action=add" \
--data "token=HOSTKEY_TOKEN" \
--data "params[name]=Ubuntu 22.04" \
--data "params[active]=1" \
--data "params[description]=Standard Ubuntu Image"
Пример успешного ответа
{
"result": "OK",
"action": "add",
"id": 123,
"name": "Ubuntu 22.04",
"active": 1,
"description": "Standard Ubuntu Image",
"tags": []
}
Примеры ошибок
{
"code": -1,
"message": "OS Ubuntu 22.04 already exists"
}

os/list

Возвращает список операционных систем с учетом доступного оборудования, лицензирования и локации пользователя.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list
token ✅ string Токен авторизации
id ❌ integer ID сервера для подбора подходящих ОС
instance_id ❌ integer ID инстанса (пресета) для фильтрации по параметрам железа
customer ✅ integer ID клиента для получения списка доступных ОС
location ❌ string Код локации дата-центра
email ❌ string Email пользователя для проверки приватных (private) тегов ОС
user_location ❌ string Код местоположения пользователя для фильтрации доступных операционных систем.
bill_period ❌ string Период оплаты, влияющий на отображение активных ОС при почасовой тарификации.

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

curl -s "https://invapi.hostkey.ru/os.php" -X POST \
--data "action=list" \
--data "token=HOSTKEY_TOKEN" \
--data "customer=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "list",
"os_list": [
{
"id": 10,
"name": "Ubuntu 22.04 LTS",
"active": 1,
"price_EUR": 5.5,
"price_RUB": 500,
"billing_plan": {
"USD": "...",
"EUR": "...",
"RUB": "..."
},
"tags": [
{
"tag": "vm",
"value": ""
}
],
"location": "NL",
"ram": 4,
"hdd": 50,
"cores": 2,
"cpu_sockets": 1,
"gpu": 0,
"bm": 0,
"vm": 1,
"vds": 0,
"vgpu": 0,
"allow_test_os": true,
"disable_only": false
}
],
"os_excluded": [
{
"os_id": 5,
"name": "Windows Server 2022",
"foreman_id": 105,
"reason": "OS is excluded by hardware configuration of all available servers"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "os/list: no OS found"
}

os/remove

Удаляет существующую операционную систему по её ID.

HTTP-метод: POST

Параметры:

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

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

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

os/search

Возвращает список доступных серверов, подходящих под параметры указанной ОС.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: search
token ✅ string Токен авторизации
os_id ✅ integer Идентификатор операционной системы для поиска подходящих серверов

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

curl -s "https://invapi.hostkey.ru/os.php" -X POST \
--data "action=search" \
--data "token=HOSTKEY_TOKEN" \
--data "os_id=123"
Пример успешного ответа
{
"result": "OK",
"action": "search",
"servers": [
{
"id": 542,
"type": "string",
"owner": "string",
"status": "string",
"ip": "string",
"location": "string",
"config": "string",
"full_location": "string",
"preset": "string"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "os/search: error during search"
}

os/update

Обновляет параметры существующей операционной системы.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update
token ✅ string Токен авторизации администратора.
id ✅ integer Идентификатор операционной системы для обновления.
params[name] ❌ string Новое название операционной системы.
params[active] ❌ integer Статус активности ОС. Допустимые значения: 0, 1, 2.
params[description] ❌ string Новое описание операционной системы.
name ❌ string Название операционной системы для обновления.
description ❌ string Описание операционной системы.

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

curl -s "https://invapi.hostkey.ru/os.php" -X POST \
--data "action=update" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "params[name]=New OS Name" \
--data "params[active]=1" \
--data "params[description]=Updated description"
Пример успешного ответа
{
"id": 123,
"name": "Updated OS Name",
"active": 1,
"description": "Updated description"
}
Примеры ошибок
{
"code": -1,
"message": "failed to update OS Ubuntu 22.04"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×