Eine Konfigurationsrevision wiederherstellen

POST /v1/config-revisions/{revision_id}:restore · Berechtigungen config:write, config:read und die Leseberechtigungen der Typen der Revision

Erstellt einen neuen Plan, der die Anwendung rückgängig macht, die die Revision gespeichert hat. Noch ändert sich nichts: Prüfen Sie den Plan und wenden Sie ihn dann mit POST /v1/config-plans/{plan_id}:apply an. Das Zurücksetzen läuft über denselben Weg Plan → Anwendung wie jede andere Änderung, daher gelten dieselben Prüfungen auf veraltete Stände, Löschbestätigung, Geheimnis- und Berechtigungsregeln.

Das Ziel des Plans ist die Revision:

Revisionen enthalten keine Geheimniswerte. Eine Verbindung, die erneut angelegt wird, braucht beim Anwenden des Plans ihr Client-Geheimnis (requires_secret, eine Warnung secret_required). Ein durch die ursprüngliche Anwendung geändertes Geheimnis wird nicht wiederhergestellt.

Anfrage

Parameter Beschreibung
revision_id Die Revisions-ID, cfgr_…, aus der Revisionsliste.

Die Anfrage hat keinen Body. Ein leerer Body, {} oder null wird akzeptiert; jedes Feld wird abgelehnt. Senden Sie einen Idempotency-Key-Header, damit Wiederholungen sicher sind.

Antwort

201 Created mit Location: /v1/config-plans/{plan_id} und Cache-Control: no-store. Der Body ist ein Plan in derselben Form wie die Antwort der Plan-Erstellung. Der Plan ist 1 Stunde gültig und zählt auf das Planratenlimit und das Plankontingent der Umgebung. Der Eintrag config_plan.created im Verwaltungsprotokoll der Umgebung hält fest, dass der Plan aus dieser Revision stammt.

Fehler

HTTP code Wann
400 malformed_request, unknown_field Der Body ist nicht leer, {} oder null.
401 unauthenticated Die Anmeldedaten fehlen, sind ungültig oder widerrufen.
403 insufficient_permissions Den Anmeldedaten fehlt eine Berechtigung, die der Plan braucht; required_permissions listet alle auf.
404 not_found Die Revision existiert nicht, gehört zu einer anderen Umgebung oder ist älter als 90 Tage.
413 config_document_too_large Das Dokument des Plans würde 5.000 Ressourcen oder 10 MiB überschreiten.
422 validation_failed Die Revision kann nicht mehr wiederhergestellt werden; siehe unten. errors[].pointer zeigt in die Revision (/revision/<kind>/<key>/...).
429 rate_limited Das Planratenlimit oder das Plankontingent der Umgebung wurde erreicht; wiederholen Sie die Anfrage nach der Zeit aus Retry-After.
503 service_unavailable Die Plankapazität ist ausgelastet oder eine Abhängigkeit ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage nach der Zeit aus Retry-After.
errors[].code Bedeutung
not_restorable /revision_id: Die Revision deckt einen Typ ab, den es nicht mehr gibt.
invalid Eine gespeicherte Spezifikation passt nicht mehr zum aktuellen Konfigurationsschema.
unresolved_reference Eine wiederhergestellte Ressource verweist auf einen key, der nicht existieren wird.
key_in_use Der key gehört jetzt zu einer Anwendung oder API, die die Konfiguration nicht verwaltet.
still_referenced /revision/created: Eine durch die Anwendung angelegte Ressource wird noch von einer bleibenden Ressource referenziert.

Beispiel

curl -X POST "https://api.eu.keenauth.com/v1/config-revisions/cfgr_01m4qpqtywfs7930tb6kqn5rc5:restore" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

keenauth config revisions restore cfgr_01m4qpqtywfs7930tb6kqn5rc5
keenauth config apply cfgp_01m4qpqtywfs7930tb6kqn5rc5