mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
* 8356 add virtual disk model * 8356 add supplemental forms * 8356 add menu * 8356 cleanup views * 8356 virtual machine tab * 8356 migrations * 8356 vm disk tables * 8356 cleanup * 8356 graphql * 8356 graphql * 8356 add components button * 8356 bulk add on virtualmachine * 8356 bulk add fixes * 8356 api tests * 8356 news tests add rename * 8356 VirtualDiskCreateForm * 8356 fix test * 8356 add todo to remove disk from vm * 8356 review changes * 8356 fix test * 8356 deprecate disk field * 8356 review changes * 8356 fix test * 8356 fix test * Simplify view actions * 8356 review changes * 8356 split trans tag * 8356 add total virtual disk size to api * 8356 add virtual disk list to virtual machine detail view * 8356 move virtual disk size to property * 8356 revert property * Tweak display of deprecated disk field * 8356 render single disk field * 8356 update serializer * 8356 model property * 8356 fix test * 8356 review changes * Revert disk space annotation * Use existing disk field to store aggregate virtual disk size * Introduce abstract ComponentModel for VM components * Add search index for VirtualDisk * Misc cleanup --------- Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
import graphene
|
|
|
|
from netbox.graphql.fields import ObjectField, ObjectListField
|
|
from .types import *
|
|
from utilities.graphql_optimizer import gql_query_optimizer
|
|
from virtualization import models
|
|
|
|
|
|
class VirtualizationQuery(graphene.ObjectType):
|
|
cluster = ObjectField(ClusterType)
|
|
cluster_list = ObjectListField(ClusterType)
|
|
|
|
def resolve_cluster_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.Cluster.objects.all(), info)
|
|
|
|
cluster_group = ObjectField(ClusterGroupType)
|
|
cluster_group_list = ObjectListField(ClusterGroupType)
|
|
|
|
def resolve_cluster_group_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.ClusterGroup.objects.all(), info)
|
|
|
|
cluster_type = ObjectField(ClusterTypeType)
|
|
cluster_type_list = ObjectListField(ClusterTypeType)
|
|
|
|
def resolve_cluster_type_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.ClusterType.objects.all(), info)
|
|
|
|
virtual_machine = ObjectField(VirtualMachineType)
|
|
virtual_machine_list = ObjectListField(VirtualMachineType)
|
|
|
|
def resolve_virtual_machine_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.VirtualMachine.objects.all(), info)
|
|
|
|
vm_interface = ObjectField(VMInterfaceType)
|
|
vm_interface_list = ObjectListField(VMInterfaceType)
|
|
|
|
def resolve_vm_interface_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.VMInterface.objects.all(), info)
|
|
|
|
virtual_disk = ObjectField(VirtualDiskType)
|
|
virtual_disk_list = ObjectListField(VirtualDiskType)
|
|
|
|
def resolve_virtual_disk_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.VirtualDisk.objects.all(), info)
|