🎉 Major New Feature: IPAM Support
This release introduces comprehensive IP Address Management (IPAM) support through Azure Virtual Network Manager, enabling centralized IP governance and automatic conflict prevention.
✨ New Capabilities
- 🏢 VNet IPAM Allocation - Automatically allocate VNet address space from centralized IPAM pools
- 🔗 Subnet IPAM Allocation - Dynamic subnet addressing with automatic conflict resolution
- 🔀 Mixed Addressing - Combine IPAM and traditional subnets within the same VNet
- 🔄 Enhanced Subnet Module - Standalone subnet module now supports IPAM allocation
- ⚡ Retry Logic - Robust conflict resolution with 15-second intervals (300s max timeout)
📍 Regional Availability
IPAM is supported in all Azure regions where Virtual Network Manager is available, except: chilecentral
, jioindiawest
, malaysiawest
, qatarcentral
, southafricawest
, westindia
, westus3
🛠 What's New
Core Module
- Added
ipam_pools
variable for VNet address space allocation - Enhanced subnet configuration with IPAM pool support
- Integrated retry mechanisms for reliable IPAM operations
- Maintained full backwards compatibility (zero breaking changes)
Subnet Module
- Added IPAM allocation capabilities to standalone subnet module
- Support for dynamic IP assignment from IPAM pools
- Consistent interface with main module IPAM features
New Examples
ipam_basic
- Complete IPAM usage with VNet and multiple subnetsexisting_vnet_ipam_subnets
- Adding IPAM subnets to existing IPAM-enabled VNetsipam_vnet_only
- IPAM VNet creation with traditional subnet management
🔧 Technical Requirements
- Azure Virtual Network Manager required for IPAM functionality
- azapi provider version ~> 2.4
- Removed
time
provider dependency (replaced with native azapi retry logic)
📚 Migration Notes
- No breaking changes - existing configurations work unchanged
- Optional feature - IPAM can be adopted gradually alongside traditional addressing
- State compatibility - no state migration required
🐛 Other Improvements
- Enhanced error handling and retry mechanisms
- Comprehensive documentation and troubleshooting guides
🙏 Acknowledgments
Special thanks to @ChrisChapman-gh for his initial structure and shell that helped lay the foundation for this IPAM implementation.
What's Changed
New Contributors
- @haflidif made their first contribution in #32
- @ChrisChapman-gh made their first contribution in #32
Full Changelog: v0.13.0...v0.14.0