mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-28 11:26:26 -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 dcim.api.serializers import SiteNestedSerializer, InterfaceNestedSerializer
|
||||||
from extras.api.serializers import CustomFieldSerializer
|
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
|
from tenancy.api.serializers import TenantNestedSerializer
|
||||||
|
|
||||||
|
|
||||||
@ -170,3 +170,29 @@ class IPAddressNestedSerializer(IPAddressSerializer):
|
|||||||
|
|
||||||
IPAddressSerializer._declared_fields['nat_inside'] = IPAddressNestedSerializer()
|
IPAddressSerializer._declared_fields['nat_inside'] = IPAddressNestedSerializer()
|
||||||
IPAddressSerializer._declared_fields['nat_outside'] = 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/$', IPAddressListView.as_view(), name='ipaddress_list'),
|
||||||
url(r'^ip-addresses/(?P<pk>\d+)/$', IPAddressDetailView.as_view(), name='ipaddress_detail'),
|
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
|
# VLAN groups
|
||||||
url(r'^vlan-groups/$', VLANGroupListView.as_view(), name='vlangroup_list'),
|
url(r'^vlan-groups/$', VLANGroupListView.as_view(), name='vlangroup_list'),
|
||||||
url(r'^vlan-groups/(?P<pk>\d+)/$', VLANGroupDetailView.as_view(), name='vlangroup_detail'),
|
url(r'^vlan-groups/(?P<pk>\d+)/$', VLANGroupDetailView.as_view(), name='vlangroup_detail'),
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from rest_framework import generics
|
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 ipam import filters
|
||||||
|
|
||||||
from extras.api.views import CustomFieldModelAPIView
|
from extras.api.views import CustomFieldModelAPIView
|
||||||
@ -135,6 +135,26 @@ class IPAddressDetailView(CustomFieldModelAPIView, generics.RetrieveAPIView):
|
|||||||
serializer_class = serializers.IPAddressSerializer
|
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
|
# VLAN groups
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user