feat(virtualization): Add Virtual Machine Type model

Introduce `VirtualMachineType` to classify virtual machines and apply
default platform, vCPU, and memory values when creating a VM.

This adds the new model and its relationship to `VirtualMachine`, and
wires it through forms, filtersets, tables, views, the REST API,
GraphQL, navigation, search, documentation, and tests.

Explicit values set on a virtual machine continue to take precedence,
and changes to a type do not retroactively update existing VMs.
This commit is contained in:
Martin Hauser
2026-03-30 20:06:50 +02:00
committed by Jeremy Stretch
parent c7504628bd
commit 2389feea6b
31 changed files with 1574 additions and 122 deletions

View File

@@ -9,10 +9,10 @@ class VirtualizationConfig(AppConfig):
from utilities.counters import connect_counters
from . import search, signals # noqa: F401
from .models import VirtualMachine
from .models import VirtualMachine, VirtualMachineType
# Register models
register_models(*self.get_models())
# Register counters
connect_counters(VirtualMachine)
connect_counters(VirtualMachine, VirtualMachineType)