Highlights
- Expanded libvirt XML code generation coverage by handling anonymous embedded fields and hypervisor namespace fields that derive their XML names from child
XMLNamemetadata. - Added domain schema coverage and curated descriptions for hypervisor-specific namespace fields including QEMU, Xen, bhyve, LXC, and VMware extensions.
- Made VLAN tag IDs configurable.
What's Changed
Schema and code generation
- Process anonymous embedded libvirt XML fields in the code generator, improving coverage for embedded state-style structs such as Hyper-V feature fields.
- Apply Terraform field policies after reflection, keeping reflection logic focused on libvirt structure analysis and policy logic focused on Terraform semantics.
- Support hypervisor namespace fields discovered via child
XMLNamemetadata, exposing:qemu_commandlineqemu_capabilitiesqemu_overrideqemu_deprecationlxc_namespacebhyve_commandlinevmware_data_center_pathxen_commandline
- Add parser, generated, and provider schema tests covering the new codegen behavior.
Domain and network improvements
- Make VLAN tag IDs configurable, fixing the read-only
vlan-idhandling reported in issue #1236.
Documentation
- Add curated descriptions for the new hypervisor namespace fields, using official libvirt references where available and conservative text for fields that are not publicly documented on libvirt.org.
Included changes
docs: add hypervisor namespace field descriptionsfix: support hypervisor XMLName fields in codegenrefactor: apply codegen field policies after reflectiontest: cover anonymous embedded XML fieldsfix: Process anonymous fields in libvirt XML(#1222 by @atopuzov)fix: make vlan tag ids configurable(fixes #1236)