mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
* Introduce RelatedObjectCountField * Introduce get_annotations_for_serializer() and enable dynamic annotations * Add RelatedObjectCountFields to serializers; remove static annotations from querysets * Remove annotations cleanup logic from BriefModeMixin * Annotate type for RelatedObjectCountField * Remove redundant field on TagSerializer * Add missing reverse relationship for power feeds to rack * Refactor RelatedObjectCountField to take a single relationship name
93 lines
2.6 KiB
Python
93 lines
2.6 KiB
Python
from rest_framework.routers import APIRootView
|
|
|
|
from netbox.api.viewsets import NetBoxModelViewSet
|
|
from vpn import filtersets
|
|
from vpn.models import *
|
|
from . import serializers
|
|
|
|
__all__ = (
|
|
'IKEPolicyViewSet',
|
|
'IKEProposalViewSet',
|
|
'IPSecPolicyViewSet',
|
|
'IPSecProfileViewSet',
|
|
'IPSecProposalViewSet',
|
|
'L2VPNViewSet',
|
|
'L2VPNTerminationViewSet',
|
|
'TunnelGroupViewSet',
|
|
'TunnelTerminationViewSet',
|
|
'TunnelViewSet',
|
|
'VPNRootView',
|
|
)
|
|
|
|
|
|
class VPNRootView(APIRootView):
|
|
"""
|
|
VPN API root view
|
|
"""
|
|
def get_view_name(self):
|
|
return 'VPN'
|
|
|
|
|
|
#
|
|
# Viewsets
|
|
#
|
|
|
|
class TunnelGroupViewSet(NetBoxModelViewSet):
|
|
queryset = TunnelGroup.objects.all()
|
|
serializer_class = serializers.TunnelGroupSerializer
|
|
filterset_class = filtersets.TunnelGroupFilterSet
|
|
|
|
|
|
class TunnelViewSet(NetBoxModelViewSet):
|
|
queryset = Tunnel.objects.all()
|
|
serializer_class = serializers.TunnelSerializer
|
|
filterset_class = filtersets.TunnelFilterSet
|
|
|
|
|
|
class TunnelTerminationViewSet(NetBoxModelViewSet):
|
|
queryset = TunnelTermination.objects.all()
|
|
serializer_class = serializers.TunnelTerminationSerializer
|
|
filterset_class = filtersets.TunnelTerminationFilterSet
|
|
|
|
|
|
class IKEProposalViewSet(NetBoxModelViewSet):
|
|
queryset = IKEProposal.objects.all()
|
|
serializer_class = serializers.IKEProposalSerializer
|
|
filterset_class = filtersets.IKEProposalFilterSet
|
|
|
|
|
|
class IKEPolicyViewSet(NetBoxModelViewSet):
|
|
queryset = IKEPolicy.objects.all()
|
|
serializer_class = serializers.IKEPolicySerializer
|
|
filterset_class = filtersets.IKEPolicyFilterSet
|
|
|
|
|
|
class IPSecProposalViewSet(NetBoxModelViewSet):
|
|
queryset = IPSecProposal.objects.all()
|
|
serializer_class = serializers.IPSecProposalSerializer
|
|
filterset_class = filtersets.IPSecProposalFilterSet
|
|
|
|
|
|
class IPSecPolicyViewSet(NetBoxModelViewSet):
|
|
queryset = IPSecPolicy.objects.all()
|
|
serializer_class = serializers.IPSecPolicySerializer
|
|
filterset_class = filtersets.IPSecPolicyFilterSet
|
|
|
|
|
|
class IPSecProfileViewSet(NetBoxModelViewSet):
|
|
queryset = IPSecProfile.objects.all()
|
|
serializer_class = serializers.IPSecProfileSerializer
|
|
filterset_class = filtersets.IPSecProfileFilterSet
|
|
|
|
|
|
class L2VPNViewSet(NetBoxModelViewSet):
|
|
queryset = L2VPN.objects.all()
|
|
serializer_class = serializers.L2VPNSerializer
|
|
filterset_class = filtersets.L2VPNFilterSet
|
|
|
|
|
|
class L2VPNTerminationViewSet(NetBoxModelViewSet):
|
|
queryset = L2VPNTermination.objects.all()
|
|
serializer_class = serializers.L2VPNTerminationSerializer
|
|
filterset_class = filtersets.L2VPNTerminationFilterSet
|