-
-
Notifications
You must be signed in to change notification settings - Fork 209
feat(sdn): add support for zone resources and datasources #2046
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job by splitting the code :)
Only interrogation I have remaining is about class namings but you'll see the comments and let me know what you think !
Happy to collaborate with you
cursor review |
Thanks for the feedback @MacherelR |
Signed-off-by: Pavel Boldyrev <[email protected]>
Signed-off-by: Pavel Boldyrev <[email protected]>
Signed-off-by: Pavel Boldyrev <[email protected]>
Signed-off-by: Pavel Boldyrev <[email protected]>
Signed-off-by: Pavel Boldyrev <[email protected]>
- Updated the genericAttributesWith function to accept a single map of attributes instead of a variadic argument. - Improved the logic to initialize and merge attributes, ensuring that extra attributes can override the generic ones. - Adjusted the SimpleResource schema to call genericAttributesWith with nil for clarity. Signed-off-by: Pavel Boldyrev <[email protected]>
Signed-off-by: Pavel Boldyrev <[email protected]>
Signed-off-by: Pavel Boldyrev <[email protected]>
Signed-off-by: Pavel Boldyrev <[email protected]>
cursor review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no bugs!
@coderabbitai review |
✅ Actions performedReview triggered.
|
@coderabbitai full review |
✅ Actions performedFull review triggered. |
@coderabbitai full review |
✅ Actions performedFull review triggered. |
Warning Rate limit exceeded@coderabbitai[bot] has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 6 minutes and 58 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (62)
📝 WalkthroughWalkthroughThis change introduces comprehensive support for Proxmox SDN zones in both the Terraform provider codebase and documentation. It adds new resource and data source implementations for various SDN zone types (simple, VLAN, QinQ, VXLAN, EVPN), corresponding documentation and example files, acceptance tests, and updates to the provider registration. Supporting types, API clients, and utility functions are included, along with minor improvements to linting and test scripts. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45-60 minutes Suggested labels
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
✅ Actions performedFull review triggered. |
Based on #1995
This PR introduces comprehensive Software Defined Networking (SDN) zones support to the Terraform provider, enabling users to manage various types of SDN zones in Proxmox VE.
🚀 Resources Added
SDN Zone Resources
proxmox_virtual_environment_sdn_zone_simple
- Simple isolated VNet bridge for local VM trafficproxmox_virtual_environment_sdn_zone_vlan
- VLAN-based zones with bridge configurationproxmox_virtual_environment_sdn_zone_qinq
- QinQ (802.1ad) zones with service VLAN supportproxmox_virtual_environment_sdn_zone_vxlan
- VXLAN zones with peer configurationproxmox_virtual_environment_sdn_zone_evpn
- EVPN zones with controller and exit node support📊 Data Sources Added
Individual Zone Data Sources
proxmox_virtual_environment_sdn_zone_simple
- Retrieve specific Simple zone configurationproxmox_virtual_environment_sdn_zone_vlan
- Retrieve specific VLAN zone configurationproxmox_virtual_environment_sdn_zone_qinq
- Retrieve specific QinQ zone configurationproxmox_virtual_environment_sdn_zone_vxlan
- Retrieve specific VXLAN zone configurationproxmox_virtual_environment_sdn_zone_evpn
- Retrieve specific EVPN zone configurationZone Listing Data Source
proxmox_virtual_environment_sdn_zones
- List all SDN zones with optional type filtering📝 Usage Examples
Creating SDN Zones
Simple Zone
VLAN Zone
QinQ Zone
VXLAN Zone
EVPN Zone
Querying SDN Zones
Individual Zone Data Source
List All Zones
✨ Key Features
🔧 Implementation Details
This implementation provides complete SDN zone management capabilities, enabling users to build sophisticated software-defined networking configurations in their Proxmox VE infrastructure. All resources follow Terraform best practices and include comprehensive test coverage.
📚 Documentation
Complete documentation and examples are included for all new resources and data sources in the
docs/
andexamples/
directories.Contributor's Note
/docs
for any user-facing features or additions./fwprovider/tests
for any new or updated resources / data sources.make example
to verify that the change works as expected.Note: no updates to legacy tests in /example, acceptance tests cover all that.
Proof of Work
See acceptance tests.
Community Note
Relates #817
Summary by CodeRabbit
New Features
Documentation
Tests
Chores