TenantAtlas/specs/018-driver-updates-wufb/plan.md
ahmido 69d98e925c feat/018-driver-updates-wufb (#27)
Tenants: Tenant anlegen/öffnen → tenant_id, app_client_id, app_client_secret setzen → Make current (wichtig).
Inventory → Policies: oben Sync from Intune.
In der Tabelle nach Type = “Driver Updates (Windows)” (windowsDriverUpdateProfile) filtern und Policy öffnen.
Auf der Policy: Settings-Tab prüfen (Block „Driver Update Profile“), dann Capture snapshot klicken und unter Versions die Version ansehen.
Restore-Test (nur im Test-Tenant!): Version öffnen → Restore to Intune erst als Dry-run, dann Execute; danach unter Backups & Restore → Restore Runs Ergebnis prüfen (soll graph_path mit deviceManagement/windowsDriverUpdateProfiles/... zeigen).

Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local>
Reviewed-on: #27
2026-01-04 00:38:54 +00:00

1.4 KiB

Plan: Driver Updates (WUfB Add-on) (018)

Branch: feat/018-driver-updates-wufb
Date: 2026-01-03
Input: spec.md

Goal

Add first-class support for Windows Driver Update profiles (windowsDriverUpdateProfile) across inventory, backup/version snapshots, restore (preview + execution), and normalized display.

Approach

  1. Confirm Graph API details for driver update profiles (resource path, @odata.type, patchable properties, assignment endpoints).
  2. Add type metadata to config/tenantpilot.php (category, endpoint, backup/restore mode, risk).
  3. Add Graph contract entry in config/graph_contracts.php (resource, type family, create/update methods, assignments).
  4. Ensure sync lists and stores these policies (config-driven loop) and add a targeted sync test.
  5. Ensure snapshots capture the complete payload and add tests for version/backup capture.
  6. Implement restore apply via contract-driven sanitization; add failure-safe behavior and tests.
  7. Add a normalizer for readable UI output; add tests for normalized display.
  8. Run Pint and targeted tests.

Decisions / Notes

  • Default to contract-driven restore semantics; avoid bespoke Graph calls unless strictly required.
  • If Graph rejects PATCH due to read-only fields, extend update_strip_keys for this type (do not loosen safety).
  • Keep restore risk high; require clear preview and audit trail.