Skip to content

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.

bash
curl https://api.gigahost.no/api/v0/deploy/servers \
  -H "Authorization: Bearer $TOKEN"

data inneholder:

  • tiers: produktgrupper, hver med group_id, group_name, in_stock og products.
  • regions og datacenters: lokasjonene produktene bruker. Et datasenter har dc_id, dc_name, region_id, region_name, region_name_short, region_location, region_country og region_icon.
  • currency: NOK.
  • eligibility: betalingssjekkene bak timesordrer (verified, has_method, method_qualifies, has_paid_invoice, qualifies_arrears, credit_nok og timesforbruket denne måneden).

Hvert produkt har blant annet disse feltene:

FeltBeskrivelse
product_id, price_idSend begge til POST /deploy/servers.
typevm, dedicated eller auction.
in_stock, built_to_order, waitlist_eligibleLagerstatus. Et produkt som er utsolgt og ikke bygges på bestilling, kan bare reserveres.
allow_hourly, allow_recurringHvilke betalingsperioder produktet godtar.
rate_hourly, rate_monthly, setupPriser i NOK eks. mva.
region_ids, dc_idsRegioner og datasentre produktet kan plasseres i.
dc_stockObjekt med dc_id → true/false: om produktet er på lager i det datasenteret.
specsCPU, 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.

FeltTypePåkrevdBeskrivelse
pidnumberJaproduct_id fra katalogen.
price_idnumberJaprice_id for samme produkt.
dc_idnumberEn av dc_id eller region_idDatasenteret serveren skal opprettes i. Setter regionen.
region_idnumberEn av dc_id eller region_idRegionen serveren skal opprettes i, uansett datasenter.
os_idnumberEn av os_id, iso_id eller rescueOperativsystem eller ett-klikks app.
iso_idnumberISO-fil på kontoen som serveren skal starte fra. Bare skyservere.
rescuenumber1 for å starte serveren i rescuemodus.
billing_periodstringNeihourly (standard), monthly, quarterly eller annual.
quantitynumberNeiAntall servere, standard 1.
hostnamesarrayNeiEtt servernavn per server. Bare bokstaver, tall, ., _ og -, opptil 253 tegn.
ssh_keysarrayNeiID-er for SSH-nøkler på kontoen (se sshkeys i GET /account). Uten nøkkel genereres et root-passord.
firstbootstringNeiSkript 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_domainstringNeiBare for apper. Domene for appen. Bare med quantity 1.
app_emailstringNeiBare for apper. E-postadresse for varsler om sertifikatet.
backupsnumberNei1 for å legge til backup. Bare skyservere.
coupon_codestringNeiRabattkode. Ignoreres på timesordrer.
waitliststringNeireserve eller notify for et utsolgt produkt. Se Venteliste.
bash
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):

json
{
  "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.messageNår
Required field is invalid: dc_iddc_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.messageNå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_domainIkke et gyldig domenenavn.
Required field is invalid: app_emailIkke 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: hostnames
  • Firstboot 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 … (se eligibility i katalogen)

Venteliste ​

Når et produkt er utsolgt overalt og waitlist_eligible er true, sender du waitlist:

  • reserve holder av en ordre som opprettes automatisk når det blir ledig kapasitet. Du faktureres når serveren er opprettet.
  • notify sender deg bare en e-post når produktet er tilgjengelig igjen.

GET /deploy/status ​

Følg serverne i én eller flere ordrer.

bash
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.

statusBetydning
waitingOrdren venter på betaling.
waitlistReservert; opprettes når det blir ledig kapasitet.
deployingServeren settes opp.
installingOperativsystemet installeres. install_progress har samme form som GET /servers/{id}/install.
readyFerdig.
rescue / isoStartet 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å.

Gigahost Docs

This site is currently in development.
Enter the password to continue.