diff --git a/netbox/dcim/api/serializers_/device_components.py b/netbox/dcim/api/serializers_/device_components.py index 130bcd206..2c26709bd 100644 --- a/netbox/dcim/api/serializers_/device_components.py +++ b/netbox/dcim/api/serializers_/device_components.py @@ -164,6 +164,14 @@ class PowerOutletSerializer(NetBoxModelSerializer, CabledObjectSerializer, Conne brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied') +class MACAddressSerializer(NetBoxModelSerializer): + + class Meta: + model = MACAddress + fields = ['mac_address',] + brief_fields = ('mac_address',) + + class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer): device = DeviceSerializer(nested=True) vdcs = SerializedPKRelatedField( @@ -210,12 +218,7 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect ) count_ipaddresses = serializers.IntegerField(read_only=True) count_fhrp_groups = serializers.IntegerField(read_only=True) - mac_address = serializers.CharField( - required=False, - default=None, - allow_blank=True, - allow_null=True - ) + mac_address = MACAddressSerializer(read_only=True, allow_null=True) wwn = serializers.CharField(required=False, default=None, allow_blank=True, allow_null=True) class Meta: @@ -365,11 +368,3 @@ class InventoryItemSerializer(NetBoxModelSerializer): serializer = get_serializer_for_model(obj.component) context = {'request': self.context['request']} return serializer(obj.component, nested=True, context=context).data - - -class MACAddressSerializer(NetBoxModelSerializer): - - class Meta: - model = MACAddress - fields = ['mac_address',] - brief_fields = ('mac_address',) diff --git a/netbox/virtualization/api/serializers_/virtualmachines.py b/netbox/virtualization/api/serializers_/virtualmachines.py index 2c00cac96..8f05b96d2 100644 --- a/netbox/virtualization/api/serializers_/virtualmachines.py +++ b/netbox/virtualization/api/serializers_/virtualmachines.py @@ -2,6 +2,7 @@ from drf_spectacular.utils import extend_schema_field from rest_framework import serializers from dcim.api.serializers_.devices import DeviceSerializer +from dcim.api.serializers_.device_components import MACAddressSerializer from dcim.api.serializers_.platforms import PlatformSerializer from dcim.api.serializers_.roles import DeviceRoleSerializer from dcim.api.serializers_.sites import SiteSerializer @@ -94,11 +95,7 @@ class VMInterfaceSerializer(NetBoxModelSerializer): l2vpn_termination = L2VPNTerminationSerializer(nested=True, read_only=True, allow_null=True) count_ipaddresses = serializers.IntegerField(read_only=True) count_fhrp_groups = serializers.IntegerField(read_only=True) - mac_address = serializers.CharField( - required=False, - default=None, - allow_null=True - ) + mac_address = MACAddressSerializer(read_only=True, allow_null=True) class Meta: model = VMInterface