Change control
The intended change-control loop, fully scriptable:
POST /api/bng/snapshots {"name": "pre-change-4412"}
→ capture and verify
… apply the change, through /v1/* or the wizard …
GET /api/bng/snapshots/{id}/diff
→ confirm exactly what changed, and whether a reboot is implied
… if the change must be reverted …
POST /api/bng/snapshots/{id}/restore {"dry_run": true}
→ review the step plan
POST /api/bng/snapshots/{id}/restore {"confirm": true}
→ apply; expect 200, or 207 with a per-step report
GET /api/bng/snapshots/{id}/diff
→ confirm convergence
Tag snapshots that must survive automatic pruning with golden.