Contract Operations¶
Referenz der Operationen, die ein Contract auf dem Target Service ausführen kann, und der Modi, in denen sie ausgeführt werden.
Überblick¶
Ein Contract synchronisiert Objects von einem Source Service zu einem Target Service. Jede schreibende Operation wird über ein Schalterpaar gesteuert:
- Enable — ob der Contract die Operation überhaupt ausführt. Ist der Schalter aus, wird die Operation übersprungen.
- Mode (Review / Auto) — ob eine anstehende Operation sofort ausgeführt wird (Auto Mode) oder zunächst als Review Finding zur Bestätigung vorgelegt wird (Review Mode).
| Operation | Auslöser | Enable (Default) | Mode (Default) |
|---|---|---|---|
| CREATE | Neues Source Object ohne verknüpftes Target Object | an | Review |
| UPDATE | Verknüpftes Source Object wurde geändert | an | Review |
| DELETE | Verknüpftes Source Object existiert nicht mehr | an | Review |
| CORRECT TARGET DRIFT | Target Object wurde extern geändert, Source unverändert | aus | Review |
| MATCH | Source Object und unverknüpftes Target Object tragen denselben Natural Key | immer aktiv | Review (Safe Matches per Auto Safe Match automatisierbar) |
Verfügbarkeit hängt vom Contract Template ab
Nicht jeder Flow unterstützt jede Operation. Der Contract-Wizard bietet nur die Schalter an, die das gewählte Contract Template tatsächlich unterstützt — ein Flow ohne UPDATE-Unterstützung hat z. B. weder UPDATE- noch Drift-Schalter.
Operationen¶
CREATE¶
Legt ein neues Object auf dem Target Service an. Wird ausgelöst, wenn ein Source Object weder verknüpft ist noch ein Match gefunden wurde.
Recreate: Wurde ein bereits synchronisiertes Target Object extern gelöscht, legt Weave es im nächsten Sync Cycle erneut an. Recreates laufen immer automatisch, solange CREATE enabled ist — der Review/Auto-Mode gilt nur für erstmalige CREATEs.
UPDATE¶
Überträgt Änderungen am Source Object auf das verknüpfte Target Object. Wird ausgelöst, wenn sich der Datenstand des Source Objects seit der letzten Synchronisation geändert hat.
Replace: Ändert sich ein Feld, das der Target Service nicht ändern kann (identitätsbildendes Attribut, z. B. die MAC-Adresse eines Cisco-ISE-Endpoints), führt Weave stattdessen einen REPLACE aus: neues Object anlegen, altes Object löschen. REPLACE verwendet die UPDATE-Schalter; die beiden Teilschritte sind bewusst nicht einzeln abschaltbar, da ein halb ausgeführter Replace einen inkonsistenten Zustand hinterlassen würde.
DELETE¶
Löscht das Target Object, wenn das zugehörige Source Object nicht mehr existiert.
CORRECT TARGET DRIFT¶
Setzt ein extern geändertes Target Object auf die Werte des Source Objects zurück. Target Drift liegt vor, wenn sich das Target Object geändert hat, das Source Object aber unverändert ist — jemand hat direkt auf dem Target Service editiert.
Die Operation ist bewusst von UPDATE entkoppelt, weil sie die umgekehrte Frage beantwortet: UPDATE reagiert auf Änderungen an der Source (Weave überträgt den neuen Soll-Zustand), CORRECT TARGET DRIFT reagiert auf Fremdänderungen am Target (Weave stellt den bestehenden Soll-Zustand wieder her). Ob Fremdänderungen toleriert oder zurückgesetzt werden, ist damit unabhängig davon einstellbar, ob Source-Änderungen synchronisiert werden.
| Enable | Mode | Verhalten |
|---|---|---|
| aus | — | Fremdänderungen am Target werden toleriert (Default) |
| an | Review | Jede erkannte Drift wird als Finding (DRIFT_CORRECTION) vorgelegt; der Operator entscheidet pro Object |
| an | Auto | Erkannte Drift wird sofort auf die Source-Werte zurückgesetzt |
Wird ein Drift-Finding im Review übersprungen, bleibt die Fremdänderung bestehen und die Drift wird im nächsten Sync Cycle erneut gemeldet.
MATCH¶
Verknüpft ein Source Object mit einem bereits existierenden, noch unverknüpften Target Object, statt ein Duplikat anzulegen. Grundlage ist der Natural Key — der menschenlesbare Identifier eines Objects, in der Regel sein Name.
Der Vergleich ist case-insensitive und ignoriert führende/abschließende Leerzeichen. Es gibt zwei Match-Typen:
| Match-Typ | Bedeutung |
|---|---|
EQUALS |
Die Natural Keys stimmen exakt überein |
CONTAINS |
Ein Natural Key enthält den anderen als Teilstring (in beide Richtungen geprüft) |
Safe Match¶
Genau ein EQUALS-Kandidat und kein weiterer CONTAINS-Kandidat — die Zuordnung ist eindeutig.
- Default (Review): Der Match wird als Finding (
MATCH) vorgelegt. Der Operator bestätigt die Verknüpfung mit dem Kandidaten oder wählt[New Object], um stattdessen ein neues Target Object anzulegen. - Auto Safe Match an: Der Match wird ohne Review automatisch verknüpft (adoptiert).
Unterscheiden sich die Datenstände von Source und Target beim Match (divergent), folgt auf die Verknüpfung ein Angleich-UPDATE nach den UPDATE-Schaltern des Contracts: mit UPDATE im Auto Mode wird das Target sofort angeglichen, im Review Mode entsteht ein UPDATE-Finding. Ist UPDATE disabled und Auto Safe Match an, wird nur verknüpft — die Datenabweichung wird bewusst verworfen.
Ambiguous Match¶
Die Zuordnung ist nicht eindeutig: mehrere EQUALS-Kandidaten, ein EQUALS-Kandidat neben ähnlich benannten CONTAINS-Kandidaten, oder ausschließlich CONTAINS-Treffer.
Ambiguous Matches gehen immer in den Review — Auto Safe Match und Auto Create werden ignoriert. Der Operator wählt einen der Kandidaten oder [New Object].
Match Categories¶
Im Review trägt jedes MATCH-Finding eine Match Category, die den Befund präzisiert:
| Category | Bedeutung |
|---|---|
identical |
Genau ein exakter Kandidat, Datenstände von Source und Target sind identisch |
divergent |
Genau ein exakter Kandidat, die Datenstände unterscheiden sich (Drift zwischen Source und Target) |
fuzzy |
Nur Teilstring-Treffer (CONTAINS), kein exakter Kandidat |
ambiguous |
Mehrere Kandidaten — eine eindeutige Zuordnung ist nicht möglich |
Die Category beschreibt den Datenbefund unabhängig von den Schaltern: ein divergent bleibt divergent, auch wenn UPDATE disabled ist und kein Angleich stattfindet.
Modi¶
Auto Mode¶
Die Operation wird im Sync Cycle ohne Bestätigung ausgeführt.
Review Mode¶
Die Operation wird als Review Finding geparkt und erst nach Bestätigung durch den Operator ausgeführt (weave sync review). Der Operator entscheidet pro Finding, ob die Änderung angewendet oder übersprungen wird.
Offene Reviews blockieren Folge-Syncs
Solange ein Review unbeantwortet ist, stellt der Contract nachfolgende Sync Cycles zurück. Reviews sollten zeitnah abgearbeitet werden.
Review ist für alle Operationen der Default — ein neuer Contract führt ohne explizite Umstellung auf Auto keine unbestätigten Änderungen aus.
Konfiguration¶
Die Schalter werden beim Anlegen eines Contracts im Wizard gesetzt (weave sync contract create) und können nachträglich geändert werden (weave sync contract update <id>). Die aktuelle Konfiguration zeigt weave sync contract show <id>.
| Schalter | Default |
|---|---|
| Enable CREATE | an |
| CREATE Mode | Review |
| Enable UPDATE | an |
| UPDATE Mode | Review |
| Enable DELETE | an |
| DELETE Mode | Review |
| Enable Correct Target Drift | aus |
| Correct Target Drift Mode | Review |
| Auto Safe Match | aus |