mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-28 03:16:25 -06:00
Add ServicePort API serializers
This commit is contained in:
parent
81a9e05b62
commit
2a3c096af3
@ -2,7 +2,7 @@ from rest_framework import serializers
|
||||
|
||||
from dcim.api.serializers import SiteNestedSerializer, InterfaceNestedSerializer
|
||||
from extras.api.serializers import CustomFieldSerializer
|
||||
from ipam.models import VRF, Role, RIR, Aggregate, Prefix, IPAddress, VLAN, VLANGroup
|
||||
from ipam.models import VRF, Role, RIR, Aggregate, Prefix, IPAddress, VLAN, VLANGroup, ServicePort
|
||||
from tenancy.api.serializers import TenantNestedSerializer
|
||||
|
||||
|
||||
@ -170,3 +170,29 @@ class IPAddressNestedSerializer(IPAddressSerializer):
|
||||
|
||||
IPAddressSerializer._declared_fields['nat_inside'] = IPAddressNestedSerializer()
|
||||
IPAddressSerializer._declared_fields['nat_outside'] = IPAddressNestedSerializer()
|
||||
|
||||
|
||||
#
|
||||
# Service Ports
|
||||
#
|
||||
|
||||
class ServicePortSerializer(serializers.ModelSerializer):
|
||||
ip_address = IPAddressNestedSerializer()
|
||||
|
||||
class Meta:
|
||||
model = ServicePort
|
||||
fields = ['id', 'ip_address', 'port', 'type', 'name', 'description']
|
||||
|
||||
|
||||
class ServicePortNestedSerializer(ServicePortSerializer):
|
||||
ip_address = IPAddressNestedSerializer()
|
||||
|
||||
class Meta(ServicePortSerializer.Meta):
|
||||
fields = ['id', 'ip_address', 'port', 'type']
|
||||
|
||||
|
||||
class ServicePortDetailSerializer(ServicePortSerializer):
|
||||
ip_address = IPAddressNestedSerializer()
|
||||
|
||||
class Meta(ServicePortSerializer.Meta):
|
||||
fields = ['id', 'ip_address', 'port', 'type', 'name', 'description']
|
@ -29,6 +29,10 @@ urlpatterns = [
|
||||
url(r'^ip-addresses/$', IPAddressListView.as_view(), name='ipaddress_list'),
|
||||
url(r'^ip-addresses/(?P<pk>\d+)/$', IPAddressDetailView.as_view(), name='ipaddress_detail'),
|
||||
|
||||
# Service ports
|
||||
url(r'^service-ports/$', ServicePortListView.as_view(), name='serviceport_list'),
|
||||
url(r'^service-ports/(?P<pk>\d+)/$', ServicePortDetailView.as_view(), name='serviceport_detail'),
|
||||
|
||||
# VLAN groups
|
||||
url(r'^vlan-groups/$', VLANGroupListView.as_view(), name='vlangroup_list'),
|
||||
url(r'^vlan-groups/(?P<pk>\d+)/$', VLANGroupDetailView.as_view(), name='vlangroup_detail'),
|
||||
|
@ -1,6 +1,6 @@
|
||||
from rest_framework import generics
|
||||
|
||||
from ipam.models import VRF, Role, RIR, Aggregate, Prefix, IPAddress, VLAN, VLANGroup
|
||||
from ipam.models import VRF, Role, RIR, Aggregate, Prefix, IPAddress, VLAN, VLANGroup, ServicePort
|
||||
from ipam import filters
|
||||
|
||||
from extras.api.views import CustomFieldModelAPIView
|
||||
@ -135,6 +135,26 @@ class IPAddressDetailView(CustomFieldModelAPIView, generics.RetrieveAPIView):
|
||||
serializer_class = serializers.IPAddressSerializer
|
||||
|
||||
|
||||
#
|
||||
# IP addresses
|
||||
#
|
||||
|
||||
class ServicePortListView(generics.ListAPIView):
|
||||
"""
|
||||
List IP addresses (filterable)
|
||||
"""
|
||||
queryset = ServicePort.objects.select_related('ip_address', 'port', 'type', 'name', 'description')
|
||||
serializer_class = serializers.ServicePortSerializer
|
||||
|
||||
|
||||
class ServicePortDetailView(generics.RetrieveAPIView):
|
||||
"""
|
||||
Retrieve a single IP address
|
||||
"""
|
||||
queryset = ServicePort.objects.select_related('ip_address', 'port', 'type', 'name', 'description')
|
||||
serializer_class = serializers.ServicePortSerializer
|
||||
|
||||
|
||||
#
|
||||
# VLAN groups
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user