from django.shortcuts import get_object_or_404 from computes.models import Compute from rest_framework import status, viewsets from vrtManager.interface import wvmInterfaces, wvmInterface from .serializers import InterfacesSerializer from rest_framework.response import Response class InterfaceViewSet(viewsets.ViewSet): """ A viewset for listing retrieving interfaces. """ def list(self, request, compute_pk=None): queryset = [] compute = get_object_or_404(Compute, pk=compute_pk) conn = wvmInterfaces(compute.hostname, compute.login, compute.password, compute.type) ifaces = conn.get_ifaces() for iface in ifaces: interf = wvmInterface(compute.hostname, compute.login, compute.password, compute.type, iface) queryset.append(interf.get_details()) serializer = InterfacesSerializer(queryset, many=True, context={'request': request}) return Response(serializer.data)