deleted: CHANGELOG.md
Not really helpful. Just more work. Bye bye! modified: netbox_dns_bridge/__init__.py Bump version to 1.6.0-rc1 new file: netbox_dns_bridge/api/__init__.py new file: netbox_dns_bridge/api/serializers.py new file: netbox_dns_bridge/api/urls.py new file: netbox_dns_bridge/api/views.py Adds API to the plugin. In case someone needs it :P This fixes a serializer bug on Zone creation in the same stroke.
This commit is contained in:
1 parent
240f1293ae
commit
5c673d9903
6 files changed
+185
-47
No files matched your search
@@ -1,7 +1,8 @@
|
||||
from netbox.plugins import PluginConfig
|
||||
from django.conf import settings
|
||||
|
||||
__version__ = "1.5.9-beta"
|
||||
__version__ = "1.6.0-rc1"
|
||||
|
||||
|
||||
class DNSBridgeConfig(PluginConfig):
|
||||
name = "netbox_dns_bridge"
|
||||
|
||||
Whitespace-only changes.
@@ -0,0 +1,125 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from netbox.api.serializers import NetBoxModelSerializer, WritableNestedSerializer
|
||||
|
||||
import netbox_dns.models
|
||||
from netbox_dns.api.nested_serializers import NestedZoneSerializer
|
||||
|
||||
from netbox_dns_bridge.models import CatalogZone, CatalogZoneMember, SeenTransferClient
|
||||
|
||||
__all__ = (
|
||||
"CatalogZoneSerializer",
|
||||
"CatalogZoneMemberSerializer",
|
||||
"SeenTransferClientSerializer",
|
||||
"NestedCatalogZoneSerializer",
|
||||
"NestedCatalogZoneMemberSerializer",
|
||||
)
|
||||
|
||||
|
||||
class NestedViewSerializer(WritableNestedSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(
|
||||
view_name="plugins-api:netbox_dns-api:view-detail"
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = netbox_dns.models.View
|
||||
fields = ("id", "url", "display", "name")
|
||||
brief_fields = ("id", "url", "display", "name")
|
||||
|
||||
|
||||
class NestedCatalogZoneSerializer(WritableNestedSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(
|
||||
view_name="plugins-api:netbox_dns_bridge-api:catalogzone-detail"
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = CatalogZone
|
||||
fields = ("id", "url", "display", "view", "soa_serial")
|
||||
brief_fields = ("id", "url", "display", "view", "soa_serial")
|
||||
|
||||
|
||||
class NestedCatalogZoneMemberSerializer(WritableNestedSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(
|
||||
view_name="plugins-api:netbox_dns_bridge-api:catalogzonemember-detail"
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = CatalogZoneMember
|
||||
fields = ("id", "url", "display", "name", "zone", "catalog_zone")
|
||||
brief_fields = ("id", "url", "display", "name", "zone", "catalog_zone")
|
||||
|
||||
|
||||
class CatalogZoneSerializer(NetBoxModelSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(
|
||||
view_name="plugins-api:netbox_dns_bridge-api:catalogzone-detail"
|
||||
)
|
||||
view = NestedViewSerializer()
|
||||
|
||||
class Meta:
|
||||
model = CatalogZone
|
||||
fields = (
|
||||
"id",
|
||||
"url",
|
||||
"display",
|
||||
"display_url",
|
||||
"view",
|
||||
"soa_serial",
|
||||
"soa_refresh",
|
||||
"soa_retry",
|
||||
"soa_expire",
|
||||
"soa_minimum",
|
||||
"created",
|
||||
"last_updated",
|
||||
"tags",
|
||||
"custom_fields",
|
||||
)
|
||||
brief_fields = ("id", "url", "display", "view", "soa_serial")
|
||||
|
||||
|
||||
class CatalogZoneMemberSerializer(NetBoxModelSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(
|
||||
view_name="plugins-api:netbox_dns_bridge-api:catalogzonemember-detail"
|
||||
)
|
||||
zone = NestedZoneSerializer()
|
||||
catalog_zone = NestedCatalogZoneSerializer()
|
||||
|
||||
class Meta:
|
||||
model = CatalogZoneMember
|
||||
fields = (
|
||||
"id",
|
||||
"url",
|
||||
"display",
|
||||
"display_url",
|
||||
"name",
|
||||
"zone",
|
||||
"catalog_zone",
|
||||
"created",
|
||||
"last_updated",
|
||||
"tags",
|
||||
"custom_fields",
|
||||
)
|
||||
brief_fields = ("id", "url", "display", "name", "zone", "catalog_zone")
|
||||
|
||||
|
||||
class SeenTransferClientSerializer(NetBoxModelSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(
|
||||
view_name="plugins-api:netbox_dns_bridge-api:seentransferclient-detail"
|
||||
)
|
||||
view = NestedViewSerializer()
|
||||
|
||||
class Meta:
|
||||
model = SeenTransferClient
|
||||
fields = (
|
||||
"id",
|
||||
"url",
|
||||
"display",
|
||||
"display_url",
|
||||
"source_ip",
|
||||
"last_seen",
|
||||
"view",
|
||||
"created",
|
||||
"last_updated",
|
||||
"tags",
|
||||
"custom_fields",
|
||||
)
|
||||
brief_fields = ("id", "url", "display", "source_ip", "last_seen", "view")
|
||||
@@ -0,0 +1,12 @@
|
||||
from netbox.api.routers import NetBoxRouter
|
||||
|
||||
from . import views
|
||||
|
||||
router = NetBoxRouter()
|
||||
router.APIRootView = views.NetBoxDNSBridgeRootView
|
||||
|
||||
router.register("catalog-zones", views.CatalogZoneViewSet)
|
||||
router.register("catalog-zone-members", views.CatalogZoneMemberViewSet)
|
||||
router.register("seen-transfer-clients", views.SeenTransferClientViewSet)
|
||||
|
||||
urlpatterns = router.urls
|
||||
@@ -0,0 +1,46 @@
|
||||
from rest_framework.routers import APIRootView
|
||||
|
||||
from netbox.api.viewsets import NetBoxModelViewSet
|
||||
|
||||
from netbox_dns_bridge.filtersets import (
|
||||
CatalogZoneFilterSet,
|
||||
CatalogZoneMemberFilterSet,
|
||||
SeenTransferClientFilterSet,
|
||||
)
|
||||
from netbox_dns_bridge.models import CatalogZone, CatalogZoneMember, SeenTransferClient
|
||||
|
||||
from .serializers import (
|
||||
CatalogZoneSerializer,
|
||||
CatalogZoneMemberSerializer,
|
||||
SeenTransferClientSerializer,
|
||||
)
|
||||
|
||||
__all__ = (
|
||||
"NetBoxDNSBridgeRootView",
|
||||
"CatalogZoneViewSet",
|
||||
"CatalogZoneMemberViewSet",
|
||||
"SeenTransferClientViewSet",
|
||||
)
|
||||
|
||||
|
||||
class NetBoxDNSBridgeRootView(APIRootView):
|
||||
def get_view_name(self):
|
||||
return "NetBoxDNSBridge"
|
||||
|
||||
|
||||
class CatalogZoneViewSet(NetBoxModelViewSet):
|
||||
queryset = CatalogZone.objects.all()
|
||||
serializer_class = CatalogZoneSerializer
|
||||
filterset_class = CatalogZoneFilterSet
|
||||
|
||||
|
||||
class CatalogZoneMemberViewSet(NetBoxModelViewSet):
|
||||
queryset = CatalogZoneMember.objects.all()
|
||||
serializer_class = CatalogZoneMemberSerializer
|
||||
filterset_class = CatalogZoneMemberFilterSet
|
||||
|
||||
|
||||
class SeenTransferClientViewSet(NetBoxModelViewSet):
|
||||
queryset = SeenTransferClient.objects.all()
|
||||
serializer_class = SeenTransferClientSerializer
|
||||
filterset_class = SeenTransferClientFilterSet
|
||||
Reference in new issue
Block a user