Hetzner - DokuWiki

Robot Webservice

Allgemein

Allgemeines

Die Schnittstelle setzt auf dem HTTP-Protokoll auf und kann somit mit jeder beliebigen HTTP-Library benutzt werden. Als einfacher Client für die Kommandozeile kann zum Beispiel curl verwendet werden.

Grundsätzlich gilt:

  • POST-Parameter werden im Format "application/x-www-form-urlencoded" übergeben
  • Das Rückgabeformat ist JSON, durch Anhängen von ".yaml" wird das Format auf YAML gesetzt
  • Wenn die Abfrage erfolgreich war, wird der HTTP-Status-Code 200 OK zurückgeliefert. Wenn eine neue Ressource erstellt wurde, wird der HTTP-Status-Code 201 CREATED zurückgegeben.
  • Im Fehlerfall wird der entsprechende HTTP-Error-Code gesetzt
  • Die Authentifizierung erfolgt über HTTP-Basic-Auth
  • Die Schnittstelle ist nur über HTTPS erreichbar
  • Für den Webservice kann ein eigener Benutzer angelegt werden, sie finden diese Option im Robot unter dem Menüpunkt "Einstellungen"

URL

https://robot-ws.your-server.de

Beispiel JSON

curl -u login:password https://robot-ws.your-server.de/reset

Ausgabe

[
  {
    "reset":
    {
      "server_ip": "123.123.123.123",
      "type": ["man","hw","sw"]
    }
  }
]

Beispiel YAML

curl -u login:password https://robot-ws.your-server.de/reset.yaml

Ausgabe

-
  reset: { server_ip: 123.123.123.123, type: [man, hw, sw] }

Fehler

Fehler-Format

error (Object)
status (Integer) HTTP Status Code
code (String) Spezifischer Error-Code
message (String) Spezifische Fehlermeldung

Beispiel:

{
  "error":
  {
    "status": 404,
    "code": "BOOT_NOT_AVAILABLE",
    "message": "No boot configuration available for this server"
  }
}

Fehler-Format bei falschen Eingabeparametern

error (Object)
status (Integer) 400
code (String) INVALID_INPUT
message (String) invalid input
missing (Array) Array der fehlenden Eingabeparameter oder null
invalid (Array) Array der fehlerhaften Eingabeparameter oder null

Authentifizierungsfehler

Bei falschem Login/Passwort wird der Status 401 - Unauthorized zurückgeliefert.

Limitierung

Wenn das Request-Limit erreicht wurde, wird der Status 403 - Forbidden gesetzt.

Nichterreichbarkeit aufgrund von Wartungsarbeiten

Wenn die Schnittstelle aufgrund von Wartungsarbeiten nicht erreichbar ist wird der Status 503 - Service Unavailable gesetzt.

Inhaltsverzeichnis


Server

GET /server

Beschreibung

Abragen aller Server

Ausgabe

(Array)
server (Object)
server_ip (String) Haupt-IP des Servers
server_name (String) Name des Servers
product (String) Produktname
dc (String) Rechenzentrum
traffic (String) Freitraffic
flatrate (Boolean) Zeigt an, ob Server eine Traffic-Flatrate hat (keine Bezahlung bei Traffic-Überschreitung, sondern Drosselung) oder nicht (Bezahlung bei Traffic-Überschreitung)
status (String) Bestellstatus (fertig oder in Bearbeitung)
throttled (Boolean) Zeigt an, ob der Server gedrosselt ist
cancelled (Boolean) Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String) Bezahlt-bis Datum

Fehler

Status Code Beschreibung
404 NOT_FOUND Es konnten keine Server gefunden werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/server
[
 {
   "server": {
     "server_ip": "123.123.123.123",
     "server_name": "Server1",
     "product": "DS 3000",
     "dc": "6",
     "traffic": "5 TB",
     "flaterate": true,
     "status": "ready",
     "throttled": true,
     "cancelled": false,
     "paid_until": "2010-09-02"
   }
 },
 {
   "server": {
     "server_ip": "123.123.123.124",
     "server_name": "Server2",
     "product": "X5",
     "dc": "5",
     "traffic": "2 TB",
     "flaterate": true,
     "status": "ready",
     "throttled": false,
     "cancelled": false,
     "paid_until": "2010-06-11"
   }
 }

]

GET /server/<server-ip>

Beschreibung

Abfragen der Server-Daten für einen bestimmten Server

Ausgabe

server (Object)
server_ip (String) Haupt-IP des Servers
server_name (String) Name des Servers
product (String) Produktname
dc (String) Rechenzentrum
traffic (String) Freitraffic
flatrate (Boolean) Zeigt an, ob Server eine Traffic-Flatrate hat (keine Bezahlung bei Traffic-Überschreitung, sondern Drosselung) oder nicht (Bezahlung bei Traffic-Überschreitung)
status (String) Bestellstatus (fertig oder in Bearbeitung)
throttled (Boolean) Zeigt an, ob der Server gedrosselt ist
cancelled (Boolean) Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String) Bezahlt-bis Datum
ip (Array) Array aller zugehörigen Einzel-IPs
subnet (Array) Array aller zugehörigen Subnetze
reset (Boolean) Zeigt an, ob ein Reset möglich ist
rescue (Boolean) Zeigt an, ob das Rescuesystem verfügbar ist
vnc (Boolean) Zeigt an, ob die VNC-Installation verfügbar ist
windows (Boolean) Zeigt an, ob die Windows-Installation verfügbar ist
plesk (Boolean) Zeigt an, ob die Plesk-Installation verfügbar ist
cpanel (Boolean) Zeigt an, ob die cPanel-Installation verfügbar ist
wol (Boolean) Zeigt an, ob Wake on Lan verfügbar ist

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte nicht gefunden werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/server/123.123.123.123
{
 "server": {
   "server_ip":" 123.132.123.123",
   "server_name": "Server1",
   "product": "EQ 8",
   "dc": "11",
   "traffic": "5 TB",
   "flatrate": true,
   "status": "ready",
   "throttled": false,
   "cancelled": false,
   "paid_until": "2010-08-04",
   "ip": ["124.124.124.124"],
   "subnet": [{"ip": "2a01:4f8:111:4221::", "mask": "64"}],
   "reset": true,
   "rescue": true,
   "vnc": true,
   "windows": true,
   "plesk": true,
   "cpanel": true,
   "wol": true
 }

}

POST /server/<server-ip>

Beschreibung

Anpassen des Servernamens für einen bestimmten Server

Eingabe

server_name Name des Servers

Ausgabe

server (Object)
server_ip (String) Haupt-IP des Servers
server_name (String) Name des Servers
product (String) Produktname
dc (String) Rechenzentrum
traffic (String) Freitraffic
flatrate (Boolean) Zeigt an, ob Server eine Traffic-Flatrate hat (keine Bezahlung bei Traffic-Überschreitung, sondern Drosselung) oder nicht (Bezahlung bei Traffic-Überschreitung)
status (String) Bestellstatus (fertig oder in Bearbeitung)
throttled (Boolean) Zeigt an, ob der Server gedrosselt ist
cancelled (Boolean) Zeigt an, ob der Server zur Kündigung vorgemerkt ist
paid_until (String) Bezahlt-bis Datum
ip (Array) Array aller zugehörigen Einzel-IPs
subnet (Array) Array aller zugehörigen Subnetze
reset (Boolean) Zeigt an, ob ein Reset möglich ist
rescue (Boolean) Zeigt an, ob das Rescuesystem verfügbar ist
vnc (Boolean) Zeigt an, ob die VNC-Installation verfügbar ist
windows (Boolean) Zeigt an, ob die Windows-Installation verfügbar ist
plesk (Boolean) Zeigt an, ob die Plesk-Installation verfügbar ist
cpanel (Boolean) Zeigt an, ob die cPanel-Installation verfügbar ist
wol (Boolean) Zeigt an, ob Wake on Lan verfügbar ist

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte nicht gefunden werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/server/123.123.123.123 -d server_name=Server1
{
  "server": {
    "server_ip":" 123.132.123.123",
    "server_name": "Server1",
    "product": "EQ 8",
    "dc": "11",
    "traffic": "5 TB",
    "status": "ready",
    "throttled": false,
    "cancelled": false,
    "paid_until": "2010-08-04",
    "ip": ["124.124.124.124"],
    "subnet": [{"ip": "2a01:4f8:111:4221::", "mask": "64"}],
    "reset": true,
    "rescue": true,
    "vnc": true,
    "windows": true,
    "plesk": true,
    "cpanel": true,
    "wol": true
  }
}

IP

GET /ip

Beschreibung

Abfragen aller Einzel-IPs

Eingabe (optional)

server_ip Server Haupt-IP. Bei Angabe werden nur Ips angezeigt, die diesem Server zugeordnet sind

Ausgabe

(Array)
ip (Object)
ip (String) IP-Adresse
server_ip (String) Haupt-IP des zugehörigen Servers
locked (Boolean) Zeigt an, ob die IP gesperrt ist
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in MB

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Einzel-Ips gefunden

Beispiel

curl -u login:password https://robot-ws.your-server.de/ip
[
  {
    "ip": {
      "ip":"123.123.123.123",
      "server_ip": "123.123.123.123",
      "locked": false,
      "traffic_warnings": false,
      "traffic_hourly": 50,
      "traffic_daily": 50,
      "traffic_monthly":8
    }
  },
  {
    "ip": {
      "ip": "124.124.124.124",
      "server_ip": "123.123.123.123",
      "locked": false,
      "traffic_warnings": false,
      "traffic_hourly": 200,
      "traffic_daily": 2000,
      "traffic_monthly": 20
    }
  }
]

GET /ip/<ip>

Beschreibung

Abfragen der Daten für eine bestimme IP

Ausgabe

ip (Object)
ip (String) IP-Adresse
server_ip (String) Haupt-IP des zugehörigen Servers
locked (Boolean) Zeigt an, ob die IP gesperrt ist
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in MB

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse konnte nicht gefunden werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/ip/123.123.123.123
{
  "ip": {
    "ip":"123.123.123.123",
    "server_ip": "123.123.123.123",
    "locked": false,
    "traffic_warnings": false,
    "traffic_hourly": 50,
    "traffic_daily": 50,
    "traffic_monthly": 8
  }
}

POST /ip/<ip>

Beschreibung

Anpassen der Traffic-Warnungen eines IP

Eingabe

traffic_warnings Aktivieren/Deaktiveren der Traffic-Warnungen (true,false)
traffic_hourly Stündliches Trafficlimit in MB
traffic_daily Tägliches Trafficlimit in MB
traffic_monthly Monatliches Trafficlimit in GB

Ausgabe

ip (Object)
ip (String) IP-Adresse
server_ip (String) Haupt-IP des zugehörigen Servers
locked (Boolean) Zeigt an, ob die IP gesperrt ist
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für die IP aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in MB

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 IP_NOT_FOUND Die IP-Adresse konnte nicht gefunden werden
500 TRAFFIC_WARNING_UPDATE_FAILED Die Einstellungen konnten wegen eines internen Fehlers nicht vorgenommen werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/ip/123.123.123.123 -d traffic_warnings=true
{
  "ip": {
    "ip":"123.123.123.123",
    "server_ip": "123.123.123.123",
    "locked": false,
    "traffic_warnings": true,
    "traffic_hourly": 50,
    "traffic_daily": 50,
    "traffic_monthly":8
  }
}

Subnet

GET /subnet

Beschreibung

Abfragen aller Subnetze

Eingabe (optional)

server_ip Server Haupt-IP. Bei Angabe werden nur Subnetze angezeigt, die diesem Server zugeordnet sind

Ausgabe

(Array)
subnet (Object)
ip (String) Netz-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway des Subnetzes
server_ip (String) Haupt-IP des zugehörigen Servers
failover (Boolean) True, wenn das Netz ein Failover-Netz ist
locked (Boolean) Zeigt an, ob das Netz gesperrt ist
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für das Netz aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in GB

Fehler

Status Code Beschreibung
404 NOT_FOUND Es wurden keine Subnetze gefunden

Beispiel

curl -u login:password https://robot-ws.your-server.de/subnet
[
  {
    "subnet": {
      "ip": "123.123.123.123",
      "mask": 29,
      "gateway": "123.123.123.123",
      "server_ip": "88.198.123.123",
      "failover": false,
      "locked": false,
      "traffic_warnings": false,
      "traffic_hourly": 100,
      "traffic_daily": 500,
      "traffic_monthly": 2
    }
  },
  {
    "subnet":{
      "ip": "178.63.123.123",
      "mask": 25,
      "gateway": "178.63.123.124",
      "server_ip": null,
      "failover": false,
      "locked": false,
      "traffic_warnings": false,
      "traffic_hourly": 100,
      "traffic_daily": 500,
      "traffic_monthly": 2
    }
  }
]

GET /subnet/<net-ip>

Beschreibung

Abfragen der Daten für ein bestimmtes Subnetz

Ausgabe

subnet (Object)
ip (String) Netz-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway des Subnetzes
server_ip (String) Haupt-IP des zugehörigen Servers
failover (Boolean) True, wenn das Netz ein Failover-Netz ist
locked (Boolean) Zeigt an, ob das Netz gesperrt ist
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für das Netz aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in GB

Fehler

Status Code Beschreibung
404 SUBNET_NOT_FOUND Das Subnetz konnte nicht gefunden werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/subnet/123.123.123.123
{
  "subnet": {
    "ip": "123.123.123.123",
    "mask": 29,
    "gateway": "123.123.123.123",
    "server_ip": "88.198.123.123",
    "failover": false,
    "locked": false,
    "traffic_warnings": false,
    "traffic_hourly": 100,
    "traffic_daily": 500,
    "traffic_monthly": 2
  }
}

POST /subnet/<net-ip>

Beschreibung

Anpassen der Traffic-Warnungen eines Subnetzes

Eingabe

traffic_warnings Aktivieren/Deaktiveren der Traffic-Warnungen (true,false)
traffic_hourly Stündliches Trafficlimit in MB
traffic_daily Tägliches Trafficlimit in MB
traffic_monthly Monatliches Trafficlimit in GB

Ausgabe

subnet (Object)
ip (String) Netz-Adresse
mask (Integer) Netzwerkmaske in CIDR Notation
gateway (String) Gateway des Subnetzes
server_ip (String) Haupt-IP des zugehörigen Servers
failover (Boolean) True, wenn das Netz ein Failover-Netz ist
locked (Boolean) Zeigt an, ob das Netz gesperrt ist
traffic_warnings (Boolean) Zeigt an, ob Traffic-Warnungen für das Netz aktiviert sind
traffic_hourly (Integer) Stündliches Trafficlimit in MB
traffic_daily (Integer) Tägliches Trafficlimit in MB
traffic_monthly (Integer) Monatliches Trafficlimit in GB

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SUBNET_NOT_FOUND Das Subnetz konnte nicht gefunden werden
500 TRAFFIC_WARNING_UPDATE_FAILED Die Einstellungen konnten wegen eines internen Fehlers nicht vorgenommen werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/subnet/123.123.123.123 -d traffic_warnings=true
{
  "subnet": {
    "ip": "123.123.123.123",
    "mask": 29,
    "gateway": "123.123.123.123",
    "server_ip": "88.198.123.123",
    "failover": false,
    "locked": false,
    "traffic_warnings": true,
    "traffic_hourly": 100,
    "traffic_daily": 500,
    "traffic_monthly": 2
  }
}


Reset

GET /reset

Beschreibung

Abfragen der Reset-Optionen für alle Server

Ausgabe

(Array)
reset (Object)
server_ip (String) Haupt-IP des Servers
type (Array) Mögliche Reset-Optionen

Fehler

Status Code Beschreibung
404 NOT_FOUND Keine Server mit Reset-Option gefunden

Beispiel

curl -u login:password https://robot-ws.your-server.de/reset
[
  {
    "reset":
    {
      "server_ip": "123.123.123.123",
      "type": ["man","hw","sw"]
    }
  },
  {
    "reset":
    {
      "server_ip": "111.111.111.111",
      "type": ["man"]
    }
  }
]

GET /reset/<server-ip>

Beschreibung

Abfragen der Reset-Optionen für einen bestimmten Server

Ausgabe

reset (Object)
server_ip (String) Haupt-IP des Servers
type (Array) Mögliche Reset-Optionen

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der IP <server-ip> konnte nicht gefunden werden
404 RESET_NOT_AVAILABLE Dieser Server hat keine Reset-Option

Beispiel

curl -u login:password https://robot-ws.your-server.de/reset/123.123.123.123
{
  "reset":
  {
    "server_ip": "123.123.123.123",
    "type": ["man","hw","sw"]
  }
}

POST /reset/<server-ip>

Beschreibung

Ausführen eines Reset für einen bestimmten Server

Eingabe

type Reset-Typ der ausgeführt werden soll

Ausgabe

reset (Object)
server_ip (String) Haupt-IP des Servers
type (String) Ausgeführte Reset-Option

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server mit der IP <server-ip> konnte nicht gefunden werden
404 RESET_NOT_AVAILABLE Der Server hat keine Reset-Option
409 RESET_MANUAL_ACTIVE Es läuft bereits ein manueller Reset
500 RESET_FAILED Der Reset konnte wegen eines internen Fehlers nicht durchgeführt werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/reset/123.123.123.123 -d type=hw
{
  "reset":
  {
    "server_ip": "123.123.123.123",
    "type": "hw"
  }
}

Failover

WICHTIG: Für die reibungslose Nutzung der Failover-IP muß diese auf allen Servern konfiguriert sein, unabhängig davon, ob sie aktuell darauf geroutet wird.

GET /failover

Beschreibung

Abfragen der Failover-Daten aller Server

Ausgabe

(Array)
failover (Object)
ip (String) Failover Netz-Adresse
netmask (String) Failover Netzmaske
server_ip (String) Haupt-IP des zugehörigen Servers
active_server_ip (String) Haupt-IP des Servers, auf den das Netz zur Zeit geroutet wird

Fehler

Status Code Beschreibung
404 NOT_FOUND Es konnten keine Failover-IPs gefunden werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/failover
[
  {
    "failover":
    {
      "ip":"123.123.123.123",
      "netmask":"255.255.255.255",
      "server_ip": "78.46.1.93",
      "active_server_ip": "78.46.1.93"
    }
  }
]

GET /failover/<failover-ip>

Beschreibung

Abfragen der Failover-Daten für eine bestimmte Failover-IP

Ausgabe

failover (Object)
ip (String) Failover Netz-Adresse
netmask (String) Failover Netzmaske
server_ip (String) Haupt-IP des zugehörigen Servers
active_server_ip (String) Haupt-IP des Servers, auf den das Netz zur Zeit geroutet wird

Fehler

Status Code Beschreibung
404 NOT_FOUND Die Failover-IP konnte nicht gefunden werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/failover/123.123.123.123
{
 "failover":
 {
   "ip": "123.123.123.123",
   "netmask": "255.255.255.255",
   "server_ip": "78.46.1.93",
   "active_server_ip": "78.46.1.93"
 }

}

POST /failover/<failover-ip>

Beschreibung

Umrouten der Failover-IP

Eingabe

active_server_ip Haupt-IP des Server, auf den die Failover-IP geroutet werden soll

Ausgabe

failover (Object)
ip (String) Failover Netz-Adresse
netmask (String) Failover Netzmaske
server_ip (String) Haupt-IP des zugehörigen Servers
active_server_ip (String) Haupt-IP des Servers, auf den das Netz aktuell geroutet wird

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 NOT_FOUND Die Failover-IP konnte nicht gefunden werden
404 FAILOVER_NEW_SERVER_NOT_FOUND Der Server, auf den das Netz geroutet werden soll, konnte nicht gefunden werden
409 FAILOVER_ALREADY_ROUTED Die Failover-IP ist bereits auf den ausgewählten Server geroutet
409 FAILOVER_LOCKED Das Umrouten der Failover-IP ist gesperrt, da bereits eine Anfrage bearbeitet wird
500 FAILOVER_FAILED Aufgrund eines internen Fehlers konnte die Failover-IP nicht um-geroutet werden
500 FAILOVER_NOT_COMPLETE Aufgrund eines internen Fehlers konnte die Failover-IP nicht um-geroutet werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/failover/123.123.123.123 -d active_server_ip=124.124.124.124
{
  "failover":
  {
    "ip": "123.123.123.123",
    "netmask": "255.255.255.255",
    "server_ip": "78.46.1.93",
    "active_server_ip": "124.124.124.124"
  }
}

Wake on LAN

GET /wol/<server-ip>

Beschreibung

Abfragen der WOL-Daten eines Servers

Ausgabe

wol (Object)
server_ip (String) Haupt-IP des Servers

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte nicht gefunden werden
404 WOL_NOT_AVAILABLE Wake On LAN ist bei diesem Server nicht verfügbar

Beispiel

curl -u login:password https://robot-ws.your-server.de/wol/123.123.123.123
{
  "wol":
  {
    "server_ip":"123.123.123.123"
  }
}


POST /wol/<server-ip>

Beschreibung

Versenden des WOL-Pakets an einen Server

Ausgabe

wol (Object)
server_ip (String) Haupt-IP des Servers

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server konnte nicht gefunden werden
404 WOL_NOT_AVAILABLE Wake On LAN ist bei diesem Server nicht verfügbar
500 WOL_FAILED Das senden des WOL-Pakets konnte aufgrund eines internen Fehlers nicht ausgeführt werden

Beispiel

curl -u login:password https://robot-ws.your-server.de/wol/123.123.123.123 -d foo
{
  "wol":
  {
    "server_ip":"123.123.123.123"
  }
}

Boot-Konfiguration

GET /boot/<server-ip>

Beschreibung

Abfragen der Boot-Konfiguration für einen Server. Es kann pro Server nur eine Konfiguration aktiv sein.

Ausgabe

boot (Object)
rescue (Object) siehe #GET_.2Fboot.2F.3Cserver-ip.3E.2Frescue
linux (Object) siehe #GET_.2Fboot.2F.3Cserver-ip.3E.2Flinux
vnc (Object) siehe #GET_.2Fboot.2F.3Cserver-ip.3E.2Fvnc
windows (Object) siehe #GET_.2Fboot.2F.3Cserver-ip.3E.2Fwindows
plesk (Object) siehe #GET_.2Fboot.2F.3Cserver-ip.3E.2Fplesk
cpanel (Object) siehe #GET_.2Fboot.2F.3Cserver-ip.3E.2Fcpanel

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123
{
  "boot": {
    "rescue": {
      "server_ip" : "123.123.123.123",
      "os": ["linux","freebsd","opensolaris","vkvm"],
      "arch": [64,32],
      "active": false,
      "password": null
    },
    "vnc": {
      "server_ip": "123.123.123.123",
      "dist": ["centOS-5.0","Fedora-6","openSUSE-10.2"],
      "arch": [64,32],
      "lang": ["de_DE","en_US"],
      "active": false,
      "password": null
    },
    "windows": {
      "server_ip": "123.123.123.123",
      "dist": null,
      "lang": null,
      "active": false,
      "password": null
    }
  }
}

GET /boot/<server-ip>/rescue

Beschreibung

Abfragen der Boot-Optionen für das Rescue-System

Ausgabe

rescue (Object)
server_ip (String) Haupt-IP des Servers
os (Array|String) Array der verfügbaren Betriebssysteme oder das aktive Betriebssystem
arch (Array| Integer) Array der verfügbaren Architekturen oder die aktive Architektur
active (Boolean) Status des Rescue-Systems
password (String) Aktuelles Passwort oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/rescue
{
  "rescue": {
    "server_ip": "123.123.123.123",
    "os": ["linux","freebsd","opensolaris","vkvm"],
    "arch": [64,32],
    "active": false,
    "password": null
  }
}

POST /boot/<server-ip>/rescue

Beschreibung

Aktivieren des Rescue-Systens

Eingabe

os Betriebssystem
arch Architektur

Ausgabe

rescue (Object)
server_ip (String) Haupt-IP des Servers
os (String) Betriebssystem
arch (Integer) Architektur
active (Boolean) true
password (String) Passwort

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
409 BOOT_ALREADY_ENABLED Das Rescue-System ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Linux, VNC, Windows, cPanel oder Plesk)
500 BOOT_ACTIVATION_FAILED Das aktivieren des Rescue-Systems ist aufgrund eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/rescue -d 'os=linux&arch=32'
{
  "rescue": {
    "server_ip": "123.123.123.123",
    "os": "linux",
    "arch": 32,
    "active": true,
    "password": "u7Ng5j43"
  }
}

DELETE /boot/<server-ip>/rescue

Beschreibung

Deaktivieren des Rescue-Systems

Ausgabe

rescue (Object)
server_ip (String) Haupt-IP des Servers
os (Array) Array der verfügbaren Betriebssysteme
arch (Array) Array der verfügbaren Architekturen
active (Boolean) false
password (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren des Rescue-Systems ist aufgrund eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/rescue -X DELETE
{
  "rescue": {
    "server_ip": "123.123.123.123",
    "os": ["linux","freebsd","opensolaris","vkvm"],
    "arch": [64,32],
    "active": false,
    "password": null
  }
}

GET /boot/<server-ip>/linux

Beschreibung

Abfrage der Boot-Optionen für die Linux-Installation

Ausgabe

linux (Object)
server_ip (String) Haupt-IP des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
arch (Array| Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array| String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der Linux-Installation
password (String) Passwort der Linux-Installtion oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/linux
{
  "linux": {
    "server_ip": "123.123.123.123",
    "dist": ["CentOS 5.5 minimal","Debian 5.0 minimal"],
    "arch": [64,32],
    "lang": ["en"],
    "active": false,
    "password": null
  }
}

POST /boot/<server-ip>/linux

Beschreibung

Aktivieren der Linux-Installation

Eingabe

dist Distribution
arch Architektur
lang Sprache

Ausgabe

linux (Object)
server_ip (String) Haupt-IP des Servers
dist (String) Distribution
arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort Linux-Installation

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
409 BOOT_ALREADY_ENABLED Die Linux-Installtion ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue, VNC, Windows, cPanel oder Plesk)
500 BOOT_ACTIVATION_FAILED Das Aktiveren der Linux-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/linux -d 'dist=CentOS 5.5 minimal&arch=32&lang=en'
{
  "linux": {
    "server_ip": "123.123.123.123",
    "dist": "CentOS 5.5 minimal",
    "arch": 32,
    "lang" : "en"
    "active": true,
    "password": "u7Ng5j43"
  }
}

DELETE /boot/<server-ip>/linux

Beschreibung

Deaktivieren der Linux-Installation

Ausgabe

linux (Object)
server_ip (String) Haupt-IP des Servers
os (Array) Array der verfügbaren Distributionen
arch (Array) Array der verfügbaren Architekturen
lang (Array) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren der Linux-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/linux -X DELETE
{
  "linux": {
    "server_ip": "123.123.123.123",
    "dist": ["CentOS 5.5 minimal","Debian 5.0 minimal"],
    "arch": [64,32],
    "lang": ["en"],
    "active": false,
    "password": null
  }
}

GET /boot/<server-ip>/vnc

Beschreibung

Abfrage der Boot-Optionen für die VNC-Installation

Ausgabe

vnc (Object)
server_ip (String) Haupt-IP des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
arch (Array| Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array| String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der VNC-Installation
password (String) Passwort der VNC-Installtion oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/vnc
{
  "vnc": {
    "server_ip": "123.123.123.123",
    "dist": ["centOS-5.0","Fedora-6","openSUSE-10.2"],
    "arch": [64,32],
    "lang": ["de_DE","en_US"],
    "active": false,
    "password": null
  }
}

POST /boot/<server-ip>/vnc

Beschreibung

Aktivieren der VNC-Installation

Eingabe

dist Distribution
arch Architektur
lang Sprache

Ausgabe

vnc (Object)
server_ip (String) Haupt-IP des Servers
dist (String) Distribution
arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort VNC-Installation

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
409 BOOT_ALREADY_ENABLED Die VNC-Installtion ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue, Linux, Windows, cPanel oder Plesk)
500 BOOT_ACTIVATION_FAILED Das Aktiveren der VNC-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/vnc -d 'dist=centOS-5.0&arch=32&lang=en_US'
{
  "vnc": {
    "server_ip": "123.123.123.123",
    "dist": "centOS-5.0",
    "arch": 32,
    "lang" : "en_US"
    "active": true,
    "password": "u7Ng5j43"
  }
}

DELETE /boot/<server-ip>/vnc

Beschreibung

Deaktivieren der VNC-Installation

Ausgabe

vnc (Object)
server_ip (String) Haupt-IP des Servers
os (Array) Array der verfügbaren Distributionen
arch (Array) Array der verfügbaren Architekturen
lang (Array) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren der VNC-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/vnc -X DELETE
{
  "vnc": {
    "server_ip": "123.123.123.123",
    "dist": ["centOS-5.0","Fedora-6","openSUSE-10.2"],
    "arch": [64,32],
    "lang": ["de_DE","en_US"],
    "active": false,
    "password": null
  }
}

GET /boot/<server-ip>/windows

Beschreibung

Abfragen der Boot-Optionen für die Windows-Installation

Ausgabe

windows (Object)
server_ip (String) Server main ip
dist (Array|String) Array of available windows distributions or the active distributon
arch (Array| String) Array of available languages or the active language
active (Boolean) Current windows installation status
password (String) Current windows installation password or null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/windows
{
  "windows": {
    "server_ip": "88.198.49.132",
    "dist": ["standard"],
    "lang": ["en","de"],
    "active": false,
    "password": null
  }
}

POST /boot/<server-ip>/windows

Beschreibung

Aktivieren der Windows-Installation. Dies ist nur möglich, wenn für den Server das Windows-Addon gebucht wurde. Nach dem Neustart des Servers wird die automatische Windows-Installation gestartet. Alle Daten auf dem Server werden bei der Installation gelöscht.

Eingabe

lang Sprache

Ausgabe

windows (Object)
server_ip (String) Haupt-IP des Servers
dist (String) Distribution
lang (String) Sprache
active (Boolean) true
password (String) Windows installation password

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 WINDOWS_MISSING_ADDON Das Windows-Addon fehlt
409 BOOT_ALREADY_ENABLED Die Windows-Installation ist für diesen Server bereits aktiv
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue, Linux, VNC, cPanel oder Plesk)
500 BOOT_ACTIVATION_FAILED Das Aktivieren der Windows-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/windows -d 'lang=en'
{
  "windows": {
    "server_ip": "88.198.49.132",
    "dist": "standard",
    "lang": "en",
    "active": true,
    "password": "u7Ng5j43"
  }
}

DELETE /boot/<server-ip>/windows

Beschreibung

Deaktivieren der Windows-Installation

Ausgabe

windows (Object)
server_ip (String) Server main ip
os (Array) Array der verfügbaren Distributionen
lang (Array) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren der Windows-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/windows -X DELETE
{
  "windows": {
    "server_ip": "88.198.49.132",
    "dist": ["standard"],
    "lang": ["en","de"],
    "active": false,
    "password": null
  }
}

GET /boot/<server-ip>/plesk

Beschreibung

Abfragen der Boot-Optionen für die Plesk-Installation

Ausgabe

plesk (Object)
server_ip (String) Haupt-IP des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
arch (Array| Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array| String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der Plesk-Installation
password (String) Passwort der Plesk-Installation oder null
hostname (String) Hostname der Plesk-Installation oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/plesk
{
  "plesk": {
    "server_ip": "123.123.123.123",
    "dist": ["CentOS 5.4 minimal","Debian 5.0 minimal"],
    "arch": [64,32],
    "lang": ["en","de"],
    "active": false,
    "password": null,
    "hostname": null
  }
}

POST /boot/<server-ip>/plesk

Beschreibung

Aktivieren der Plesk-Installation

Eingabe

dist Distribution
arch Architektur
lang Sprache
hostname Hostname

Ausgabe

plesk (Object)
server_ip (String) Haupt-IP des Servers
dist (String) Distribution
arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort der Plesk-Installation
hostname (String) Hostname der Plesk-Installation

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 PLESK_MISSING_ADDON Das Plesk-Addon fehlt
409 BOOT_ALREADY_ENABLED Die Plesk-Installtion ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue, Linux, VNC, cPanel oder Windows)
500 BOOT_ACTIVATION_FAILED Das Aktiveren der Plesk-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot.yaml/123.123.123.123/plesk -d 'dist=CentOS 5.4 minimal&arch=32&lang=de&hostname=plesk.testen.de'
{
  "plesk": {
    "server_ip": "123.123.123.123",
    "dist": "CentOS 5.4 minimal",
    "arch": 32,
    "lang": "de",
    "active": true,
    "password": "ie8Nhz6R",
    "hostname":"plesk.testen.de"
  }
}

DELETE /boot/<server-ip>/plesk

Beschreibung

Deaktivieren der Plesk-Installation

Ausgabe

plesk (Object)
server_ip (String) Haupt-IP des Servers
dist (Array|String) Array der verfügbaren Distributionen
arch (Array| Integer) Array der verfügbaren Architekturen
lang (Array| String) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null
hostname (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren der Plesk-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/plesk -X DELETE
{
  "plesk": {
    "server_ip": "123.123.123.123",
    "dist": ["CentOS 5.4 minimal","Debian 5.0 minimal"],
    "arch": [64,32],
    "lang": ["en","de"],
    "active": false,
    "password": null,
    "hostname": null
  }
}

GET /boot/<server-ip>/cpanel

Beschreibung

Abfragen der Boot-Optionen für die cPanel-Installation

Ausgabe

cpanel (Object)
server_ip (String) Haupt-IP des Servers
dist (Array|String) Array der verfügbaren Distributionen oder die aktive Distribution
arch (Array| Integer) Array der verfügbaren Architekturen oder die aktive Architektur
lang (Array| String) Array der verfügbaren Sprachen oder die aktive Sprache
active (Boolean) Status der cPanel-Installation
password (String) Passwort der cPanel-Installation oder null
hostname (String) Hostname der cPanel-Installation oder null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/cpanel
{
  "cpanel": {
    "server_ip": "123.123.123.123",
    "dist": ["CentOS 5.6 + cPanel"],
    "arch": [64],
    "lang": ["en"],
    "active": false,
    "password": null,
    "hostname": null
  }
}

POST /boot/<server-ip>/cPanel

Beschreibung

Aktivieren der cPanel-Installation

Eingabe

dist Distribution
arch Architektur
lang Sprache
hostname Hostname

Ausgabe

cpanel (Object)
server_ip (String) Haupt-IP des Servers
dist (String) Distribution
arch (Integer) Architektur
lang (String) Sprache
active (Boolean) true
password (String) Passwort der cPanel-Installation
hostname (String) Hostname der cPanel-Installation

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
404 CPANEL_MISSING_ADDON Das cPanel-Addon fehlt
409 BOOT_ALREADY_ENABLED Die cPanel-Installtion ist bereits aktiviert
409 BOOT_BLOCKED Es ist bereits eine andere Boot-Konfiguration aktiv (Rescue, Linux, VNC, Plesk oder Windows)
500 BOOT_ACTIVATION_FAILED Das Aktiveren der cPanel-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot.yaml/123.123.123.123/cPanel -d 'dist=CentOS 5.6 + cPanel&arch=64&lang=en&hostname=cpanel.testen.de'
{
  "plesk": {
    "server_ip": "123.123.123.123",
    "dist": "CentOS 5.6 + cPanel",
    "arch": 64,
    "lang": "en",
    "active": true,
    "password": "ie8Nhz6R",
    "hostname":"cpanel.testen.de"
  }
}

DELETE /boot/<server-ip>/cpanel

Beschreibung

Deaktivieren der cPanel-Installation

Ausgabe

cpanel (Object)
server_ip (String) Haupt-IP des Servers
dist (Array|String) Array der verfügbaren Distributionen
arch (Array| Integer) Array der verfügbaren Architekturen
lang (Array| String) Array der verfügbaren Sprachen
active (Boolean) false
password (String) null
hostname (String) null

Fehler

Status Code Beschreibung
404 SERVER_NOT_FOUND Der Server mit der Haupt-IP <server-ip> konnte nicht gefunden werden
404 BOOT_NOT_AVAILABLE Für diesen Server ist keine Boot-Konfiguration verfügbar
500 BOOT_DEACTIVATION_FAILED Das Deaktivieren der cPanel-Installation ist wegen eines internen Fehlers fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/boot/123.123.123.123/cpanel -X DELETE
{
  "cpanel": {
    "server_ip": "123.123.123.123",
    "dist": ["CentOS 5.6 + cPanel"],
    "arch": [64],
    "lang": ["en"],
    "active": false,
    "password": null,
    "hostname": null
  }
}

Reverse DNS

GET /rdns

Beschreibung

Abfragen aller gesetzten Reverse-DNS Einträge

Eingabe (optional)

server_ip Server Haupt-IP. Bei Angabe werden nur Reverse-DNS Einträge angezeigt, die diesem Server zugeordnet sind

Ausgabe

(Array)
rdns (Object)
ip (String) IP-Adresse
ptr (String) PTR Record

Fehler

Status Code Beschreibung
404 NOT_FOUND Es wurden keine Reverse-DNS Einträge gefunden

Beispiel

curl -u login:password https://robot-ws.your-server.de/rdns
[
  {
    "rdns": {
      "ip": "123.123.123.123",
      "ptr": "testen.de"
    }
  },
  {
    "rdns": {
      "ip": "124.124.124.124",
      "ptr": "your-server.de"
    }
  }
]

GET /rdns/<ip>

Beschreibung

Abfragen des Reverse-DNS Eintrags für eine IP-Adresse.

Ausgabe

rdns (Object)
ip (String) IP-Adresse
ptr (String) PTR Record

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse <ip> wurde nicht gefunden
404 RDNS_NOT_FOUND Für die IP-Adresse <ip> existiert noch kein DNS-Eintrag

Beispiel

curl -u login:password https://robot-ws.your-server.de/rdns/123.123.123.123
{
  "rdns": {
    "ip": "123.123.123.123",
    "ptr": "testen.de"
  }
}

PUT /rdns/<ip>

Beschreibung

Erstellen eines neuen Reverse-DNS Eintrags für eine IP-Adresse. Wenn der neue Reverse-DNS Eintrag erfolgreich erstellt wurde, wird der HTTP Status Code 201 CREATED zurückgeliefert.

Eingabe

ptr PTR Record

Ausgabe

rdns (Object)
ip (String) IP-Adresse
ptr (String) PTR Record

Fehler

Status Code Beschreibung
400 INVALID_INPUT fehlerhafte Eingabeparameter
404 IP_NOT_FOUND Die IP-Adresse <ip> wurde nicht gefunden
409 RDNS_ALREADY_EXISTS Es existiert bereits ein Reverse-DNS Eintrag
500 RDNS_CREATE_FAILED Das Anlegen des Reverse-DNS Eintrags ist fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/rdns/123.123.123.123 -d ptr=testen.de -X PUT
{
  "rdns": {
    "ip": "123.123.123.123",
    "ptr": "testen.de"
  }
}

POST /rdns/<ip>

Beschreibung

Aktualisieren oder Anlegen eines Reverse-DNS Eintrags. Wenn der DNS-Eintrag neu angelegt wurde, wird der HTTP-Status 201 CREATED zurückgeliefert.

Eingabe

ptr PTR Record

Ausgabe

rdns (Object)
ip (String) IP-Adresse
ptr (String) PTR Record

Fehler

Status Code Beschreibung
400 INVALID_INPUT fehlerhafte Eingabeparameter
404 IP_NOT_FOUND Die IP-Adresse <ip> wurde nicht gefunden
500 RDNS_CREATE_FAILED Das Anlegen des Reverse-DNS Eintrags ist fehlgeschlagen
500 RDNS_UPDATE_FAILED Das Aktualisieren des Reverse-DNS Eintrags ist fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/rdns/123.123.123.123 -d ptr=testen.de
{
  "rdns": {
    "ip": "123.123.123.123",
    "ptr": "testen.de"
  }
}

DELETE /rdns/<ip>

Beschreibung

Löschen des Reverse-DNS Eintrags für eine IP-Adresse

Ausgabe

Keine Ausgabe

Fehler

Status Code Beschreibung
404 IP_NOT_FOUND Die IP-Adresse <ip> wurde nicht gefunden
500 RDNS_DELETE_FAILED Das Löschen des Reverse-DNS Eintrags ist fehlgeschlagen

Beispiel

curl -u login:password https://robot-ws.your-server.de/rdns/123.123.123.123 -X DELETE


Traffic

POST /traffic

Beschreibung

Abfragen der Traffic-Daten für IP-Adressen und Subnetze

Es stehen drei Abfrage-Arten zur Verfügung: "day", "month" und "year" Mit diesen geben Sie an, ob sich die Trafficabfrage auf einen Zeitraum innerhalb eines Tages("day"), eines Monats("month") oder eines Jahres("year") bezieht. Möchten Sie zum Beispiel den Trafficverbrauch für eine oder mehrere Stunden innerhalb eines Tages abfragen, verwenden Sie "day". Möchten Sie die Tagessumme oder die Summe mehrerer Tage innerhalb eines Monats ermitteln, verwenden Sie "month". Und für die Abfrage von Monatssummen innerhalb eines Jahres ist "year" die richtige Abfrage-Art.

Bitte beachten Sie, dass Stunden-, Tages- und Monatssummen erst nach Ablauf der/des entsprechenden Stunde, Tages bzw. Monats verfügbar sind.

Das Abfrage-Intervall können sie mit den Parametern "from" und "to" angeben. Die Syntax dieser Paramater ist wie folgt:

* Abfrage-Typ "day":   [YYYY]-[MM]-[DD]T[H], z.B. 2010-09-01T00
* Abfrage-Typ "month": [YYYY]-[MM]-[DD], z.B. 2010-09-01
* Abfrage-Typ "year":  [YYYY]-[MM], z.B. 2010-09

Bei dem Abfrage-Typ "day" wird das Datum zusammen mit der Stunde angegeben. Der Stundenwert wird vom Datum mit dem Buchstaben "T" getrennt. Beim Anfrage-Typ "month" darf der Stundenwert nicht mit angegeben werden, da Sie hier den Zeitraum nur tagesbasiert angeben können. Bei dem Typ "year" fällt zusätzlich noch der Tageswert weg, da Sie hier den Zeitraum innerhalb eines Jahres monatsbasiert angeben.

Wenn für die ausgewählten IP-Adressen und Subnetze kein Traffic angefallen ist, werden diese in der Antwort nicht angezeigt.

Eingabe

ip[] Eine oder mehrere IP-Adressen
subnet[] Eine oder mehrere Subnetz-Adressen
from Datum/Zeit von
to Datum/Zeit bis
type Abfrage-Typ (day,month,year)

Ausgabe

traffic (Object)
type (String) Abfrage-Typ
from (String) Datum/Zeit von
to (String) Datum/Zeit bis
data (Object)
IP-Adresse (Object)
in Traffic eingehend (GB)
out Traffic ausgehend (GB)
sum Traffic Summe (GB)

Fehler

Status Code Beschreibung
400 INVALID_INPUT Fehlerhafte Eingabeparameter
404 NOT_FOUND Keine IP-Adressen oder Subnetze gefunden
500 INTERNAL_ERROR Das Abfragen des Traffic ist aufgrund eines internen Fehlers fehlgeschlagen

Beispiel

Abfragen der Traffic-Daten für eine IP-Adresse

curl -u login:password https://robot-ws.your-server.de/traffic -d 'type=month&from=2010-09-01&to=2010-09-31&ip=123.123.123.123'
{
  "traffic": {
    "type": "month",
    "from": "2010-09-01",
    "to":"2010-09-31",
    "data": {
      "123.123.123.123": {
        "in":0.2874,
        "out":0.0481,
        "sum":0.3355
      }
    }
  }
}

Abfragen der Traffic-Daten für mehrere IP-Adressen

curl -u login:password https://robot-ws.your-server.de/traffic -d 'type=month&from=2010-09-01&to=2010-09-31&ip[]=123.123.123.123&ip[]=124.124.124.124'
{
  "traffic": {
    "type": "month",
    "from": "2010-09-01",
    "to":"2010-09-31",
    "data": {
      "123.123.123.123": {
        "in":0.2874,
        "out":0.0481,
        "sum":0.3355
      },
      "124.124.124.124": {
        "in":0.2874,
        "out":0.0481,
        "sum":0.3355
      }
    }
  }
}

Abfragen der Traffic-Daten für ein Subnetz

curl -u login:password https://robot-ws.your-server.de/traffic -d 'type=month&from=2010-09-01&to=2010-09-31&subnet=2a01:4f8:61:41a2::'
{
  "traffic": {
    "type": "month",
    "from": "2010-09-01",
    "to":"2010-09-31",
    "data": {
      "2a01:4f8:61:41a2::2": {
        "in":0.2874,
        "out":0.0481,
        "sum":0.3355
      },
      "2a01:4f8:61:41a2::3": {
        "in":0.2874,
        "out":0.0481,
        "sum":0.3355
      }
    }
  }
}

PHP Client

Unter https://robot.your-server.de/downloads/robot-client.zip steht eine PHP5-Klasse zum Herunterladen zur Verfügung. Die Klasse verwendet libcurl.

Beispiel

require 'RobotClient.class.php';

$robot = new RobotClient('https://robot-ws.your-server.de', 'login', 'password');

// Abrufen aller Failover-IPs
$results = $robot->failoverGet();

foreach ($results as $result)
{
  echo $result->failover->ip . "\n";
  echo $result->failover->server_ip . "\n";
  echo $result->failover->active_server_ip . "\n";
}

// Abrufen einer bestimmten Failover-IP
$result = $robot->failoverGet('123.123.123.123');

echo $result->failover->ip . "\n";
echo $result->failover->server_ip . "\n";
echo $result->failover->active_server_ip . "\n";

// Umrouten einer Failover-IP
try
{
  $robot->failoverRoute('123.123.123.123', '213.133.104.190');
}
catch (RobotClientException $e)
{
  echo $e->getMessage() . "\n";
}


© 2020. Hetzner Online GmbH. Alle Rechte vorbehalten.