Заказ выделенных серверов доступен из панели управления и через 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% на выделенные и виртуальные серверы. Для помощи партнерам с интеграцией есть специальный инженер, готовый оперативно ответить на все возникающие вопросы. Подробности партнерской программы смотрите на нашем сайте.
ссылка на оригинал статьи https://habr.com/ru/articles/666298/
Добавить комментарий