schema.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import graphene
  2. from netbox.graphql.fields import ObjectField, ObjectListField
  3. from .types import *
  4. from utilities.graphql_optimizer import gql_query_optimizer
  5. from virtualization import models
  6. class VirtualizationQuery(graphene.ObjectType):
  7. cluster = ObjectField(ClusterType)
  8. cluster_list = ObjectListField(ClusterType)
  9. def resolve_cluster_list(root, info, **kwargs):
  10. return gql_query_optimizer(models.Cluster.objects.all(), info)
  11. cluster_group = ObjectField(ClusterGroupType)
  12. cluster_group_list = ObjectListField(ClusterGroupType)
  13. def resolve_cluster_group_list(root, info, **kwargs):
  14. return gql_query_optimizer(models.ClusterGroup.objects.all(), info)
  15. cluster_type = ObjectField(ClusterTypeType)
  16. cluster_type_list = ObjectListField(ClusterTypeType)
  17. def resolve_cluster_type_list(root, info, **kwargs):
  18. return gql_query_optimizer(models.ClusterType.objects.all(), info)
  19. virtual_machine = ObjectField(VirtualMachineType)
  20. virtual_machine_list = ObjectListField(VirtualMachineType)
  21. def resolve_virtual_machine_list(root, info, **kwargs):
  22. return gql_query_optimizer(models.VirtualMachine.objects.all(), info)
  23. vm_interface = ObjectField(VMInterfaceType)
  24. vm_interface_list = ObjectListField(VMInterfaceType)
  25. def resolve_vm_interface_list(root, info, **kwargs):
  26. return gql_query_optimizer(models.VMInterface.objects.all(), info)