Instant servers
HOSTKEY provides several basic services:
- custom build servers - single and dual CPU servers built according to customer's specifications from the last generation hardware
- standard configurations (instances): compute (VM), bare-metal, gpu bare-metals, and vGPU servers (VM with PCIe-passthrough GPU). Those configurations are stocked up and deployed automatically in 10-20 minutes.
- stock servers - bare metals from old generations, non-standard configurations, servers without remote control modules.
- Ryzen/i9/i10 servers - high-speed single-CPU servers built around the latest Ryzen9 or i9/i10 CPUs, usually without a remote control.
You may order instant servers via this API. All payments for instant servers go from the billing's credit account. You should have the necessary funds on account to place an order.
Order instant servers actions:
Resource | Action | Description |
---|---|---|
presets.php | list | Get a list of available instances for a region |
os.php | list | Get OS list for a specific instance |
traffic_plans.php | list | Get appropriate traffic plans for specific instance |
eq.php | order_instance | Order a specific instance |
The following abbreviations can be used in the response in the name of the instances:
- BM - this is bare-metal server;
- VM - this is virtual instance (VM);
- Compute - this instance belongs to compute group. Compute group is general use KVM-based virtual servers (VPS);
- Gpu - this is GPU server;
- Vgpu - this is vGPU server.
Presets/List
locations are currently RU, NL, and the US. Using this call you could check availability and retrieve a fresh list of available instances with all basic pricing. No access token is required.
HTTP Method - POST
Parameter | Required | Type | Value/default | Description |
---|---|---|---|---|
action | * | string | list | Main action - Get a list of available instances for a region |
location | * | string | Instances location |
--data "action=list" \
--data "location=" \
In order to place an order, we should retrieve the appropriate OS and post-install tasks list.
OS/List
Basically, you could safely ignore all the tags with this request. The call will return only suitable OS for the specific instance. All Windows license prices are already calculated.
HTTP Method - POST
Parameter | Required | Type | Value/default | Description |
---|---|---|---|---|
action | * | string | list | Main action - Get OS list for a specific instance |
location | * | string | Instances location | |
instance_id | * | int | id specific instance |
--data "action=list" \
--data "instance_id=" \
Traffic_plans/List
HTTP Method - POST
Parameter | Required | Type | Value/default | Description |
---|---|---|---|---|
action | * | string | list | Main action - Get appropriate traffic plans for specific instance |
location | * | string | Instances location | |
instance_id | * | int | Id specific instance |
--data "action=list" \
--data "location=" \
--data "instance=" \
Eq/Order_instance
HTTP Method - POST
Parameter | Required | Type | Value/default | Description |
---|---|---|---|---|
action | * | string | order_instance | Main action - Order a specific instance |
token | * | string | Your session token | |
deploy_period | * | string | Monthly, quarterly, semi-annualy, annually. Discounts for server is 3, 6 and 12%, not including traffic plans and licenses | |
deploy_notify | * | string | Notify customer by email about successful deployment | |
pin | * | int | Your security PIN | |
id | * | int | Server id is not known yet | |
os_id | * | int | OS id from the os/list | |
root_pass | * | string | Default root password | |
hostname | string | Default hostname | ||
ssh_key | string | Public ssh key to root user | ||
post_install_callback | string | URL to call after successful deployment | ||
post_install_script | string | Сode to run after successful deployment | ||
os_name | string | OS name in readable format | ||
own_os | string | If set into 1, instance will be delivered without reinstall. Usefull if you would like interactively reinstall it later | ||
jenkins_task | string | Jenkins task id to run after deployment, -1 if you don't need it | ||
traffic_plan | * | string | Selected traffic plan ID | |
preset | * | string | Instance code to be deployed | |
location_name | * | string | NL/RU/US |
--data "action=order_instance" \
--data "token=" \
--data "deploy_period=" \
--data "deploy_notify=" \
--data "email=" \
--data "pin=" \
--data "id=-" \
--data "os_id=" \
--data "root_pass=" \
--data "hostname=" \
--data "ssh_key=" \
--data "post_install_callback=" \
--data "post_install_script=" \
--data "reinstall_key=" \
--data "os_name=" \
--data "imitate_deploy=" \
--data "imitate_error=" \
--data "own_os=0" \
--data "jenkins_task=" \
--data "traffic_plan=" \
--data "invoice_relid=" \
--data "preset=" \
--data "location_name=" \
After receiving the request, INVAPI will select/create an appropriate server in a specific location and proceed with its deployment. Before any install, it will check funds availability on a credit account. If install will be successful, a new server will be linked to the customer's account. Customer will be notified by email if requested. All paid licenses will be added as order addons.