Заказ выделенных серверов доступен из панели управления и через API
Специалисты HOSTKEY автоматизировали настройку и передачу клиентам выделенных серверов (включая машины с профессиональными GPU) на всех наших площадках в Москве, Амстердаме и Нью-Йорке. Для формирования заказа достаточно авторизоваться в личном кабинете и перейти во вкладку Stock Servers.
В списке показаны все доступные конфигурации VDS, отсортированные для удобства пользователей по ценам/производительности с возможностью фильтрации по типу. Выделенные серверы с современным IPMI обычно сдаются в течение 15 минут после заказа, а серверы без управления или с нестандартным управлением — в течение ближайшего рабочего дня, поскольку установку ОС на них нужно инициировать вручную или им требуется ручная преднастройка.
Список серверов может быть также запрошен через вызов API: curl -s https://invapi.hostkey.com/stocks.php?action=list&location=NL&group=ALL
Вывод будет примерно таким:
{
"result": "OK",
"action": "list",
"servers": [{
"id": 17324,
"name": "17324",
"status": "sale",
"hardware": "Xeon E5-1650 3.2GHz (6 cores)\/16Gb\/500Gb HDD\/IPMI",
"location": "NL",
"type": "Server",
"cpu_count": "1",
"gpu": 0,
"price_EUR": 45,
"price_RUR": 4621,
"ipmi": 1,
"cpu_perf": 8152,
"cpu_perflink": "http:\/\/www.cpubenchmark.net\/cpu_lookup.php?cpu=Intel+Xeon+E5-1650+%40+3.20GHz&id=1211",
"tags": "ipmi": {
"tag": "ipmi",
"value": "supermicro",
"extra": "",
"component": "hardware"
}
},
"billing_plan": {
"EUR": {
"1": 45,
"3": 131,
"6": 254,
"12": 476
},
"RUB": {
"1": 4621,
"3": 13448,
"6": 26063,
"12": 48798
}
}
}]
}
При заказе из панели управления можно выбрать платежный период: при оплате за 3 месяца клиент получит скидку в 3%, при оплате за 6 месяцев — в 6%, за 12 месяцев — 12%.
Для получения информации и заказа сервера через API необходимо авторизоваться и сделать несколько запросов (например, с помощью curl):
Запросить данные по конкретному серверу: curl -s "https://invapi.hostkey.com/stocks.php?action=show&id=17324"
Получить список совместимых ОС: curl -s "https://invapi.hostkey.com/os.php?action=list&id=17324"
Пример вывода:
{
"result": "OK",
"action": "list",
"os_list": [{
"id": 184,
"name": "AlmaLinux 8",
"api_enabled": 0,
"type_login": 1,
"pxe_os_id": null,
"active": 1,
"description": " ",
}, {
"id": 112,
"name": "CentOS 7",
"api_enabled": 0,
"type_login": 4,
"pxe_os_id": 226,
"active": 1,
"description": "null",
}]
}
Получить список доступных тарифных планов: curl -s "https://invapi.hostkey.com/traffic_plans.php?action=list&id=17324"
Пример вывода:
{
"result": "OK",
"action": "list",
"traffic_plans": [{
"id": 12,
"name": "50Tb free (1Gbps)",
"limit_in": 999,
"limit_out": 50,
"rate_in": 0,
"rate_out": 2,
"bandwidth": 1000,
"locations": "NL,US,",
"currency_id": 0,
"active": 1,
"web_plan": 0,
"price": 0,
"tags": [{
"id": 12383,
"component_id": 12,
"tag": "gpu",
"value": "true",
"extra": "",
"internal": 0
}, {
"id": 80669,
"component_id": 12,
"tag": "bm",
"value": "true",
"extra": "",
"internal": 1
}]
}, {
"id": 33,
"name": "50Tb (1Gbps port) NL",
"limit_in": 999,
"limit_out": 50,
"rate_in": 0,
"rate_out": 180,
"bandwidth": 1000,
"locations": "NL,",
"currency_id": 1,
"active": 1,
"web_plan": 0,
"price": 0,
"tags": [{
"id": 12382,
"component_id": 33,
"tag": "gpu",
"value": "true",
"extra": "",
"internal": 0
}, {
"id": 11474,
"component_id": 33,
"tag": "bm",
"value": "true",
"extra": "",
"internal": 1
}]
}, {
"id": 14,
"name": "1Gbps unmetered",
"limit_in": 999,
"limit_out": 999,
"rate_in": 0,
"rate_out": 0,
"bandwidth": 1000,
"locations": "NL,",
"currency_id": 0,
"active": 1,
"web_plan": 0,
"price": 140,
"tags": [{
"id": 11450,
"component_id": 14,
"tag": "bm",
"value": "true",
"extra": "",
"internal": 1
}, {
"id": 11451,
"component_id": 14,
"tag": "unmetered",
"value": "true",
"extra": "",
"internal": 1
}, {
"id": 11462,
"component_id": 14,
"tag": "gpu",
"value": "true",
"extra": "",
"internal": 1
}],
"billing_plan": {
"EUR": {
"1": 140,
"3": 420,
"6": 840,
"12": 1680
}
}
}, {
"id": 35,
"name": "1Gbps unlimited NL",
"limit_in": 999,
"limit_out": 999,
"rate_in": 0,
"rate_out": 2,
"bandwidth": 1000,
"locations": "NL,",
"currency_id": 1,
"active": 1,
"web_plan": 0,
"price": 12600,
"tags": [{
"id": 11468,
"component_id": 35,
"tag": "bm",
"value": "true",
"extra": "",
"internal": 1
}, {
"id": 11469,
"component_id": 35,
"tag": "unmetered",
"value": "true",
"extra": "",
"internal": 1
}, {
"id": 11470,
"component_id": 35,
"tag": "gpu",
"value": "true",
"extra": "",
"internal": 1
}],
"billing_plan": {
"RUB": {
"1": 12600,
"3": 37800,
"6": 75600,
"12": 151200
}
}
}]
}
Получить список задач, доступных после установки ОС: curl -s curl "https://invapi.hostkey.com/jenkins.php?action=get_tasks"
Пример вывода:
{
"result": "OK",
"tasks": [
{
"id": -1,
"task": "",
"desc": "Do nothing",
"tag": "",
"tags": [
{
"tag": "gpu"
},
{
"tag": "vgpu"
},
{
"tag": "vm"
},
{
"tag": "bm"
}
]
},
{
"id": 1,
"task": "invapi_gpu_conf_iommu_patch_gpu_linux_auto.dsl",
"desc": "Install GPU drivers",
"tag": "gpu_driver",
"tags": [
{
"tag": "gpu"
},
{
"tag": "vgpu"
},
{
"tag": "default"
}
]
},
…
}
Сформировать заказ:
curl -s 'https://invapi.hostkey.com/eq.php' -X POST \
-H 'Accept: application/json' \
--data 'token=”сессионный_токен”' \
--data 'action=order_instance' \
--data 'pin=ваш_секретный_пинкод' \
--data 'id=17324' \ - номер выбранного сервера
--data 'deploy_period=monthly' \ - платежный период
--data 'disk_mirror=LVM_HBA' \ - тип разбивки дисков
--data 'os_id=184' \ - номер нужной ОС из списка выше
--data 'hostname=' \ - имя хоста
--data 'root_pass=9DZbK1p4_A' \ - пароль суперпользователя
--data 'traffic_plan=12' \ - выбранный тарифный план
--data 'ssh_key=' \ - публичный ключ для суперпользователя
--data 'post_install_script=' \ - скрипт который надо запустить на сервере при его первом запуске
--data 'post_install_callback=' \ - URL который ОС загрузит при первом запуске
--data ‘deploy_comment = ‘\ - комментарий для дежурных, если сервер не предусматривает автоматической установки
Ответ будет содержать подтверждение ID заказанного сервера, его статус и ключ для отслеживания прогресса установки через eq_calback. Наша панель управления проверит цены, добавит нужные скидки и запустит установку сервера при наличии кредита на лицевом счете клиента.
{
"result": "OK",
"action": "order_instance",
"callback": "2e43ea2bf9e10b961770d1ce69b226f6",
"deploy_status": "install",
"id": 17324
}
Проверить статус выполнения заказа можно с помощью следующего запроса: https://invapi.hostkey.com/eq_callback.php?key=2e43ea2bf9e10b961770d1ce69b226f6 (ключ для проверки через eq_calback выдается на этапе формирования заказа).
Пока идет установка, ответ будет следующим: {"result":"Not ready","key":"2e43ea2bf9e10b961770d1ce69b226f6"}.
Также клиент может получить иные статусы: {"result":"Stage", “message”:”(1/1: OS Installation started”, "key":"2e43ea2bf9e10b961770d1ce69b226f6"}.
В итоге придет финальный ответ {"result":"OK", “message”:”Deploy completed”, "key":"2e43ea2bf9e10b961770d1ce69b226f6"} и с этого момента сервером можно пользоваться.
Система создаст необходимые записи в биллинге, спишет средства с лицевого счета клиента и вышлет электронное письмо с данными для удаленного доступа к серверу.
***
Компания HOSTKEY приглашает к сотрудничеству реселлеров и партнеров: мы предоставляем им доступные сразу при интеграции через API скидки до 20% на выделенные и виртуальные серверы. Для помощи партнерам с интеграцией есть специальный инженер, готовый оперативно ответить на все возникающие вопросы. Подробности партнерской программы смотрите на нашем сайте.