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.
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",
"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
}
}
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
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
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
|
| 404
| CPANEL_NOT_ALLOWED
| Die Installation von cPanel ist leider nicht möglich, da der Hersteller Kunden aus Ihrem Land die Benutzung cPanel nicht gestattet
|
| 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
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
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";
}