Add serializer objects to interface serializers

This commit is contained in:
Brian Tiemann 2024-11-04 14:56:53 -05:00
parent 4f660fa882
commit 5ab8c4cdeb
2 changed files with 6 additions and 2 deletions

View File

@ -168,7 +168,7 @@ class MACAddressSerializer(NetBoxModelSerializer):
class Meta:
model = MACAddress
fields = ['mac_address',]
fields = ['mac_address', 'is_primary']
brief_fields = ('mac_address',)
@ -226,6 +226,7 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
allow_null=True,
read_only=True
)
mac_addresses = MACAddressSerializer(many=True, read_only=True)
wwn = serializers.CharField(required=False, default=None, allow_blank=True, allow_null=True)
class Meta:
@ -238,6 +239,7 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
'cable', 'cable_end', 'wireless_link', 'link_peers', 'link_peers_type', 'wireless_lans', 'vrf',
'l2vpn_termination', 'connected_endpoints', 'connected_endpoints_type', 'connected_endpoints_reachable',
'tags', 'custom_fields', 'created', 'last_updated', 'count_ipaddresses', 'count_fhrp_groups', '_occupied',
'mac_addresses',
]
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')

View File

@ -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
@ -101,6 +102,7 @@ class VMInterfaceSerializer(NetBoxModelSerializer):
allow_null=True,
read_only=True
)
mac_addresses = MACAddressSerializer(many=True, read_only=True)
class Meta:
model = VMInterface
@ -108,7 +110,7 @@ class VMInterfaceSerializer(NetBoxModelSerializer):
'id', 'url', 'display_url', 'display', 'virtual_machine', 'name', 'enabled', 'parent', 'bridge', 'mtu',
'mac_address', 'description', 'mode', 'untagged_vlan', 'tagged_vlans', 'qinq_svlan',
'vlan_translation_policy', 'vrf', 'l2vpn_termination', 'tags', 'custom_fields', 'created', 'last_updated',
'count_ipaddresses', 'count_fhrp_groups',
'count_ipaddresses', 'count_fhrp_groups', 'mac_addresses',
]
brief_fields = ('id', 'url', 'display', 'virtual_machine', 'name', 'description')