mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-19 09:53:34 -06:00
Add graphs endpoint to VMInterfaceViewSet
This commit is contained in:
parent
6ecbf45974
commit
89ff59d048
@ -1,7 +1,12 @@
|
|||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
|
from django.shortcuts import get_object_or_404
|
||||||
|
from rest_framework.decorators import action
|
||||||
|
from rest_framework.response import Response
|
||||||
|
|
||||||
from dcim.models import Device
|
from dcim.models import Device
|
||||||
|
from extras.api.serializers import RenderedGraphSerializer
|
||||||
from extras.api.views import CustomFieldModelViewSet
|
from extras.api.views import CustomFieldModelViewSet
|
||||||
|
from extras.models import Graph
|
||||||
from utilities.api import ModelViewSet
|
from utilities.api import ModelViewSet
|
||||||
from utilities.utils import get_subquery
|
from utilities.utils import get_subquery
|
||||||
from virtualization import filters
|
from virtualization import filters
|
||||||
@ -79,3 +84,13 @@ class VMInterfaceViewSet(ModelViewSet):
|
|||||||
)
|
)
|
||||||
serializer_class = serializers.VMInterfaceSerializer
|
serializer_class = serializers.VMInterfaceSerializer
|
||||||
filterset_class = filters.VMInterfaceFilterSet
|
filterset_class = filters.VMInterfaceFilterSet
|
||||||
|
|
||||||
|
@action(detail=True)
|
||||||
|
def graphs(self, request, pk):
|
||||||
|
"""
|
||||||
|
A convenience method for rendering graphs for a particular VM interface.
|
||||||
|
"""
|
||||||
|
vminterface = get_object_or_404(self.queryset, pk=pk)
|
||||||
|
queryset = Graph.objects.restrict(request.user).filter(type__model='vminterface')
|
||||||
|
serializer = RenderedGraphSerializer(queryset, many=True, context={'graphed_object': vminterface})
|
||||||
|
return Response(serializer.data)
|
||||||
|
Loading…
Reference in New Issue
Block a user