Übersicht über die Entwicklertools
Automatisieren Sie Ihre Projekte mit der REST-API und API-Tokens oder mit OpenStack-Tools wie Terraform und der openstack-CLI über Anwendungs-Credentials.
Sie können Ihre Projekte auf zwei Arten aus Code heraus verwalten. Die REST-API ist die eigene HTTP-API der Plattform, dieselbe API, die auch die Konsole verwendet, und Sie rufen sie mit einem API-Token oder einem Dienstkontoschlüssel auf. Die OpenStack-APIs bedienen OpenStack-Tools wie die openstack-CLI, Terraform und Kubernetes-Cloud-Integrationen, die sich mit einem Anwendungs-Credential anmelden.
Hauptfunktionen
- Die eigene API der Konsole. Die Konsole sendet ihre Anfragen an die REST-API, und Sie können dieselben Anfragen aus Ihrem Code senden. Siehe REST-API-Übersicht.
- Bereichsgebundene Anmeldedaten. API-Tokens haben Bereiche, ein optionales Ablaufdatum und eine optionale IP-Zulassungsliste. Dienstkontoschlüssel handeln mit den Rollen eines Dienstkontos. Siehe Mit API-Tokens authentifizieren.
- Anfragen zum Kopieren. Die REST-Entsprechung im letzten Schritt des Erstellungsassistenten für Instanzen zeigt die Anfrage als
curl-Befehl. Ein Admin-Passwort wird aus der UmgebungsvariableADMIN_PASSWORDgelesen, statt ausgegeben zu werden. Siehe Virtuelle Maschine erstellen. - Asynchrone Arbeit, die Sie verfolgen können. Lang laufende Anfragen geben einen Vorgang zurück, den Sie lesen können, bis er abgeschlossen ist. Siehe Synchrone und asynchrone Anfragen.
- Sichere Wiederholungen. Mit einem Idempotency-Key gibt ein wiederholter Schreibzugriff das erste Ergebnis zurück, statt die Änderung zu wiederholen. Siehe Idempotente Anfragen.
- API-Referenz. Die Vorgänge jedes Produkts mit ihren Parametern und Antworten. Siehe API-Referenz.
- OpenStack-kompatible Tools. Die openstack-CLI, Terraform sowie OCCM und Cinder CSI für Kubernetes funktionieren mit Ihren Projekten. Siehe OpenStack-kompatible Tools.
Funktionsweise
Beide Arten von APIs wirken auf dieselben Ressourcen. Eine Instanz, die Sie mit Terraform erstellen, erscheint in der Konsole und wird wie eine Instanz abgerechnet, die Sie in der Konsole erstellen. Ressourcen, die Sie über eine der beiden APIs erstellen, werden auf dieselben Kontingente angerechnet.
Die REST-API wird unter /api/v1 auf dem API-Host bereitgestellt, nicht auf dem Host der Konsole. Die meisten Pfade beginnen mit der ID eines Projekts, und jede Anfrage enthält Bearer-Anmeldedaten, die das API-Gateway prüft, bevor die Anfrage einen Dienst erreicht. Schreibzugriffe, die die Plattform in der Cloud ausführt, etwa das Erstellen einer Instanz, geben 202 Accepted zurück und laufen im Hintergrund weiter; Sie verfolgen sie über einen Vorgang oder den Status der Ressource. Vorgänge, die Sie über die REST-API starten, etwa das Erstellen oder Löschen einer Ressource, erscheinen im Activity Log zusammen mit dem Benutzer oder Dienstkonto, das sie gestartet hat. Siehe Audit- und Aktivitätsaufzeichnungen.
Die REST-API hat kein eigenes Befehlszeilentool und keinen eigenen Terraform-Provider: Sie rufen sie über HTTP auf, z. B. mit curl. Für Infrastructure as Code verwenden Sie den OpenStack-Provider von Terraform mit einem Anwendungs-Credential.
Ein Anwendungs-Credential gehört zu einem Projekt und handelt mit den OpenStack-Rollen, die Ihnen Ihre Rolle im Projekt gibt. Sie erstellen es in der Konsole und können beim Erstellen Konfigurationsdateien für jedes Tool herunterladen. API-Tokens funktionieren nicht mit OpenStack-Tools, und Anwendungs-Credentials funktionieren nicht mit der REST-API.
Anwendungsfälle
- CI/CD-Pipelines. Erstellen und löschen Sie Testumgebungen aus einer Pipeline mit einem Dienstkontoschlüssel, der nicht vom Konto einer Person abhängt.
- Infrastructure as Code. Beschreiben Sie Netzwerke, Instanzen und Volumes in Terraform, und wenden Sie sie mit einem Anwendungs-Credential an.
- Kubernetes auf Ihren Instanzen. Verbinden Sie einen Cluster, den Sie auf Ihren Instanzen betreiben, über OCCM und Cinder CSI mit der Cloud.
- Berichte. Lesen Sie Kostendaten und Aktivitätsaufzeichnungen in Ihre eigenen Tools ein.
Abrechnung
Die APIs ändern nichts an der Abrechnung von Ressourcen: Eine Ressource, die Sie über eine API erstellen, wird nach denselben Dimensionen abgerechnet wie eine, die Sie in der Konsole erstellen. Die Dimensionen jedes Produkts finden Sie unter So funktioniert die Abrechnung.
Limits
- Das API-Gateway begrenzt, wie schnell mit einzelnen Anmeldedaten Anfragen gesendet werden können, und antwortet mit
429 Too Many Requests, wenn Sie das Limit überschreiten. Siehe Ratenbegrenzung. - Die meisten Listen geben höchstens 200 Elemente pro Seite zurück. Siehe Paginierung.
- Die Plattform bewahrt einen Idempotency-Key mindestens 24 Stunden lang auf. Siehe Idempotente Anfragen.
- Einige Vorgänge werden für ein API-Token oder einen Dienstkontoschlüssel auch bei passendem Bereich abgelehnt, z. B. die, die eine Konsolensitzung erfordern. Siehe Was ein API-Token nicht aufrufen kann.
- Anwendungs-Credentials haben eigene Limits. Siehe Limits der OpenStack-API.
Zugehörige Dienste
- Identity & Access Management: Dienstkonten, API-Tokens und Rollen.
- OpenStack API Access: Anwendungs-Credentials für OpenStack-Tools.
- Activity Log: die Aufzeichnung der Vorgänge in Ihren Projekten.
Nächste Schritte
REST-API-Übersicht
Basis-URL, Bereiche, asynchrone Vorgänge und Fehler.
Mit API-Tokens authentifizieren
Anmeldedaten senden und erfahren, was sie erreichen können.
API-Referenz
Jeder Vorgang mit seinen Parametern und Antworten.
OpenStack-kompatible Tools
Die openstack-CLI, Terraform und Kubernetes-Integrationen.