Skip to content

v0.22.1

Latest

Choose a tag to compare

@haflidif haflidif released this 11 Aug 09:00
462587b

What's Changed

🐛 Bug Fixes

Role assignments are no longer replaced on upgrade (#148, closes #137)

When upgrading from a version that migrated role assignments from azurerm to azapi (v0.19.0), the moved-in role assignment's GUID name was not yet known to the upstream random_uuid resource, causing name to resolve to (known after apply). Because name is part of the AzAPI resource identity, this forced a destroy-and-recreate of the role assignment — tearing down the RBAC binding during the apply and risking a transient access outage.

azapi_resource.role_assignments (root and subnet modules) now sets lifecycle { ignore_changes = [name] }. Role assignment names are immutable GUIDs in Azure (never renamed, only replaced), so ignoring name changes is safe and eliminates the forced replacement.

  • No-op for existing consumers — once random_uuid is in state, plans remain idempotent.
  • Only benefits mid-migration upgraders — those moving from a version predating the stable random_uuid name.
  • Validated on real Azure via an upgrade simulation: before the fix, plan = 2 add / 1 destroy (RBAC binding torn down); after, plan = 1 add / 0 destroy, and re-plan reports no changes.

🔧 Maintenance

  • Synced repository with the latest AVM governance templates (relocated agent skills to .github/skills, added .github/agents, regenerated example footers).

Full Changelog: v0.22.0...v0.22.1