Cloud API

Version 1.2.1, 2025-09-29

Einführung

Die BK Cloud API ist ein RPC-Mechanismus (Remote Procedure Call), der Kunden von Bradler & Krantz GmbH & Co. KG (Providerdienste.de) zur Verfügung steht. Mit ihr können Kunden virtuelle Server in den Rechenzentren der BK Cloud erstellen, verwalten und löschen. API-Prozeduren (»API-Funktionen«) werden über das HTTPS-Protokoll bereitgestellt. Die URL des API-Servers lautet:

Jeder Aufruf einer API-Funktion verwendet die HTTP-Methode POST. Der Nachrichtenrumpf besteht aus einer Folge benannter Datenelemente:

  • username: der API-Schlüssel
  • password: das dem API-Schlüssel zugeordnete API-Passwort
  • action: der Name der API-Funktion
  • data: die Argumente der API-Funktion

Bitte verwenden Sie den BK Manager (Kundenportal),

um Ihren API-Schlüssel zu aktivieren oder zu deaktivieren und das API-Passwort festzulegen.

Für das Element data wird ein YAML-codiertes Dictionary (eine Map) mit benannten Argumenten für die API-Funktion erwartet. Der API-Server antwortet mit einem ISO-8859-1-codierten (latin1) und als YAML serialisierten Dictionary, das folgende Elemente enthält:

  • status mit dem Wert success oder failed,
  • bei einem Fehler enthält error eine Fehlermeldung in englischer Sprache und
  • einen Rückgabewert aus der Implementierung der API-Funktion.

Mit dem Werkzeug cli-adm können die Funktionen der Cloud API über die Linux-Kommandozeile erkundet werden. Es kann hier heruntergeladen werden:

Eine PHP-Implementierung des Cloud-API-Clients ist hier verfügbar:

Konzepte

Jeder virtuelle Server läuft auf einem Host-Knoten. Die Host-Knoten befinden sich in verschiedenen Rechenzentren. Ein oder mehrere Rechenzentren bilden eine Zone. Derzeit gibt es folgende Zonen:

zid zname Standort
1 de-dus2 Düsseldorf, Deutschland, EU
2 nl-ams1 Amsterdam, Niederlande, EU
6 lt-sqq Šiauliai, Litauen

Nur virtuelle Server innerhalb derselben Zone können über ein privates Netzwerk miteinander kommunizieren.

Die für den Wiederverkauf verfügbaren Produktpläne werden als Flavors bezeichnet. Derzeit gibt es folgende Flavors:

fid Flavor fid Flavor
1 Cloud-30 16 Cloud-500
2 Cloud-50 21 Storage-500
3 Cloud-100 22 Storage-750
4 UltraKVM-15 23 Storage-1000
5 UltraKVM-30 24 Storage-Special
6 UltraKVM-50 25 Storage-2000
7 UltraKVM-75 26 Storage-5000
8 UltraKVM-100 27 Storage-10000
10 UltraKVM-200 28 Storage-7500
11 UltraKVM-250 29 Storage-Special-2
13 UltraKVM-500    
14 Cloud-200    
15 Cloud-300    

Wenn ein virtueller Server erstellt oder neu installiert werden soll, muss ein anfängliches Betriebssystem ausgewählt werden. Folgende Images sind verfügbar:

iid symname iname
1 CENTOS-6 centos-6 20150811 linux 2015-08-11T13:37:40Z
2 CENTOS-7 centos-7 20150630 linux 2015-06-30T15:44:09Z
3 UBUNTU-15.04 ubuntu-certified-15.04 20150807 2015-08-08T04:06:41Z
4 UBUNTU-12.04 ubuntu-certified-12.04 20150709 linux 2015-07-09T02:44:19Z
5 DEBIAN-8 20150702 linux 2015-07-02T15:37:02Z
6 DEBIAN-7 20150702 linux 2015-07-02T15:34:37Z
7 FEDORA-22 fedora-22 20151015 linux 2015-10-15
8 UBUNTU-15.10 ubuntu-certified-15.10 20160315 linux 2016-03-15
9 UBUNTU-14.04 ubuntu-certified-14.04 20160314 linux 2016-03-14
10 UBUNTU-16.04 ubuntu-certified-16.04 20160922
11 CENTOS-7 centos-7 20170327 linux zvol 2017-03-27
: : :
52 DEBIAN-11 Debian Linux 11 64-bit
53 DEBIAN-12 Debian Linux 12 64-bit
54 UBUNTU-20.04 Ubuntu Linux 20.04 64-bit
56 UBUNTU-24.04 Ubuntu Linux 24.04 64-bit
58 ROCKY-9 RockyLinux 9 64-bit
59 ROCKY-8 RockyLinux 8 64-bit (latest)
61 ROCKY-9 RockyLinux 9 64-bit 20250929t0539

API-Funktionen (»Actions«)

  • accounts_list

    Listet alle Konten des aktuellen Kunden auf.

  • actions_available

    Listet alle verfügbaren Funktionen der Cloud API auf.

  • bootimages_list

    Listet alle verfügbaren Boot-Images auf.

  • flavors_list

    Listet alle verfügbaren Flavors auf (allgemein auch als »Pläne« oder »Produkte« bezeichnet).

  • images_list

    Listet alle Betriebssystem-Images für die Installation oder Neuinstallation eines virtuellen Servers auf.

  • update_reverse_dns_name_of_ip4 und update_reverse_dns_name_of_ip6

    Argumente:

    • address: die Adresse, für die ein PTR-Ressourceneintrag im DNS registriert werden soll
    • rdns: der gewünschte Reverse-DNS-Name der Adresse
  • update_reverse_dns_name_of_primary_ip4

    Argumente:

    • vid: ID des virtuellen Servers, dessen primäre IPv4-Adresse einen neuen PTR-Ressourceneintrag erhalten soll
    • rdns: der gewünschte Reverse-DNS-Name
  • vserver_add

    Argumente:

    • fid: Flavor-ID
    • zid: Zonen-ID
    • entweder iid oder symname: Image-ID oder symbolischer Name des Betriebssystem-Images. Von der Verwendung von iid wird zugunsten von symname abgeraten.
    • hostname
    • rootpw
    • sshkeys (optional)
    • custom_script (optional): wird nach dem ersten Start auf dem Server ausgeführt
    • motd (optional): URL, von der /etc/motd geladen wird
  • vserver_change_hostname

    Argumente:

    • vid
    • hostname
  • vserver_delete:

    Entfernt den Server und sämtliche darauf gespeicherten Daten unwiderruflich aus der BK Cloud.

    Argumente:

    Variante 1:

    • vid

    Variante 2:

    • cid: Kunden-ID
    • primaryip
  • vserver_increase_transfer_volume:

    Erhöht das verfügbare Transfervolumen für den aktuellen Monat um 1 TiB (2⁴⁰ B = 1.099.511.627.776 B).

    Argumente:

    • vid
  • vserver_info

    Argumente:

    • vid
  • vserver_reboot

    Argumente:

    • vid
    • force_mode (optional)
  • vserver_reinstall

    Argumente:

    • vid
    • rootpw
    • sshkeys (optional)
    • iid
    • motd (optional): URL, von der /etc/motd geladen wird
  • vserver_rescue:

    Startet den Server im Rettungssystem.

    Argumente:

    • vid
    • force_mode (optional)
    • biid (optional): Boot-Image-ID (siehe bootimages_list)
  • vserver_rootpassword

    Argumente:

    • vid
    • rootpw
  • vserver_shutdown

    Argumente:

    • vid
    • force_mode (optional)
  • vserver_vncinfo

    Gibt den zuständigen VNC-Proxy und die Zugangsdaten für WebVNC zurück.

    Argumente:

    • vid
  • vservers_list:

    Listet alle virtuellen Server des aktuellen Kunden auf.

  • zones_list

    Listet alle Zonen auf.