What's Changed
✨ Features
- New
ignore_body_changesinterface (#142, closes #61) — a spec-conformant way to suppress out-of-band drift on VNet, subnet, and peering resources. Implements AVM spec TFFR8.- Root-level
ignore_body_changesobject keyed by resource type (virtual_networks,virtual_networks_subnets,virtual_networks_virtual_network_peerings), plus a per-subnet override that takes precedence. - Resolves the AVNM / Azure Policy DINE route-table (and other server-side) infinite-drift problem.
- Validated in CI and live against real AVNM IPAM pools (apply → idempotency, zero drift → destroy).
- Root-level
📝 Docs
- Corrected stale
peeringsvariable documentation (#135).
⚠️ Upgrade notes
- azapi provider minimum is now
~> 2.12—ignore_body_changesis a write-only argument introduced in azapi v2.12.0. - Terraform
required_versionfloor stays>= 1.9. Per TFFR8, supplying a non-emptyignore_body_changesvalue requires Terraform ≥ 1.11; the empty default emitsnull, so consumers on 1.9/1.10 who don't use the feature are unaffected. - Note: because the value lives in provider-private state, a change to
ignore_body_changesonly takes effect after an apply.
🙏 Credits
Thanks to @martinopedal for surfacing the drift issue and the original PR #70.
Full Changelog: v0.20.0...v0.21.0