50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
from rest_framework.routers import APIRootView
|
|
|
|
from netbox.api.viewsets import NetBoxModelViewSet
|
|
from netbox_slm.api.serializers import (
|
|
SoftwareProductSerializer,
|
|
SoftwareProductVersionSerializer,
|
|
SoftwareProductInstallationSerializer,
|
|
SoftwareLicenseSerializer,
|
|
)
|
|
from netbox_slm.filtersets import (
|
|
SoftwareProductFilterSet,
|
|
SoftwareProductVersionFilterSet,
|
|
SoftwareProductInstallationFilterSet,
|
|
SoftwareLicenseFilterSet,
|
|
)
|
|
from netbox_slm.models import SoftwareProduct, SoftwareProductVersion, SoftwareProductInstallation, SoftwareLicense
|
|
|
|
|
|
class NetboxSLMRootView(APIRootView):
|
|
"""
|
|
NetboxSLM API root view
|
|
"""
|
|
|
|
def get_view_name(self):
|
|
return "NetboxSLM"
|
|
|
|
|
|
class SoftwareProductViewSet(NetBoxModelViewSet):
|
|
queryset = SoftwareProduct.objects.all()
|
|
serializer_class = SoftwareProductSerializer
|
|
filterset_class = SoftwareProductFilterSet
|
|
|
|
|
|
class SoftwareProductVersionViewSet(NetBoxModelViewSet):
|
|
queryset = SoftwareProductVersion.objects.all()
|
|
serializer_class = SoftwareProductVersionSerializer
|
|
filterset_class = SoftwareProductVersionFilterSet
|
|
|
|
|
|
class SoftwareProductInstallationViewSet(NetBoxModelViewSet):
|
|
queryset = SoftwareProductInstallation.objects.all()
|
|
serializer_class = SoftwareProductInstallationSerializer
|
|
filterset_class = SoftwareProductInstallationFilterSet
|
|
|
|
|
|
class SoftwareLicenseViewSet(NetBoxModelViewSet):
|
|
queryset = SoftwareLicense.objects.all()
|
|
serializer_class = SoftwareLicenseSerializer
|
|
filterset_class = SoftwareLicenseFilterSet
|