What's Changed
⚠️ Breaking Changes
- Interfaces converted from
azurermtoazapi(#52) — the resource lock, role assignment, and diagnostic settings interfaces are now implemented withazapi_resourcevia theAzure/avm-utl-interfacesutility module. Theazurermprovider dependency has been removed from the module entirely. (#108)
Input/output compatibility: the lock, role_assignments, and diagnostic_settings variable schemas are unchanged — no inputs or outputs were added, removed, or renamed. Existing configurations do not need to change.
Upgrade impact on terraform apply:
- Locks & diagnostic settings migrate in place via
movedblocks — no recreation. - Role assignments are recreated once. Their underlying resource name changes from the
azurerm-generated GUID to the utility module's generated name, so Terraform will destroy and re-create each role assignment on the first apply after upgrading. This is a metadata-only churn — the effective access (principal, role, scope) is identical before and after. Plan carefully if you have policies that react to role-assignment lifecycle events.
Why
Aligns the module with the AVM direction of using azapi + shared interface utility modules, reduces provider surface area, and removes the dual-provider (azurerm + azapi) requirement for consumers.
Contributors
- @kewalaka — original implementation (#52 / #108)
- @haflidif — maintainer, takeover & CI
- @jaredfholgate — review
Full Changelog: v0.18.2...v0.19.0