|
|
@@ -1,5 +1,5 @@
|
|
|
-from django.utils.translation import gettext as _
|
|
|
from django.contrib.contenttypes.models import ContentType
|
|
|
+from django.utils.translation import gettext as _
|
|
|
from drf_spectacular.utils import extend_schema_field
|
|
|
from rest_framework import serializers
|
|
|
|
|
|
@@ -183,6 +183,7 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|
|
type = ChoiceField(choices=InterfaceTypeChoices)
|
|
|
parent = NestedInterfaceSerializer(required=False, allow_null=True)
|
|
|
bridge = NestedInterfaceSerializer(required=False, allow_null=True)
|
|
|
+ bridge_interfaces = NestedInterfaceSerializer(many=True, read_only=True)
|
|
|
lag = NestedInterfaceSerializer(required=False, allow_null=True)
|
|
|
mode = ChoiceField(choices=InterfaceModeChoices, required=False, allow_blank=True)
|
|
|
duplex = ChoiceField(choices=InterfaceDuplexChoices, required=False, allow_blank=True, allow_null=True)
|
|
|
@@ -222,13 +223,13 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|
|
model = Interface
|
|
|
fields = [
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'vdcs', 'module', 'name', 'label', 'type', 'enabled',
|
|
|
- 'parent', 'bridge', 'lag', 'mtu', 'mac_address', 'primary_mac_address', 'mac_addresses', 'speed', 'duplex',
|
|
|
- 'wwn', 'mgmt_only', 'description', 'mode', 'rf_role', 'rf_channel', 'poe_mode', 'poe_type',
|
|
|
- 'rf_channel_frequency', 'rf_channel_width', 'tx_power', 'untagged_vlan', 'tagged_vlans', 'qinq_svlan',
|
|
|
- 'vlan_translation_policy', 'mark_connected', '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',
|
|
|
+ 'parent', 'bridge', 'bridge_interfaces', 'lag', 'mtu', 'mac_address', 'primary_mac_address',
|
|
|
+ 'mac_addresses', 'speed', 'duplex', 'wwn', 'mgmt_only', 'description', 'mode', 'rf_role', 'rf_channel',
|
|
|
+ 'poe_mode', 'poe_type', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', 'untagged_vlan',
|
|
|
+ 'tagged_vlans', 'qinq_svlan', 'vlan_translation_policy', 'mark_connected', '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',
|
|
|
]
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
|
|
|