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

datacenter.php

В этой статье

API для управления дата-центрами, включая создание, обновление, удаление, перемещение и просмотр истории изменений.

Методы API

Метод Действие Описание
add добавление дата-центра Создает новую запись дата-центра с указанной локацией и параметрами.
history история изменений Возвращает историю логов для дата-центров.
list список дата-центров Возвращает список доступных дата-центров с фильтрацией по локации и активности.
relocate перемещение дата-центра Изменяет локацию (регион) для указанного дата-центра.
remove удаление дата-центра Удаляет запись о дата-центре из базы данных.
show просмотр дата-центра Получает полные данные о конкретном дата-центре по его ID.
update обновление дата-центра Обновляет атрибуты существующего дата-центра.

datacenter/add

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add
token ✅ string Токен авторизации
params[name] ✅ string Название дата-центра. Обязательный параметр.

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

curl -s "https://invapi.hostkey.ru/datacenter.php" -X POST \
--data "action=add" \
--data "token=HOSTKEY_TOKEN" \
--data "params[name]=Main Data Center"
Пример успешного ответа
{
"result": "OK",
"module": "datacenter",
"action": "add",
"datacenter": {
"id": 1,
"dataCenterLocation_ID": 1,
"name": "Main Data Center",
"description": "Main Data Center",
"pos": 0,
"active": 1,
"warehouse": 0,
"racks_list": []
}
}
Примеры ошибок
{
"-1": [
{
"message": "datacenter/add: Valid location ID is required for operation"
},
{
"message": "datacenter/add: access denied"
}
],
"-2": [
{
"message": "datacenter/add: invalid token, logout"
}
]
}

datacenter/history

Возвращает историю логов для дата-центров.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: history
token ✅ string Токен авторизации
id[] ❌ array<integer> Массив ID записей логов для фильтрации. Принимает несколько значений: id[]=1&id[]=2
type[] ❌ array<string> Типы записей истории. Допустимые значения: SUCCESS, ALERT
date_from ❌ string Дата начала периода (ISO-дата).
component ❌ string Идентификатор компонента для фильтрации истории событий.
date_to ❌ string Дата окончания периода выборки данных из истории.

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

curl -s "https://invapi.hostkey.ru/datacenter.php" -X POST \
--data "action=history" \
--data "token=HOSTKEY_TOKEN" \
--data "id[]=1" \
--data "id[]=2" \
--data "type[]=SUCCESS" \
--data "type[]=ALERT"
Пример успешного ответа
{
"result": "OK",
"module": "datacenter",
"action": "history",
"history": [
{
"id": 0,
"date": "2024-05-20 12:00:00",
"type": "SUCCESS",
"message": "--- End of log ---",
"login": "SYSTEM",
"component": "dc",
"id_val": 1,
"date_from": "2024-05-01",
"date_to": "2024-05-20"
}
]
}
Примеры ошибок
{
"-1": "action required / authentication required / access denied",
"-2": "invalid token, logout"
}

datacenter/list

Возвращает список доступных дата-центров с фильтрацией по локации и активности.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list
token ✅ string Токен авторизации
location ❌ integer|string ID локации или alpha2 код страны.
active ❌ boolean Фильтр по активности. Допустимые значения: 0, 1.

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

curl -s "https://invapi.hostkey.ru/datacenter.php" -X POST \
--data "action=list" \
--data "token=HOSTKEY_TOKEN" \
--data "location=10" \
--data "active=1"
Пример успешного ответа
{
"result": "OK",
"module": "datacenter",
"action": "list",
"datacenters_list": [
{
"id": 1,
"name": "DC-Alpha",
"location": 10,
"active": 1,
"tags": {}
}
]
}
Примеры ошибок
{
"code": -1,
"message": "$module: authentication required"
}

datacenter/relocate

Изменяет локацию (регион) для указанного дата-центра.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: relocate
token ✅ string Токен авторизации
id ✅ integer ID дата-центра.
location ✅ string integer

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

curl -s "https://invapi.hostkey.ru/datacenter.php" -X POST \
--data "action=relocate" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "location=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "datacenter",
"action": "relocate",
"datacenter": {
"racks_list": []
}
}
Примеры ошибок
{
"code": -1,
"message": "$module/$action: access denied"
}

datacenter/remove

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/datacenter.php" -X POST \
--data "action=remove" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=123"
Пример успешного ответа
{
"result": "OK",
"module": "datacenter",
"action": "remove",
"datacenter": {
"id": 123
}
}
Примеры ошибок
{
"code": -1,
"message": "UnexpectedValueException: Unable to remove datacenter with racks in service"
}

datacenter/show

Получает полные данные о конкретном дата-центре по его ID.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: show
token ✅ string Токен авторизации
params[id] ✅ integer ID дата-центра.

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

curl -s "https://invapi.hostkey.ru/datacenter.php" -X POST \
--data "action=show" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=123"
Пример успешного ответа
{
"result": "OK",
"module": "datacenter",
"action": "show",
"datacenter": {
"id": 123,
"name": "Example DC",
"location": 5,
"active": 1,
"racks_list": []
}
}
Примеры ошибок
{
"code": -1,
"message": "$module/action: access denied"
}

datacenter/update

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/datacenter.php" -X POST \
--data "action=update" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "name=Updated Name" \
--data "description=New description" \
--data "pos=10" \
--data "active=1" \
--data "warehouse=0"
Пример успешного ответа
{
"result": "OK",
"module": "datacenter",
"action": "update",
"datacenter": {
"id": 123,
"name": "Updated Name",
"description": "New description",
"pos": 10,
"active": 1,
"warehouse": 0,
"racks_list": []
}
}
Примеры ошибок
{
"code": -1,
"message": "datacenter/update: Valid datacenter ID is required for operation"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×