Zum Inhalt springen
Odinex Cloud
Konzepte

Aktionen

Länger laufende Vorgänge und wie Sie ihren Fortschritt verfolgen.

Einen Server erstellen, ein Volume anhängen, ausschalten: Viele Vorgänge dauern Sekunden bis Minuten. Die API hält die Verbindung nicht offen, bis sie abgeschlossen sind. Sie startet den Vorgang und antwortet sofort (201) mit einer Aktion:

{
  "action": {
    "id": 4211,
    "command": "create_server",
    "status": "running",
    "progress": 0,
    "started": "2026-10-09T08:00:00Z",
    "finished": null,
    "resources": [{ "id": 42, "type": "server" }],
    "error": null
  }
}

Fragen Sie GET /actions/{id} ab, bis status nicht mehr running ist (oder nutzen Sie stattdessen Echtzeit-Ereignisse):

StatusBedeutung
runningLäuft noch; progress steigt von 0 bis 100
successAbgeschlossen
errorFehlgeschlagen; error.code und error.message nennen den Grund. Änderungen werden nach Möglichkeit zurückgenommen
while :; do
  status=$(curl -s -H "Authorization: Bearer $ODX_TOKEN" \
    https://api.odinex.cloud/v1/actions/4211 | jq -r .action.status)
  [ "$status" = running ] || break
  sleep 2
done
echo "$status"

Die odx CLI und der Terraform-Provider warten automatisch auf Aktionen (odx … --no-wait kehrt sofort zurück).

  • resources listet die Ressourcen auf, auf die sich die Aktion bezieht.
  • GET /actions listet die Aktionen des Projekts auf, die neuesten zuerst, gefiltert nach status oder nach resource_type und resource_id.
  • Solange auf einer Ressource eine Aktion läuft, schlagen andere Änderungen an dieser Ressource mit 409 resource_busy fehl. Warten Sie, bis die Aktion abgeschlossen ist, und versuchen Sie es dann erneut.
  • Die Ressource, die zusammen mit der Aktion zurückgegeben wird (z. B. server bei POST /servers), existiert in der API bereits mit einem Status wie initializing, bevor die Aktion abgeschlossen ist.