|
@@ -6,7 +6,9 @@ from netaddr.core import AddrFormatError
|
|
|
from dcim.models import DeviceRole, Interface, Platform, Region, Site
|
|
from dcim.models import DeviceRole, Interface, Platform, Region, Site
|
|
|
from extras.filters import CustomFieldFilterSet
|
|
from extras.filters import CustomFieldFilterSet
|
|
|
from tenancy.filtersets import TenancyFilterSet
|
|
from tenancy.filtersets import TenancyFilterSet
|
|
|
-from utilities.filters import NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter
|
|
|
|
|
|
|
+from utilities.filters import (
|
|
|
|
|
+ MultiValueMACAddressFilter, NameSlugSearchFilterSet, NumericInFilter, TagFilter, TreeNodeMultipleChoiceFilter,
|
|
|
|
|
+)
|
|
|
from .constants import VM_STATUS_CHOICES
|
|
from .constants import VM_STATUS_CHOICES
|
|
|
from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
|
|
from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
|
|
|
|
|
|
|
@@ -160,6 +162,10 @@ class VirtualMachineFilter(TenancyFilterSet, CustomFieldFilterSet):
|
|
|
to_field_name='slug',
|
|
to_field_name='slug',
|
|
|
label='Platform (slug)',
|
|
label='Platform (slug)',
|
|
|
)
|
|
)
|
|
|
|
|
+ mac_address = MultiValueMACAddressFilter(
|
|
|
|
|
+ field_name='interfaces__mac_address',
|
|
|
|
|
+ label='MAC address',
|
|
|
|
|
+ )
|
|
|
tag = TagFilter()
|
|
tag = TagFilter()
|
|
|
|
|
|
|
|
class Meta:
|
|
class Meta:
|