mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-18 05:28:16 -06:00
Add Views
This commit is contained in:
parent
3b3247592e
commit
69b4c6beb8
@ -1135,3 +1135,25 @@ class PowerFeedSerializer(NetBoxModelSerializer, LinkTerminationSerializer, Conn
|
||||
'connected_endpoint', 'connected_endpoint_type', 'connected_endpoint_reachable', 'tags', 'custom_fields',
|
||||
'created', 'last_updated', '_occupied',
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
class SimpleDeviceSerializer(NetBoxModelSerializer):
|
||||
|
||||
tenant = NestedTenantSerializer(required=False, allow_null=True, default=None)
|
||||
site = NestedSiteSerializer()
|
||||
location = NestedLocationSerializer(required=False, allow_null=True, default=None)
|
||||
rack = NestedRackSerializer(required=False, allow_null=True, default=None)
|
||||
face = ChoiceField(choices=DeviceFaceChoices, allow_blank=True, default='')
|
||||
position = serializers.IntegerField(allow_null=True, label='Position (U)', min_value=1, default=None)
|
||||
status = ChoiceField(choices=DeviceStatusChoices, required=False)
|
||||
primary_ip = NestedIPAddressSerializer(read_only=True)
|
||||
primary_ip4 = NestedIPAddressSerializer(required=False, allow_null=True)
|
||||
primary_ip6 = NestedIPAddressSerializer(required=False, allow_null=True)
|
||||
class Meta:
|
||||
model = Device
|
||||
fields = [
|
||||
'id', 'name', 'tenant', 'site', 'location', 'rack', 'face',
|
||||
'position', 'status', 'primary_ip', 'primary_ip4', 'primary_ip6'
|
||||
]
|
@ -37,6 +37,7 @@ router.register('inventory-item-templates', views.InventoryItemTemplateViewSet)
|
||||
router.register('device-roles', views.DeviceRoleViewSet)
|
||||
router.register('platforms', views.PlatformViewSet)
|
||||
router.register('devices', views.DeviceViewSet)
|
||||
router.register('simple-devices', views.SimpleDeviceViewSet)
|
||||
router.register('modules', views.ModuleViewSet)
|
||||
|
||||
# Device components
|
||||
|
@ -759,3 +759,16 @@ class ConnectedDeviceViewSet(ViewSet):
|
||||
|
||||
# Connected endpoint is none or not an Interface
|
||||
raise Http404
|
||||
|
||||
|
||||
#
|
||||
# Devices/modules
|
||||
#
|
||||
|
||||
class SimpleDeviceViewSet(ConfigContextQuerySetMixin, NetBoxModelViewSet):
|
||||
queryset = Device.objects.prefetch_related(
|
||||
'device_type__manufacturer', 'device_role', 'tenant', 'platform', 'site', 'location', 'rack', 'parent_bay',
|
||||
'virtual_chassis__master', 'primary_ip4__nat_outside', 'primary_ip6__nat_outside', 'tags',
|
||||
)
|
||||
filterset_class = filtersets.DeviceFilterSet
|
||||
serializer_class = serializers.SimpleDeviceSerializer
|
||||
|
Loading…
Reference in New Issue
Block a user