Deploy-API
Bestill nye servere og følg dem til de er klare. Alle endepunkter krever Bearer-token-autentisering; en API-nøkkel trenger lese- og skrivetilgang til Deploy for å bestille. Flyten i panelet er beskrevet i Opprette en server.
En bestilling er ekte: den oppretter en ordre og, for månedlig, kvartalsvis og årlig periode, en faktura.
GET /deploy/servers
Katalogen: hva som kan bestilles, hvor, og om kontoen kan betale for det.
curl https://api.gigahost.no/api/v0/deploy/servers \
-H "Authorization: Bearer $TOKEN"data inneholder:
tiers: produktgrupper, hver medgroup_id,group_name,in_stockogproducts.regionsogdatacenters: lokasjonene produktene bruker. Et datasenter hardc_id,dc_name,region_id,region_name,region_name_short,region_location,region_countryogregion_icon.currency:NOK.eligibility: betalingssjekkene bak timesordrer (verified,has_method,method_qualifies,has_paid_invoice,qualifies_arrears,credit_nokog timesforbruket denne måneden).
Hvert produkt har blant annet disse feltene:
| Felt | Beskrivelse |
|---|---|
product_id, price_id | Send begge til POST /deploy/servers. |
type | vm, dedicated eller auction. |
in_stock, built_to_order, waitlist_eligible | Lagerstatus. Et produkt som er utsolgt og ikke bygges på bestilling, kan bare reserveres. |
allow_hourly, allow_recurring | Hvilke betalingsperioder produktet godtar. |
rate_hourly, rate_monthly, setup | Priser i NOK eks. mva. |
region_ids, dc_ids | Regioner og datasentre produktet kan plasseres i. |
dc_stock | Objekt med dc_id → true/false: om produktet er på lager i det datasenteret. |
specs | CPU, minne, disker og båndbredde. |
Operativsystemene kommer fra GET /reinstall/distro og ett-klikks appene fra GET /reinstall/apps.
POST /deploy/servers
Bestill én eller flere servere.
| Felt | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
pid | number | Ja | product_id fra katalogen. |
price_id | number | Ja | price_id for samme produkt. |
dc_id | number | En av dc_id eller region_id | Datasenteret serveren skal opprettes i. Setter regionen. |
region_id | number | En av dc_id eller region_id | Regionen serveren skal opprettes i, uansett datasenter. |
os_id | number | En av os_id, iso_id eller rescue | Operativsystem eller ett-klikks app. |
iso_id | number | ISO-fil på kontoen som serveren skal starte fra. Bare skyservere. | |
rescue | number | 1 for å starte serveren i rescuemodus. | |
billing_period | string | Nei | hourly (standard), monthly, quarterly eller annual. |
quantity | number | Nei | Antall servere, standard 1. |
hostnames | array | Nei | Ett servernavn per server. Bare bokstaver, tall, ., _ og -, opptil 253 tegn. |
ssh_keys | array | Nei | ID-er for SSH-nøkler på kontoen (se sshkeys i GET /account). Uten nøkkel genereres et root-passord. |
firstboot | string | Nei | Skript i ren tekst som kjøres én gang på det installerte systemet ved første oppstart, maks 32768 byte. Med en app kjøres det etter appen. |
app_domain | string | Nei | Bare for apper. Domene for appen. Bare med quantity 1. |
app_email | string | Nei | Bare for apper. E-postadresse for varsler om sertifikatet. |
backups | number | Nei | 1 for å legge til backup. Bare skyservere. |
coupon_code | string | Nei | Rabattkode. Ignoreres på timesordrer. |
waitlist | string | Nei | reserve eller notify for et utsolgt produkt. Se Venteliste. |
curl -X POST https://api.gigahost.no/api/v0/deploy/servers \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pid": 123,
"price_id": 456,
"dc_id": 1,
"os_id": 12,
"billing_period": "monthly",
"hostnames": ["web-01.example.com"],
"ssh_keys": [42]
}'Respons (utdrag):
{
"data": {
"success": true,
"message": "Servers queued for deployment.",
"order_ids": [98765],
"order_numbers": ["100234"],
"quantity": 1,
"billing_period": "monthly",
"currency": "NOK"
}
}Ta vare på order_ids for å følge serverne med GET /deploy/status. En ordre med månedlig, kvartalsvis eller årlig periode returnerer også prisene, pending_payment og under_review. En timesordre returnerer rate_hourly og monthly_cap.
Servernavnet du sender, blir navnet i panelet. Vertsnavnet i operativsystemet bygges fra det: det gjøres om til små bokstaver og kuttes ved første tegn som ikke er en bokstav, et tall, . eller -. Blir resultatet tomt, brukes srv<id>.gigahost.no.
Feil for datasenter
meta.message | Når |
|---|---|
Required field is invalid: dc_id | dc_id er ikke et tall. |
Datacenter was not found. | Ukjent dc_id. |
Product is not available in the selected datacenter. | Produktet tilbys ikke der; sjekk dc_ids. |
Product is out of stock in the selected datacenter. | Et annet datasenter har fortsatt lager; sjekk dc_stock. |
Not enough stock in the selected datacenter to deploy N server(s). | Dedikerte servere: færre ledige enheter enn quantity. |
Et produkt som bygges på bestilling, eller som du reserverer på ventelisten, ignorerer dc_id og plasseres etter region.
Feil for apper
meta.message | Når |
|---|---|
This app is not available right now. | Appen er slått av. |
Apps can only be installed on KVM servers and dedicated servers. | Produktet er en LXC-container. |
This app is only available on dedicated servers. | Appen krever en dedikert server. |
Required field is invalid: app_domain | Ikke et gyldig domenenavn. |
Required field is invalid: app_email | Ikke en gyldig e-postadresse. |
One domain cannot be used for several servers. Order them one at a time, or leave the domain empty. | app_domain med quantity over 1. |
Minimumskravene til minne og disk for en app (os_minram, os_min_disk) sjekkes når serveren installeres; velg et produkt som oppfyller dem.
Andre feil
Required field is invalid: hostnamesFirstboot script is too large.Choose an operating system, an ISO, or rescue mode.This product cannot be ordered hourly./This product cannot be ordered on a recurring term.Product is out of stock./Not enough stock to deploy N server(s).Please complete your account profile before ordering.Hourly servers require a non-prepaid card or PayPal on file plus at least one paid invoice on your account …(seeligibilityi katalogen)
Venteliste
Når et produkt er utsolgt overalt og waitlist_eligible er true, sender du waitlist:
reserveholder av en ordre som opprettes automatisk når det blir ledig kapasitet. Du faktureres når serveren er opprettet.notifysender deg bare en e-post når produktet er tilgjengelig igjen.
GET /deploy/status
Følg serverne i én eller flere ordrer.
curl "https://api.gigahost.no/api/v0/deploy/status?ids=98765,98766" \
-H "Authorization: Bearer $TOKEN"ids er en kommaseparert liste med order_ids. data.servers har én oppføring per server med order_id, order_number, hostname, srv_id, ip, ipv6, status, password, app og install_progress. data.all_ready blir true når alle serverne har nådd en sluttilstand.
status | Betydning |
|---|---|
waiting | Ordren venter på betaling. |
waitlist | Reservert; opprettes når det blir ledig kapasitet. |
deploying | Serveren settes opp. |
installing | Operativsystemet installeres. install_progress har samme form som GET /servers/{id}/install. |
ready | Ferdig. |
rescue / iso | Startet i rescuemodus eller fra en ISO-fil. |
password er root-passordet mens installasjonen pågår når ingen SSH-nøkkel ble valgt, og i rescuemodus. Det returneres ikke til API-nøkler med bare lesetilgang. app inneholder innloggingen til appen (name, url, admin_user, admin_password) mens en app installeres; admin_password er tom for API-nøkler med bare lesetilgang. Ingen av dem tas vare på etterpå.

