|
|
|
|
@@ -14,6 +14,7 @@ from ipam.models import VLAN
|
|
|
|
|
from netbox.api.fields import ChoiceField, ContentTypeField, SerializedPKRelatedField
|
|
|
|
|
from netbox.api.gfk_fields import GFKSerializerField
|
|
|
|
|
from netbox.api.serializers import NetBoxModelSerializer
|
|
|
|
|
from users.api.serializers_.mixins import OwnerMixin
|
|
|
|
|
from vpn.api.serializers_.l2vpn import L2VPNTerminationSerializer
|
|
|
|
|
from wireless.api.serializers_.nested import NestedWirelessLinkSerializer
|
|
|
|
|
from wireless.api.serializers_.wirelesslans import WirelessLANSerializer
|
|
|
|
|
@@ -40,7 +41,12 @@ __all__ = (
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ConsoleServerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
|
|
|
|
class ConsoleServerPortSerializer(
|
|
|
|
|
OwnerMixin,
|
|
|
|
|
NetBoxModelSerializer,
|
|
|
|
|
CabledObjectSerializer,
|
|
|
|
|
ConnectedEndpointsSerializer
|
|
|
|
|
):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
module = ModuleSerializer(
|
|
|
|
|
nested=True,
|
|
|
|
|
@@ -64,13 +70,18 @@ class ConsoleServerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer,
|
|
|
|
|
fields = [
|
|
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'module', 'name', 'label', 'type', 'speed', 'description',
|
|
|
|
|
'mark_connected', 'cable', 'cable_end', 'link_peers', 'link_peers_type', 'connected_endpoints',
|
|
|
|
|
'connected_endpoints_type', 'connected_endpoints_reachable', 'tags', 'custom_fields', 'created',
|
|
|
|
|
'connected_endpoints_type', 'connected_endpoints_reachable', 'owner', 'tags', 'custom_fields', 'created',
|
|
|
|
|
'last_updated', '_occupied',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ConsolePortSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
|
|
|
|
class ConsolePortSerializer(
|
|
|
|
|
OwnerMixin,
|
|
|
|
|
NetBoxModelSerializer,
|
|
|
|
|
CabledObjectSerializer,
|
|
|
|
|
ConnectedEndpointsSerializer
|
|
|
|
|
):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
module = ModuleSerializer(
|
|
|
|
|
nested=True,
|
|
|
|
|
@@ -94,13 +105,18 @@ class ConsolePortSerializer(NetBoxModelSerializer, CabledObjectSerializer, Conne
|
|
|
|
|
fields = [
|
|
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'module', 'name', 'label', 'type', 'speed', 'description',
|
|
|
|
|
'mark_connected', 'cable', 'cable_end', 'link_peers', 'link_peers_type', 'connected_endpoints',
|
|
|
|
|
'connected_endpoints_type', 'connected_endpoints_reachable', 'tags', 'custom_fields', 'created',
|
|
|
|
|
'connected_endpoints_type', 'connected_endpoints_reachable', 'owner', 'tags', 'custom_fields', 'created',
|
|
|
|
|
'last_updated', '_occupied',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PowerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
|
|
|
|
class PowerPortSerializer(
|
|
|
|
|
OwnerMixin,
|
|
|
|
|
NetBoxModelSerializer,
|
|
|
|
|
CabledObjectSerializer,
|
|
|
|
|
ConnectedEndpointsSerializer
|
|
|
|
|
):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
module = ModuleSerializer(
|
|
|
|
|
nested=True,
|
|
|
|
|
@@ -120,13 +136,18 @@ class PowerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|
|
|
|
fields = [
|
|
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'module', 'name', 'label', 'type', 'maximum_draw',
|
|
|
|
|
'allocated_draw', 'description', 'mark_connected', 'cable', 'cable_end', 'link_peers', 'link_peers_type',
|
|
|
|
|
'connected_endpoints', 'connected_endpoints_type', 'connected_endpoints_reachable', 'tags', 'custom_fields',
|
|
|
|
|
'created', 'last_updated', '_occupied',
|
|
|
|
|
'connected_endpoints', 'connected_endpoints_type', 'connected_endpoints_reachable', 'owner', 'tags',
|
|
|
|
|
'custom_fields', 'created', 'last_updated', '_occupied',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PowerOutletSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
|
|
|
|
class PowerOutletSerializer(
|
|
|
|
|
OwnerMixin,
|
|
|
|
|
NetBoxModelSerializer,
|
|
|
|
|
CabledObjectSerializer,
|
|
|
|
|
ConnectedEndpointsSerializer
|
|
|
|
|
):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
module = ModuleSerializer(
|
|
|
|
|
nested=True,
|
|
|
|
|
@@ -159,12 +180,17 @@ class PowerOutletSerializer(NetBoxModelSerializer, CabledObjectSerializer, Conne
|
|
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'module', 'name', 'label', 'type', 'status', 'color',
|
|
|
|
|
'power_port', 'feed_leg', 'description', 'mark_connected', 'cable', 'cable_end', 'link_peers',
|
|
|
|
|
'link_peers_type', 'connected_endpoints', 'connected_endpoints_type', 'connected_endpoints_reachable',
|
|
|
|
|
'tags', 'custom_fields', 'created', 'last_updated', '_occupied',
|
|
|
|
|
'owner', 'tags', 'custom_fields', 'created', 'last_updated', '_occupied',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
|
|
|
|
class InterfaceSerializer(
|
|
|
|
|
OwnerMixin,
|
|
|
|
|
NetBoxModelSerializer,
|
|
|
|
|
CabledObjectSerializer,
|
|
|
|
|
ConnectedEndpointsSerializer
|
|
|
|
|
):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
vdcs = SerializedPKRelatedField(
|
|
|
|
|
queryset=VirtualDeviceContext.objects.all(),
|
|
|
|
|
@@ -226,7 +252,7 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|
|
|
|
'rf_channel_frequency', 'rf_channel_width', 'tx_power', 'untagged_vlan', 'tagged_vlans', 'qinq_svlan',
|
|
|
|
|
'vlan_translation_policy', 'mark_connected', 'cable', 'cable_end', 'wireless_link', 'link_peers',
|
|
|
|
|
'link_peers_type', 'wireless_lans', 'vrf', 'l2vpn_termination', 'connected_endpoints',
|
|
|
|
|
'connected_endpoints_type', 'connected_endpoints_reachable', 'tags', 'custom_fields', 'created',
|
|
|
|
|
'connected_endpoints_type', 'connected_endpoints_reachable', 'owner', 'tags', 'custom_fields', 'created',
|
|
|
|
|
'last_updated', 'count_ipaddresses', 'count_fhrp_groups', '_occupied',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
|
|
|
|
@@ -307,7 +333,7 @@ class RearPortMappingSerializer(serializers.ModelSerializer):
|
|
|
|
|
fields = ('position', 'front_port', 'front_port_position')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class RearPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, PortSerializer):
|
|
|
|
|
class RearPortSerializer(OwnerMixin, NetBoxModelSerializer, CabledObjectSerializer, PortSerializer):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
module = ModuleSerializer(
|
|
|
|
|
nested=True,
|
|
|
|
|
@@ -327,7 +353,7 @@ class RearPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, PortSeri
|
|
|
|
|
fields = [
|
|
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'module', 'name', 'label', 'type', 'color', 'positions',
|
|
|
|
|
'front_ports', 'description', 'mark_connected', 'cable', 'cable_end', 'link_peers', 'link_peers_type',
|
|
|
|
|
'tags', 'custom_fields', 'created', 'last_updated', '_occupied',
|
|
|
|
|
'owner', 'tags', 'custom_fields', 'created', 'last_updated', '_occupied',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
|
|
|
|
|
|
|
|
|
@@ -345,7 +371,7 @@ class FrontPortMappingSerializer(serializers.ModelSerializer):
|
|
|
|
|
fields = ('position', 'rear_port', 'rear_port_position')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FrontPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, PortSerializer):
|
|
|
|
|
class FrontPortSerializer(OwnerMixin, NetBoxModelSerializer, CabledObjectSerializer, PortSerializer):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
module = ModuleSerializer(
|
|
|
|
|
nested=True,
|
|
|
|
|
@@ -365,12 +391,12 @@ class FrontPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, PortSer
|
|
|
|
|
fields = [
|
|
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'module', 'name', 'label', 'type', 'color', 'positions',
|
|
|
|
|
'rear_ports', 'description', 'mark_connected', 'cable', 'cable_end', 'link_peers', 'link_peers_type',
|
|
|
|
|
'tags', 'custom_fields', 'created', 'last_updated', '_occupied',
|
|
|
|
|
'owner', 'tags', 'custom_fields', 'created', 'last_updated', '_occupied',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', 'cable', '_occupied')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ModuleBaySerializer(NetBoxModelSerializer):
|
|
|
|
|
class ModuleBaySerializer(OwnerMixin, NetBoxModelSerializer):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
module = ModuleSerializer(
|
|
|
|
|
nested=True,
|
|
|
|
|
@@ -390,12 +416,12 @@ class ModuleBaySerializer(NetBoxModelSerializer):
|
|
|
|
|
model = ModuleBay
|
|
|
|
|
fields = [
|
|
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'module', 'name', 'installed_module', 'label', 'position',
|
|
|
|
|
'description', 'tags', 'custom_fields', 'created', 'last_updated',
|
|
|
|
|
'description', 'owner', 'tags', 'custom_fields', 'created', 'last_updated',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'installed_module', 'name', 'description')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class DeviceBaySerializer(NetBoxModelSerializer):
|
|
|
|
|
class DeviceBaySerializer(OwnerMixin, NetBoxModelSerializer):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
installed_device = DeviceSerializer(nested=True, required=False, allow_null=True)
|
|
|
|
|
|
|
|
|
|
@@ -403,12 +429,12 @@ class DeviceBaySerializer(NetBoxModelSerializer):
|
|
|
|
|
model = DeviceBay
|
|
|
|
|
fields = [
|
|
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'name', 'label', 'description', 'installed_device',
|
|
|
|
|
'tags', 'custom_fields', 'created', 'last_updated',
|
|
|
|
|
'owner', 'tags', 'custom_fields', 'created', 'last_updated',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class InventoryItemSerializer(NetBoxModelSerializer):
|
|
|
|
|
class InventoryItemSerializer(OwnerMixin, NetBoxModelSerializer):
|
|
|
|
|
device = DeviceSerializer(nested=True)
|
|
|
|
|
parent = serializers.PrimaryKeyRelatedField(queryset=InventoryItem.objects.all(), allow_null=True, default=None)
|
|
|
|
|
role = InventoryItemRoleSerializer(nested=True, required=False, allow_null=True)
|
|
|
|
|
@@ -427,6 +453,6 @@ class InventoryItemSerializer(NetBoxModelSerializer):
|
|
|
|
|
fields = [
|
|
|
|
|
'id', 'url', 'display_url', 'display', 'device', 'parent', 'name', 'label', 'status', 'role',
|
|
|
|
|
'manufacturer', 'part_id', 'serial', 'asset_tag', 'discovered', 'description', 'component_type',
|
|
|
|
|
'component_id', 'component', 'tags', 'custom_fields', 'created', 'last_updated', '_depth',
|
|
|
|
|
'component_id', 'component', 'owner', 'tags', 'custom_fields', 'created', 'last_updated', '_depth',
|
|
|
|
|
]
|
|
|
|
|
brief_fields = ('id', 'url', 'display', 'device', 'name', 'description', '_depth')
|
|
|
|
|
|