|
|
@@ -5,6 +5,7 @@ from django.utils.translation import gettext_lazy as _
|
|
|
|
|
|
from dcim.forms.common import InterfaceCommonForm
|
|
|
from dcim.models import Device, DeviceRole, Platform, Rack, Region, Site, SiteGroup
|
|
|
+from extras.models import ConfigTemplate
|
|
|
from ipam.models import IPAddress, VLAN, VLANGroup, VRF
|
|
|
from netbox.forms import NetBoxModelForm
|
|
|
from tenancy.forms import TenancyForm
|
|
|
@@ -205,13 +206,18 @@ class VirtualMachineForm(TenancyForm, NetBoxModelForm):
|
|
|
required=False,
|
|
|
label=''
|
|
|
)
|
|
|
+ config_template = DynamicModelChoiceField(
|
|
|
+ queryset=ConfigTemplate.objects.all(),
|
|
|
+ required=False,
|
|
|
+ label=_('Config template')
|
|
|
+ )
|
|
|
comments = CommentField()
|
|
|
|
|
|
fieldsets = (
|
|
|
(_('Virtual Machine'), ('name', 'role', 'status', 'description', 'tags')),
|
|
|
(_('Site/Cluster'), ('site', 'cluster', 'device')),
|
|
|
(_('Tenancy'), ('tenant_group', 'tenant')),
|
|
|
- (_('Management'), ('platform', 'primary_ip4', 'primary_ip6')),
|
|
|
+ (_('Management'), ('platform', 'primary_ip4', 'primary_ip6', 'config_template')),
|
|
|
(_('Resources'), ('vcpus', 'memory', 'disk')),
|
|
|
(_('Config Context'), ('local_context_data',)),
|
|
|
)
|
|
|
@@ -221,6 +227,7 @@ class VirtualMachineForm(TenancyForm, NetBoxModelForm):
|
|
|
fields = [
|
|
|
'name', 'status', 'site', 'cluster', 'device', 'role', 'tenant_group', 'tenant', 'platform', 'primary_ip4',
|
|
|
'primary_ip6', 'vcpus', 'memory', 'disk', 'description', 'comments', 'tags', 'local_context_data',
|
|
|
+ 'config_template',
|
|
|
]
|
|
|
|
|
|
def __init__(self, *args, **kwargs):
|