mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-30 12:26:25 -06:00
12596 Add Allocated Resources to Cluster API
This commit is contained in:
parent
812ce8471a
commit
2ac38e3d32
@ -59,6 +59,12 @@ class ClusterSerializer(NetBoxModelSerializer):
|
|||||||
)
|
)
|
||||||
scope_id = serializers.IntegerField(allow_null=True, required=False, default=None)
|
scope_id = serializers.IntegerField(allow_null=True, required=False, default=None)
|
||||||
scope = serializers.SerializerMethodField(read_only=True)
|
scope = serializers.SerializerMethodField(read_only=True)
|
||||||
|
allocated_virtual_cpus = serializers.DecimalField(
|
||||||
|
max_digits=8,
|
||||||
|
decimal_places=2,
|
||||||
|
)
|
||||||
|
allocated_memory = serializers.IntegerField()
|
||||||
|
allocated_disk_space = serializers.IntegerField()
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
device_count = RelatedObjectCountField('devices')
|
device_count = RelatedObjectCountField('devices')
|
||||||
@ -69,7 +75,7 @@ class ClusterSerializer(NetBoxModelSerializer):
|
|||||||
fields = [
|
fields = [
|
||||||
'id', 'url', 'display_url', 'display', 'name', 'type', 'group', 'status', 'tenant', 'scope_type', 'scope_id', 'scope',
|
'id', 'url', 'display_url', 'display', 'name', 'type', 'group', 'status', 'tenant', 'scope_type', 'scope_id', 'scope',
|
||||||
'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'device_count',
|
'description', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'device_count',
|
||||||
'virtualmachine_count',
|
'virtualmachine_count', 'allocated_virtual_cpus', 'allocated_memory', 'allocated_disk_space'
|
||||||
]
|
]
|
||||||
brief_fields = ('id', 'url', 'display', 'name', 'description', 'virtualmachine_count')
|
brief_fields = ('id', 'url', 'display', 'name', 'description', 'virtualmachine_count')
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
from django.db.models import Sum
|
||||||
from rest_framework.routers import APIRootView
|
from rest_framework.routers import APIRootView
|
||||||
|
|
||||||
from extras.api.mixins import ConfigContextQuerySetMixin, RenderConfigMixin
|
from extras.api.mixins import ConfigContextQuerySetMixin, RenderConfigMixin
|
||||||
@ -33,11 +34,10 @@ class ClusterGroupViewSet(NetBoxModelViewSet):
|
|||||||
|
|
||||||
|
|
||||||
class ClusterViewSet(NetBoxModelViewSet):
|
class ClusterViewSet(NetBoxModelViewSet):
|
||||||
queryset = Cluster.objects.all()
|
queryset = Cluster.objects.prefetch_related('virtual_machines').annotate(allocated_virtual_cpus=Sum('virtual_machines__vcpus'), allocated_memory=Sum('virtual_machines__memory'), allocated_disk_space=Sum('virtual_machines__disk'))
|
||||||
serializer_class = serializers.ClusterSerializer
|
serializer_class = serializers.ClusterSerializer
|
||||||
filterset_class = filtersets.ClusterFilterSet
|
filterset_class = filtersets.ClusterFilterSet
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Virtual machines
|
# Virtual machines
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user