Rename VMInterface serializers

This commit is contained in:
Jeremy Stretch 2020-06-23 15:46:20 -04:00
parent a1b816b403
commit 548127cc88
4 changed files with 4 additions and 17 deletions

View File

@ -5,14 +5,8 @@ from drf_yasg.utils import get_serializer_ref_name
from rest_framework.fields import ChoiceField from rest_framework.fields import ChoiceField
from rest_framework.relations import ManyRelatedField from rest_framework.relations import ManyRelatedField
from dcim.api.serializers import InterfaceSerializer as DeviceInterfaceSerializer
from extras.api.customfields import CustomFieldsSerializer from extras.api.customfields import CustomFieldsSerializer
from utilities.api import ChoiceField, SerializedPKRelatedField, WritableNestedSerializer from utilities.api import ChoiceField, SerializedPKRelatedField, WritableNestedSerializer
from virtualization.api.serializers import InterfaceSerializer as VirtualMachineInterfaceSerializer
# this might be ugly, but it limits drf_yasg-specific code to this file
DeviceInterfaceSerializer.Meta.ref_name = 'DeviceInterface'
VirtualMachineInterfaceSerializer.Meta.ref_name = 'VirtualMachineInterface'
class NetBoxSwaggerAutoSchema(SwaggerAutoSchema): class NetBoxSwaggerAutoSchema(SwaggerAutoSchema):

View File

@ -8,7 +8,7 @@ __all__ = [
'NestedClusterGroupSerializer', 'NestedClusterGroupSerializer',
'NestedClusterSerializer', 'NestedClusterSerializer',
'NestedClusterTypeSerializer', 'NestedClusterTypeSerializer',
'NestedInterfaceSerializer', 'NestedVMInterfaceSerializer',
'NestedVirtualMachineSerializer', 'NestedVirtualMachineSerializer',
] ]
@ -56,7 +56,7 @@ class NestedVirtualMachineSerializer(WritableNestedSerializer):
fields = ['id', 'url', 'name'] fields = ['id', 'url', 'name']
class NestedInterfaceSerializer(WritableNestedSerializer): class NestedVMInterfaceSerializer(WritableNestedSerializer):
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:vminterface-detail') url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:vminterface-detail')
virtual_machine = NestedVirtualMachineSerializer(read_only=True) virtual_machine = NestedVirtualMachineSerializer(read_only=True)

View File

@ -94,7 +94,7 @@ class VirtualMachineWithConfigContextSerializer(VirtualMachineSerializer):
# VM interfaces # VM interfaces
# #
class InterfaceSerializer(TaggedObjectSerializer, ValidatedModelSerializer): class VMInterfaceSerializer(TaggedObjectSerializer, ValidatedModelSerializer):
virtual_machine = NestedVirtualMachineSerializer() virtual_machine = NestedVirtualMachineSerializer()
mode = ChoiceField(choices=InterfaceModeChoices, allow_blank=True, required=False) mode = ChoiceField(choices=InterfaceModeChoices, allow_blank=True, required=False)
untagged_vlan = NestedVLANSerializer(required=False, allow_null=True) untagged_vlan = NestedVLANSerializer(required=False, allow_null=True)

View File

@ -77,12 +77,5 @@ class InterfaceViewSet(ModelViewSet):
).prefetch_related( ).prefetch_related(
'virtual_machine', 'tags' 'virtual_machine', 'tags'
) )
serializer_class = serializers.InterfaceSerializer serializer_class = serializers.VMInterfaceSerializer
filterset_class = filters.InterfaceFilterSet filterset_class = filters.InterfaceFilterSet
def get_serializer_class(self):
request = self.get_serializer_context()['request']
if request.query_params.get('brief', False):
# Override get_serializer_for_model(), which will return the DCIM NestedInterfaceSerializer
return serializers.NestedInterfaceSerializer
return serializers.InterfaceSerializer