1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Extended API to include DeviceBays

This commit is contained in:
Jeremy Stretch
2016-07-05 13:43:19 -04:00
parent 7eae636562
commit 97fbfeecc3
3 changed files with 61 additions and 7 deletions

View File

@ -2,9 +2,9 @@ from rest_framework import serializers
from ipam.models import IPAddress
from dcim.models import (
ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceType, DeviceRole,
Interface, InterfaceConnection, InterfaceTemplate, Manufacturer, Platform, PowerOutlet, PowerOutletTemplate,
PowerPort, PowerPortTemplate, Rack, RackGroup, RACK_FACE_FRONT, RACK_FACE_REAR, Site,
ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay, DeviceType,
DeviceRole, Interface, InterfaceConnection, InterfaceTemplate, Manufacturer, Platform, PowerOutlet,
PowerOutletTemplate, PowerPort, PowerPortTemplate, Rack, RackGroup, RACK_FACE_FRONT, RACK_FACE_REAR, Site,
)
@ -228,9 +228,9 @@ class DeviceSerializer(serializers.ModelSerializer):
'face', 'status', 'primary_ip', 'comments']
class DeviceNestedSerializer(DeviceSerializer):
class DeviceNestedSerializer(serializers.ModelSerializer):
class Meta(DeviceSerializer.Meta):
class Meta:
model = Device
fields = ['id', 'name', 'display_name']
@ -337,6 +337,32 @@ class InterfaceDetailSerializer(InterfaceSerializer):
'connected_interface']
#
# Device bays
#
class DeviceBaySerializer(serializers.ModelSerializer):
device = DeviceNestedSerializer()
class Meta:
model = DeviceBay
fields = ['id', 'device', 'name']
class DeviceBayNestedSerializer(DeviceBaySerializer):
installed_device = DeviceNestedSerializer()
class Meta(DeviceBaySerializer.Meta):
fields = ['id', 'name', 'installed_device']
class DeviceBayDetailSerializer(DeviceBaySerializer):
installed_device = DeviceNestedSerializer()
class Meta(DeviceBaySerializer.Meta):
fields = ['id', 'device', 'name', 'installed_device']
#
# Interface connections
#