mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-25 18:08:38 -06:00
Add serializer classes to InterfaceSerializer
This commit is contained in:
parent
1add28bf08
commit
27856ecaea
@ -8,7 +8,7 @@ from dcim.models import (
|
|||||||
ConsolePort, ConsoleServerPort, DeviceBay, FrontPort, Interface, InventoryItem, ModuleBay, PowerOutlet, PowerPort,
|
ConsolePort, ConsoleServerPort, DeviceBay, FrontPort, Interface, InventoryItem, ModuleBay, PowerOutlet, PowerPort,
|
||||||
RearPort, VirtualDeviceContext,
|
RearPort, VirtualDeviceContext,
|
||||||
)
|
)
|
||||||
from ipam.api.serializers_.vlans import VLANSerializer
|
from ipam.api.serializers_.vlans import VLANSerializer, VLANTranslationPolicySerializer
|
||||||
from ipam.api.serializers_.vrfs import VRFSerializer
|
from ipam.api.serializers_.vrfs import VRFSerializer
|
||||||
from ipam.models import VLAN
|
from ipam.models import VLAN
|
||||||
from netbox.api.fields import ChoiceField, ContentTypeField, SerializedPKRelatedField
|
from netbox.api.fields import ChoiceField, ContentTypeField, SerializedPKRelatedField
|
||||||
@ -196,6 +196,7 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|||||||
required=False,
|
required=False,
|
||||||
many=True
|
many=True
|
||||||
)
|
)
|
||||||
|
vlan_translation_policy = VLANTranslationPolicySerializer(nested=True, required=False, allow_null=True)
|
||||||
vrf = VRFSerializer(nested=True, required=False, allow_null=True)
|
vrf = VRFSerializer(nested=True, required=False, allow_null=True)
|
||||||
l2vpn_termination = L2VPNTerminationSerializer(nested=True, read_only=True, allow_null=True)
|
l2vpn_termination = L2VPNTerminationSerializer(nested=True, read_only=True, allow_null=True)
|
||||||
wireless_link = NestedWirelessLinkSerializer(read_only=True, allow_null=True)
|
wireless_link = NestedWirelessLinkSerializer(read_only=True, allow_null=True)
|
||||||
@ -225,7 +226,7 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|||||||
'tx_power', 'untagged_vlan', 'tagged_vlans', 'mark_connected', 'cable', 'cable_end', 'wireless_link',
|
'tx_power', 'untagged_vlan', 'tagged_vlans', 'mark_connected', 'cable', 'cable_end', 'wireless_link',
|
||||||
'link_peers', 'link_peers_type', 'wireless_lans', 'vrf', 'l2vpn_termination', 'connected_endpoints',
|
'link_peers', 'link_peers_type', 'wireless_lans', 'vrf', 'l2vpn_termination', 'connected_endpoints',
|
||||||
'connected_endpoints_type', 'connected_endpoints_reachable', 'tags', 'custom_fields', 'created',
|
'connected_endpoints_type', 'connected_endpoints_reachable', 'tags', 'custom_fields', 'created',
|
||||||
'last_updated', 'count_ipaddresses', 'count_fhrp_groups', '_occupied',
|
'last_updated', 'count_ipaddresses', 'count_fhrp_groups', '_occupied', 'vlan_translation_policy'
|
||||||
]
|
]
|
||||||
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
||||||
|
|
||||||
|
@ -114,15 +114,17 @@ class CreateAvailableVLANSerializer(NetBoxModelSerializer):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
class VLANTranslationPolicySerializer(NetBoxModelSerializer):
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
model = VLANTranslationPolicy
|
|
||||||
fields = ['name', 'description']
|
|
||||||
|
|
||||||
|
|
||||||
class VLANTranslationRuleSerializer(NetBoxModelSerializer):
|
class VLANTranslationRuleSerializer(NetBoxModelSerializer):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = VLANTranslationRule
|
model = VLANTranslationRule
|
||||||
fields = ['policy', 'local_vid', 'remote_vid']
|
fields = ['policy', 'local_vid', 'remote_vid']
|
||||||
|
|
||||||
|
|
||||||
|
class VLANTranslationPolicySerializer(NetBoxModelSerializer):
|
||||||
|
rules = VLANTranslationRuleSerializer(many=True, read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = VLANTranslationPolicy
|
||||||
|
fields = ('id', 'name', 'description', 'rules')
|
||||||
|
brief_fields = ('id', 'rules')
|
||||||
|
@ -21,6 +21,8 @@ router.register('fhrp-groups', views.FHRPGroupViewSet)
|
|||||||
router.register('fhrp-group-assignments', views.FHRPGroupAssignmentViewSet)
|
router.register('fhrp-group-assignments', views.FHRPGroupAssignmentViewSet)
|
||||||
router.register('vlan-groups', views.VLANGroupViewSet)
|
router.register('vlan-groups', views.VLANGroupViewSet)
|
||||||
router.register('vlans', views.VLANViewSet)
|
router.register('vlans', views.VLANViewSet)
|
||||||
|
router.register('vlan-translation-policies', views.VLANTranslationPolicyViewSet)
|
||||||
|
router.register('vlan-translation-rules', views.VLANTranslationRuleViewSet)
|
||||||
router.register('service-templates', views.ServiceTemplateViewSet)
|
router.register('service-templates', views.ServiceTemplateViewSet)
|
||||||
router.register('services', views.ServiceViewSet)
|
router.register('services', views.ServiceViewSet)
|
||||||
|
|
||||||
|
@ -143,6 +143,18 @@ class VLANViewSet(NetBoxModelViewSet):
|
|||||||
filterset_class = filtersets.VLANFilterSet
|
filterset_class = filtersets.VLANFilterSet
|
||||||
|
|
||||||
|
|
||||||
|
class VLANTranslationPolicyViewSet(NetBoxModelViewSet):
|
||||||
|
queryset = VLANTranslationPolicy.objects.prefetch_related('rules')
|
||||||
|
serializer_class = serializers.VLANTranslationPolicySerializer
|
||||||
|
filterset_class = filtersets.VLANTranslationPolicyFilterSet
|
||||||
|
|
||||||
|
|
||||||
|
class VLANTranslationRuleViewSet(NetBoxModelViewSet):
|
||||||
|
queryset = VLANTranslationRule.objects.all()
|
||||||
|
serializer_class = serializers.VLANTranslationRuleSerializer
|
||||||
|
filterset_class = filtersets.VLANTranslationRuleFilterSet
|
||||||
|
|
||||||
|
|
||||||
class ServiceTemplateViewSet(NetBoxModelViewSet):
|
class ServiceTemplateViewSet(NetBoxModelViewSet):
|
||||||
queryset = ServiceTemplate.objects.all()
|
queryset = ServiceTemplate.objects.all()
|
||||||
serializer_class = serializers.ServiceTemplateSerializer
|
serializer_class = serializers.ServiceTemplateSerializer
|
||||||
|
Loading…
Reference in New Issue
Block a user