mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-17 12:42:52 -06:00
9856 dcim schema
This commit is contained in:
parent
cdcaa9055e
commit
460b57dbf7
@ -0,0 +1,255 @@
|
||||
import strawberry
|
||||
import strawberry_django
|
||||
from strawberry import auto
|
||||
from dcim import models, filtersets
|
||||
from netbox.graphql import filters
|
||||
|
||||
|
||||
__all__ = (
|
||||
'CableFilter',
|
||||
'CableTerminationFilter',
|
||||
'ConsolePortFilter',
|
||||
'ConsolePortTemplateFilter',
|
||||
'ConsoleServerPortFilter',
|
||||
'ConsoleServerPortTemplateFilter',
|
||||
'DeviceFilter',
|
||||
'DeviceBayFilter',
|
||||
'DeviceBayTemplateFilter',
|
||||
'InventoryItemTemplateFilter',
|
||||
'DeviceRoleFilter',
|
||||
'DeviceTypeFilter',
|
||||
'FrontPortFilter',
|
||||
'FrontPortTemplateFilter',
|
||||
'InterfaceFilter',
|
||||
'InterfaceTemplateFilter',
|
||||
'InventoryItemFilter',
|
||||
'InventoryItemRoleFilter',
|
||||
'LocationFilter',
|
||||
'ManufacturerFilter',
|
||||
'ModuleFilter',
|
||||
'ModuleBayFilter',
|
||||
'ModuleBayTemplateFilter',
|
||||
'ModuleTypeFilter',
|
||||
'PlatformFilter',
|
||||
'PowerFeedFilter',
|
||||
'PowerOutletFilter',
|
||||
'PowerOutletTemplateFilter',
|
||||
'PowerPanelFilter',
|
||||
'PowerPortFilter',
|
||||
'PowerPortTemplateFilter',
|
||||
'RackFilter',
|
||||
'RackReservationFilter',
|
||||
'RackRoleFilter',
|
||||
'RearPortFilter',
|
||||
'RearPortTemplateFilter',
|
||||
'RegionFilter',
|
||||
'SiteFilter',
|
||||
'SiteGroupFilter',
|
||||
'VirtualChassisFilter',
|
||||
'VirtualDeviceContextFilter',
|
||||
)
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Cable, lookups=True)
|
||||
class CableFilter(filtersets.CableFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.CableTermination, lookups=True)
|
||||
class CableTerminationFilter(filtersets.CableTerminationFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.ConsolePort, lookups=True)
|
||||
class ConsolePortFilter(filtersets.ConsolePortFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.ConsolePortTemplate, lookups=True)
|
||||
class ConsolePortTemplateFilter(filtersets.ConsolePortTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.ConsoleServerPort, lookups=True)
|
||||
class ConsoleServerPortFilter(filtersets.ConsoleServerPortFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.ConsoleServerPortTemplate, lookups=True)
|
||||
class ConsoleServerPortTemplateFilter(filtersets.ConsoleServerPortTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Device, lookups=True)
|
||||
class DeviceFilter(filtersets.DeviceFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.DeviceBay, lookups=True)
|
||||
class DeviceBayFilter(filtersets.DeviceBayFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.DeviceBayTemplate, lookups=True)
|
||||
class DeviceBayTemplateFilter(filtersets.DeviceBayTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.InventoryItemTemplate, lookups=True)
|
||||
class InventoryItemTemplateFilter(filtersets.InventoryItemTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.DeviceRole, lookups=True)
|
||||
class DeviceRoleFilter(filtersets.DeviceRoleFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.DeviceType, lookups=True)
|
||||
class DeviceTypeFilter(filtersets.DeviceTypeFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.FrontPort, lookups=True)
|
||||
class FrontPortFilter(filtersets.FrontPortFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.FrontPortTemplate, lookups=True)
|
||||
class FrontPortTemplateFilter(filtersets.FrontPortTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Interface, lookups=True)
|
||||
class InterfaceFilter(filtersets.InterfaceFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.InterfaceTemplate, lookups=True)
|
||||
class InterfaceTemplateFilter(filtersets.InterfaceTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.InventoryItem, lookups=True)
|
||||
class InventoryItemFilter(filtersets.InventoryItemFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.InventoryItemRole, lookups=True)
|
||||
class InventoryItemRoleFilter(filtersets.InventoryItemRoleFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Location, lookups=True)
|
||||
class LocationFilter(filtersets.LocationFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Manufacturer, lookups=True)
|
||||
class ManufacturerFilter(filtersets.ManufacturerFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Module, lookups=True)
|
||||
class ModuleFilter(filtersets.ModuleFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.ModuleBay, lookups=True)
|
||||
class ModuleBayFilter(filtersets.ModuleBayFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.ModuleBayTemplate, lookups=True)
|
||||
class ModuleBayTemplateFilter(filtersets.ModuleBayTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.ModuleType, lookups=True)
|
||||
class ModuleTypeFilter(filtersets.ModuleTypeFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Platform, lookups=True)
|
||||
class PlatformFilter(filtersets.PlatformFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.PowerFeed, lookups=True)
|
||||
class PowerFeedFilter(filtersets.PowerFeedFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.PowerOutlet, lookups=True)
|
||||
class PowerOutletFilter(filtersets.PowerOutletFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.PowerOutletTemplate, lookups=True)
|
||||
class PowerOutletTemplateFilter(filtersets.PowerOutletTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.PowerPanel, lookups=True)
|
||||
class PowerPanelFilter(filtersets.PowerPanelFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.PowerPort, lookups=True)
|
||||
class PowerPortFilter(filtersets.PowerPortFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.PowerPortTemplate, lookups=True)
|
||||
class PowerPortTemplateFilter(filtersets.PowerPortTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Rack, lookups=True)
|
||||
class RackFilter(filtersets.RackFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.RackReservation, lookups=True)
|
||||
class RackReservationFilter(filtersets.RackReservationFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.RackRole, lookups=True)
|
||||
class RackRoleFilter(filtersets.RackRoleFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.RearPort, lookups=True)
|
||||
class RearPortFilter(filtersets.RearPortFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.RearPortTemplate, lookups=True)
|
||||
class RearPortTemplateFilter(filtersets.RearPortTemplateFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Region, lookups=True)
|
||||
class RegionFilter(filtersets.RegionFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.Site, lookups=True)
|
||||
class SiteFilter(filtersets.SiteFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.SiteGroup, lookups=True)
|
||||
class SiteGroupFilter(filtersets.SiteGroupFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.VirtualChassis, lookups=True)
|
||||
class VirtualChassisFilter(filtersets.VirtualChassisFilterSet):
|
||||
id: auto
|
||||
|
||||
|
||||
@strawberry_django.filter(models.VirtualDeviceContext, lookups=True)
|
||||
class VirtualDeviceContextFilter(filtersets.VirtualDeviceContextFilterSet):
|
||||
id: auto
|
@ -1,249 +1,129 @@
|
||||
import graphene
|
||||
from typing import List
|
||||
import strawberry
|
||||
import strawberry_django
|
||||
|
||||
from netbox.graphql.fields import ObjectField, ObjectListField
|
||||
from circuits import models
|
||||
from .types import *
|
||||
from dcim import models
|
||||
from .types import VirtualDeviceContextType
|
||||
from utilities.graphql_optimizer import gql_query_optimizer
|
||||
|
||||
|
||||
class DCIMQuery(graphene.ObjectType):
|
||||
cable = ObjectField(CableType)
|
||||
cable_list = ObjectListField(CableType)
|
||||
@strawberry.type
|
||||
class DCIMQuery:
|
||||
cable: CableType = strawberry_django.field()
|
||||
cable_list: List[CableType] = strawberry_django.field()
|
||||
|
||||
def resolve_cable_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Cable.objects.all(), info)
|
||||
console_port: ConsolePortType = strawberry_django.field()
|
||||
console_port_list: List[ConsolePortType] = strawberry_django.field()
|
||||
|
||||
console_port = ObjectField(ConsolePortType)
|
||||
console_port_list = ObjectListField(ConsolePortType)
|
||||
console_port_template: ConsolePortTemplateType = strawberry_django.field()
|
||||
console_port_template_list: List[ConsolePortTemplateType] = strawberry_django.field()
|
||||
|
||||
def resolve_console_port_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.ConsolePort.objects.all(), info)
|
||||
console_server_port: ConsoleServerPortType = strawberry_django.field()
|
||||
console_server_port_list: List[ConsoleServerPortType] = strawberry_django.field()
|
||||
|
||||
console_port_template = ObjectField(ConsolePortTemplateType)
|
||||
console_port_template_list = ObjectListField(ConsolePortTemplateType)
|
||||
console_server_port_template: ConsoleServerPortTemplateType = strawberry_django.field()
|
||||
console_server_port_template_list: List[ConsoleServerPortTemplateType] = strawberry_django.field()
|
||||
|
||||
def resolve_console_port_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.ConsolePortTemplate.objects.all(), info)
|
||||
device: DeviceType = strawberry_django.field()
|
||||
device_list: List[DeviceType] = strawberry_django.field()
|
||||
|
||||
console_server_port = ObjectField(ConsoleServerPortType)
|
||||
console_server_port_list = ObjectListField(ConsoleServerPortType)
|
||||
device_bay: DeviceBayType = strawberry_django.field()
|
||||
device_bay_list: List[DeviceBayType] = strawberry_django.field()
|
||||
|
||||
def resolve_console_server_port_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.ConsoleServerPort.objects.all(), info)
|
||||
device_bay_template: DeviceBayTemplateType = strawberry_django.field()
|
||||
device_bay_template_list: List[DeviceBayTemplateType] = strawberry_django.field()
|
||||
|
||||
console_server_port_template = ObjectField(ConsoleServerPortTemplateType)
|
||||
console_server_port_template_list = ObjectListField(ConsoleServerPortTemplateType)
|
||||
device_role: DeviceRoleType = strawberry_django.field()
|
||||
device_role_list: List[DeviceRoleType] = strawberry_django.field()
|
||||
|
||||
def resolve_console_server_port_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.ConsoleServerPortTemplate.objects.all(), info)
|
||||
device_type: DeviceTypeType = strawberry_django.field()
|
||||
device_type_list: List[DeviceTypeType] = strawberry_django.field()
|
||||
|
||||
device = ObjectField(DeviceType)
|
||||
device_list = ObjectListField(DeviceType)
|
||||
front_port: FrontPortType = strawberry_django.field()
|
||||
front_port_list: List[FrontPortType] = strawberry_django.field()
|
||||
|
||||
def resolve_device_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Device.objects.all(), info)
|
||||
front_port_template: FrontPortTemplateType = strawberry_django.field()
|
||||
front_port_template_list: List[FrontPortTemplateType] = strawberry_django.field()
|
||||
|
||||
device_bay = ObjectField(DeviceBayType)
|
||||
device_bay_list = ObjectListField(DeviceBayType)
|
||||
interface: InterfaceType = strawberry_django.field()
|
||||
interface_list: List[InterfaceType] = strawberry_django.field()
|
||||
|
||||
def resolve_device_bay_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.DeviceBay.objects.all(), info)
|
||||
interface_template: InterfaceTemplateType = strawberry_django.field()
|
||||
interface_template_list: List[InterfaceTemplateType] = strawberry_django.field()
|
||||
|
||||
device_bay_template = ObjectField(DeviceBayTemplateType)
|
||||
device_bay_template_list = ObjectListField(DeviceBayTemplateType)
|
||||
inventory_item: InventoryItemType = strawberry_django.field()
|
||||
inventory_item_list: List[InventoryItemType] = strawberry_django.field()
|
||||
|
||||
def resolve_device_bay_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.DeviceBayTemplate.objects.all(), info)
|
||||
inventory_item_role: InventoryItemRoleType = strawberry_django.field()
|
||||
inventory_item_role_list: List[InventoryItemRoleType] = strawberry_django.field()
|
||||
|
||||
device_role = ObjectField(DeviceRoleType)
|
||||
device_role_list = ObjectListField(DeviceRoleType)
|
||||
inventory_item_template: InventoryItemTemplateType = strawberry_django.field()
|
||||
inventory_item_template_list: List[InventoryItemTemplateType] = strawberry_django.field()
|
||||
|
||||
def resolve_device_role_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.DeviceRole.objects.all(), info)
|
||||
location: LocationType = strawberry_django.field()
|
||||
location_list: List[LocationType] = strawberry_django.field()
|
||||
|
||||
device_type = ObjectField(DeviceTypeType)
|
||||
device_type_list = ObjectListField(DeviceTypeType)
|
||||
manufacturer: ManufacturerType = strawberry_django.field()
|
||||
manufacturer_list: List[ManufacturerType] = strawberry_django.field()
|
||||
|
||||
def resolve_device_type_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.DeviceType.objects.all(), info)
|
||||
module: ModuleType = strawberry_django.field()
|
||||
module_list: List[ModuleType] = strawberry_django.field()
|
||||
|
||||
front_port = ObjectField(FrontPortType)
|
||||
front_port_list = ObjectListField(FrontPortType)
|
||||
module_bay: ModuleBayType = strawberry_django.field()
|
||||
module_bay_list: List[ModuleBayType] = strawberry_django.field()
|
||||
|
||||
def resolve_front_port_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.FrontPort.objects.all(), info)
|
||||
module_bay_template: ModuleBayTemplateType = strawberry_django.field()
|
||||
module_bay_template_list: List[ModuleBayTemplateType] = strawberry_django.field()
|
||||
|
||||
front_port_template = ObjectField(FrontPortTemplateType)
|
||||
front_port_template_list = ObjectListField(FrontPortTemplateType)
|
||||
module_type: ModuleTypeType = strawberry_django.field()
|
||||
module_type_list: List[ModuleTypeType] = strawberry_django.field()
|
||||
|
||||
def resolve_front_port_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.FrontPortTemplate.objects.all(), info)
|
||||
platform: PlatformType = strawberry_django.field()
|
||||
platform_list: List[PlatformType] = strawberry_django.field()
|
||||
|
||||
interface = ObjectField(InterfaceType)
|
||||
interface_list = ObjectListField(InterfaceType)
|
||||
power_feed: PowerFeedType = strawberry_django.field()
|
||||
power_feed_list: List[PowerFeedType] = strawberry_django.field()
|
||||
|
||||
def resolve_interface_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Interface.objects.all(), info)
|
||||
power_outlet: PowerOutletType = strawberry_django.field()
|
||||
power_outlet_list: List[PowerOutletType] = strawberry_django.field()
|
||||
|
||||
interface_template = ObjectField(InterfaceTemplateType)
|
||||
interface_template_list = ObjectListField(InterfaceTemplateType)
|
||||
power_outlet_template: PowerOutletTemplateType = strawberry_django.field()
|
||||
power_outlet_template_list: List[PowerOutletTemplateType] = strawberry_django.field()
|
||||
|
||||
def resolve_interface_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.InterfaceTemplate.objects.all(), info)
|
||||
power_panel: PowerPanelType = strawberry_django.field()
|
||||
power_panel_list: List[PowerPanelType] = strawberry_django.field()
|
||||
|
||||
inventory_item = ObjectField(InventoryItemType)
|
||||
inventory_item_list = ObjectListField(InventoryItemType)
|
||||
power_port: PowerPortType = strawberry_django.field()
|
||||
power_port_list: List[PowerPortType] = strawberry_django.field()
|
||||
|
||||
def resolve_inventory_item_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.InventoryItem.objects.all(), info)
|
||||
power_port_template: PowerPortTemplateType = strawberry_django.field()
|
||||
power_port_template_list: List[PowerPortTemplateType] = strawberry_django.field()
|
||||
|
||||
inventory_item_role = ObjectField(InventoryItemRoleType)
|
||||
inventory_item_role_list = ObjectListField(InventoryItemRoleType)
|
||||
rack: RackType = strawberry_django.field()
|
||||
rack_list: List[RackType] = strawberry_django.field()
|
||||
|
||||
def resolve_inventory_item_role_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.InventoryItemRole.objects.all(), info)
|
||||
rack_reservation: RackReservationType = strawberry_django.field()
|
||||
rack_reservation_list: List[RackReservationType] = strawberry_django.field()
|
||||
|
||||
inventory_item_template = ObjectField(InventoryItemTemplateType)
|
||||
inventory_item_template_list = ObjectListField(InventoryItemTemplateType)
|
||||
rack_role: RackRoleType = strawberry_django.field()
|
||||
rack_role_list: List[RackRoleType] = strawberry_django.field()
|
||||
|
||||
def resolve_inventory_item_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.InventoryItemTemplate.objects.all(), info)
|
||||
rear_port: RearPortType = strawberry_django.field()
|
||||
rear_port_list: List[RearPortType] = strawberry_django.field()
|
||||
|
||||
location = ObjectField(LocationType)
|
||||
location_list = ObjectListField(LocationType)
|
||||
rear_port_template: RearPortTemplateType = strawberry_django.field()
|
||||
rear_port_template_list: List[RearPortTemplateType] = strawberry_django.field()
|
||||
|
||||
def resolve_location_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Location.objects.all(), info)
|
||||
region: RegionType = strawberry_django.field()
|
||||
region_list: List[RegionType] = strawberry_django.field()
|
||||
|
||||
manufacturer = ObjectField(ManufacturerType)
|
||||
manufacturer_list = ObjectListField(ManufacturerType)
|
||||
site: SiteType = strawberry_django.field()
|
||||
site_list: List[SiteType] = strawberry_django.field()
|
||||
|
||||
def resolve_manufacturer_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Manufacturer.objects.all(), info)
|
||||
site_group: SiteGroupType = strawberry_django.field()
|
||||
site_group_list: List[SiteGroupType] = strawberry_django.field()
|
||||
|
||||
module = ObjectField(ModuleType)
|
||||
module_list = ObjectListField(ModuleType)
|
||||
virtual_chassis: VirtualChassisType = strawberry_django.field()
|
||||
virtual_chassis_list: List[VirtualChassisType] = strawberry_django.field()
|
||||
|
||||
def resolve_module_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Module.objects.all(), info)
|
||||
|
||||
module_bay = ObjectField(ModuleBayType)
|
||||
module_bay_list = ObjectListField(ModuleBayType)
|
||||
|
||||
def resolve_module_bay_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.ModuleBay.objects.all(), info)
|
||||
|
||||
module_bay_template = ObjectField(ModuleBayTemplateType)
|
||||
module_bay_template_list = ObjectListField(ModuleBayTemplateType)
|
||||
|
||||
def resolve_module_bay_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.ModuleBayTemplate.objects.all(), info)
|
||||
|
||||
module_type = ObjectField(ModuleTypeType)
|
||||
module_type_list = ObjectListField(ModuleTypeType)
|
||||
|
||||
def resolve_module_type_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.ModuleType.objects.all(), info)
|
||||
|
||||
platform = ObjectField(PlatformType)
|
||||
platform_list = ObjectListField(PlatformType)
|
||||
|
||||
def resolve_platform_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Platform.objects.all(), info)
|
||||
|
||||
power_feed = ObjectField(PowerFeedType)
|
||||
power_feed_list = ObjectListField(PowerFeedType)
|
||||
|
||||
def resolve_power_feed_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.PowerFeed.objects.all(), info)
|
||||
|
||||
power_outlet = ObjectField(PowerOutletType)
|
||||
power_outlet_list = ObjectListField(PowerOutletType)
|
||||
|
||||
def resolve_power_outlet_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.PowerOutlet.objects.all(), info)
|
||||
|
||||
power_outlet_template = ObjectField(PowerOutletTemplateType)
|
||||
power_outlet_template_list = ObjectListField(PowerOutletTemplateType)
|
||||
|
||||
def resolve_power_outlet_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.PowerOutletTemplate.objects.all(), info)
|
||||
|
||||
power_panel = ObjectField(PowerPanelType)
|
||||
power_panel_list = ObjectListField(PowerPanelType)
|
||||
|
||||
def resolve_power_panel_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.PowerPanel.objects.all(), info)
|
||||
|
||||
power_port = ObjectField(PowerPortType)
|
||||
power_port_list = ObjectListField(PowerPortType)
|
||||
|
||||
def resolve_power_port_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.PowerPort.objects.all(), info)
|
||||
|
||||
power_port_template = ObjectField(PowerPortTemplateType)
|
||||
power_port_template_list = ObjectListField(PowerPortTemplateType)
|
||||
|
||||
def resolve_power_port_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.PowerPortTemplate.objects.all(), info)
|
||||
|
||||
rack = ObjectField(RackType)
|
||||
rack_list = ObjectListField(RackType)
|
||||
|
||||
def resolve_rack_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Rack.objects.all(), info)
|
||||
|
||||
rack_reservation = ObjectField(RackReservationType)
|
||||
rack_reservation_list = ObjectListField(RackReservationType)
|
||||
|
||||
def resolve_rack_reservation_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.RackReservation.objects.all(), info)
|
||||
|
||||
rack_role = ObjectField(RackRoleType)
|
||||
rack_role_list = ObjectListField(RackRoleType)
|
||||
|
||||
def resolve_rack_role_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.RackRole.objects.all(), info)
|
||||
|
||||
rear_port = ObjectField(RearPortType)
|
||||
rear_port_list = ObjectListField(RearPortType)
|
||||
|
||||
def resolve_rear_port_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.RearPort.objects.all(), info)
|
||||
|
||||
rear_port_template = ObjectField(RearPortTemplateType)
|
||||
rear_port_template_list = ObjectListField(RearPortTemplateType)
|
||||
|
||||
def resolve_rear_port_template_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.RearPortTemplate.objects.all(), info)
|
||||
|
||||
region = ObjectField(RegionType)
|
||||
region_list = ObjectListField(RegionType)
|
||||
|
||||
def resolve_region_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Region.objects.all(), info)
|
||||
|
||||
site = ObjectField(SiteType)
|
||||
site_list = ObjectListField(SiteType)
|
||||
|
||||
def resolve_site_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.Site.objects.all(), info)
|
||||
|
||||
site_group = ObjectField(SiteGroupType)
|
||||
site_group_list = ObjectListField(SiteGroupType)
|
||||
|
||||
def resolve_site_group_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.SiteGroup.objects.all(), info)
|
||||
|
||||
virtual_chassis = ObjectField(VirtualChassisType)
|
||||
virtual_chassis_list = ObjectListField(VirtualChassisType)
|
||||
|
||||
def resolve_virtual_chassis_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.VirtualChassis.objects.all(), info)
|
||||
|
||||
virtual_device_context = ObjectField(VirtualDeviceContextType)
|
||||
virtual_device_context_list = ObjectListField(VirtualDeviceContextType)
|
||||
|
||||
def resolve_virtual_device_context_list(root, info, **kwargs):
|
||||
return gql_query_optimizer(models.VirtualDeviceContext.objects.all(), info)
|
||||
virtual_device_context: VirtualDeviceContextType = strawberry_django.field()
|
||||
virtual_device_context_list: List[VirtualDeviceContextType] = strawberry_django.field()
|
||||
|
@ -52,6 +52,7 @@ __all__ = (
|
||||
'SiteType',
|
||||
'SiteGroupType',
|
||||
'VirtualChassisType',
|
||||
'VirtualDeviceContextType',
|
||||
)
|
||||
|
||||
|
||||
@ -90,18 +91,14 @@ class ComponentTemplateObjectType(
|
||||
|
||||
@strawberry_django.type(
|
||||
models.Cable,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('color', ), # bug - temp
|
||||
filters=CableFilter
|
||||
)
|
||||
class CableType(NetBoxObjectType):
|
||||
# a_terminations = graphene.List('dcim.graphql.gfk_mixins.CableTerminationTerminationType')
|
||||
# b_terminations = graphene.List('dcim.graphql.gfk_mixins.CableTerminationTerminationType')
|
||||
|
||||
class Meta:
|
||||
model = models.Cable
|
||||
fields = '__all__'
|
||||
filterset_class = filtersets.CableFilterSet
|
||||
|
||||
def resolve_type(self, info):
|
||||
return self.type or None
|
||||
|
||||
@ -127,7 +124,8 @@ class CableTerminationType(NetBoxObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.ConsolePort,
|
||||
exclude=('_path',),
|
||||
# exclude=('_path',),
|
||||
exclude=('_path', '_name',), # bug - temp
|
||||
filters=ConsolePortFilter
|
||||
)
|
||||
class ConsolePortType(ComponentObjectType, CabledObjectMixin, PathEndpointMixin):
|
||||
@ -138,7 +136,8 @@ class ConsolePortType(ComponentObjectType, CabledObjectMixin, PathEndpointMixin)
|
||||
|
||||
@strawberry_django.type(
|
||||
models.ConsolePortTemplate,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=ConsolePortTemplateFilter
|
||||
)
|
||||
class ConsolePortTemplateType(ComponentTemplateObjectType):
|
||||
@ -149,7 +148,8 @@ class ConsolePortTemplateType(ComponentTemplateObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.ConsoleServerPort,
|
||||
exclude=('_path',),
|
||||
# exclude=('_path',),
|
||||
exclude=('_path', '_name',), # bug - temp
|
||||
filters=ConsoleServerPortFilter
|
||||
)
|
||||
class ConsoleServerPortType(ComponentObjectType, CabledObjectMixin, PathEndpointMixin):
|
||||
@ -160,7 +160,8 @@ class ConsoleServerPortType(ComponentObjectType, CabledObjectMixin, PathEndpoint
|
||||
|
||||
@strawberry_django.type(
|
||||
models.ConsoleServerPortTemplate,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=ConsoleServerPortTemplateFilter
|
||||
)
|
||||
class ConsoleServerPortTemplateType(ComponentTemplateObjectType):
|
||||
@ -171,7 +172,12 @@ class ConsoleServerPortTemplateType(ComponentTemplateObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.Device,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=(
|
||||
'_name', 'console_port_count', 'console_server_port_count', 'power_port_count', 'power_outlet_count',
|
||||
'interface_count', 'front_port_count', 'rear_port_count', 'device_bay_count', 'module_bay_count',
|
||||
'inventory_item_count'
|
||||
), # bug - temp
|
||||
filters=DeviceFilter
|
||||
)
|
||||
class DeviceType(ConfigContextMixin, ImageAttachmentsMixin, ContactsMixin, NetBoxObjectType):
|
||||
@ -185,7 +191,8 @@ class DeviceType(ConfigContextMixin, ImageAttachmentsMixin, ContactsMixin, NetBo
|
||||
|
||||
@strawberry_django.type(
|
||||
models.DeviceBay,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=DeviceBayFilter
|
||||
)
|
||||
class DeviceBayType(ComponentObjectType):
|
||||
@ -194,7 +201,8 @@ class DeviceBayType(ComponentObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.DeviceBayTemplate,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=DeviceBayTemplateFilter
|
||||
)
|
||||
class DeviceBayTemplateType(ComponentTemplateObjectType):
|
||||
@ -203,7 +211,7 @@ class DeviceBayTemplateType(ComponentTemplateObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.InventoryItemTemplate,
|
||||
exclude=('component_type', 'component_id'),
|
||||
exclude=('component_type', 'component_id', '_name', 'parent'),
|
||||
filters=InventoryItemTemplateFilter
|
||||
)
|
||||
class InventoryItemTemplateType(ComponentTemplateObjectType):
|
||||
@ -213,7 +221,8 @@ class InventoryItemTemplateType(ComponentTemplateObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.DeviceRole,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('color',), # bug - temp
|
||||
filters=DeviceRoleFilter
|
||||
)
|
||||
class DeviceRoleType(OrganizationalObjectType):
|
||||
@ -222,7 +231,13 @@ class DeviceRoleType(OrganizationalObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.DeviceType,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=(
|
||||
'console_port_template_count', 'console_server_port_template_count', 'power_port_template_count',
|
||||
'power_outlet_template_count', 'interface_template_count', 'front_port_template_count',
|
||||
'rear_port_template_count', 'device_bay_template_count', 'module_bay_template_count',
|
||||
'inventory_item_template_count',
|
||||
), # bug - temp
|
||||
filters=DeviceTypeFilter
|
||||
)
|
||||
class DeviceTypeType(NetBoxObjectType):
|
||||
@ -239,7 +254,8 @@ class DeviceTypeType(NetBoxObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.FrontPort,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name', 'color'), # bug - temp
|
||||
filters=FrontPortFilter
|
||||
)
|
||||
class FrontPortType(ComponentObjectType, CabledObjectMixin):
|
||||
@ -248,7 +264,8 @@ class FrontPortType(ComponentObjectType, CabledObjectMixin):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.FrontPortTemplate,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name', 'color'), # bug - temp
|
||||
filters=FrontPortTemplateFilter
|
||||
)
|
||||
class FrontPortTemplateType(ComponentTemplateObjectType):
|
||||
@ -257,7 +274,8 @@ class FrontPortTemplateType(ComponentTemplateObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.Interface,
|
||||
exclude=('_path',),
|
||||
# fields='__all__',
|
||||
exclude=('mac_address', '_name', 'wwn'), # bug - temp
|
||||
filters=InterfaceFilter
|
||||
)
|
||||
class InterfaceType(IPAddressesMixin, ComponentObjectType, CabledObjectMixin, PathEndpointMixin):
|
||||
@ -280,7 +298,8 @@ class InterfaceType(IPAddressesMixin, ComponentObjectType, CabledObjectMixin, Pa
|
||||
|
||||
@strawberry_django.type(
|
||||
models.InterfaceTemplate,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=InterfaceTemplateFilter
|
||||
)
|
||||
class InterfaceTemplateType(ComponentTemplateObjectType):
|
||||
@ -297,7 +316,7 @@ class InterfaceTemplateType(ComponentTemplateObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.InventoryItem,
|
||||
exclude=('component_type', 'component_id'),
|
||||
exclude=('component_type', 'component_id', '_name', 'parent'),
|
||||
filters=InventoryItemFilter
|
||||
)
|
||||
class InventoryItemType(ComponentObjectType):
|
||||
@ -307,7 +326,8 @@ class InventoryItemType(ComponentObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.InventoryItemRole,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('color', '_name'), # bug - temp
|
||||
filters=InventoryItemRoleFilter
|
||||
)
|
||||
class InventoryItemRoleType(OrganizationalObjectType):
|
||||
@ -316,7 +336,8 @@ class InventoryItemRoleType(OrganizationalObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.Location,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('parent',), # bug - temp
|
||||
filters=LocationFilter
|
||||
)
|
||||
class LocationType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, OrganizationalObjectType):
|
||||
@ -343,7 +364,8 @@ class ModuleType(ComponentObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.ModuleBay,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=ModuleBayFilter
|
||||
)
|
||||
class ModuleBayType(ComponentObjectType):
|
||||
@ -352,7 +374,8 @@ class ModuleBayType(ComponentObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.ModuleBayTemplate,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=ModuleBayTemplateFilter
|
||||
)
|
||||
class ModuleBayTemplateType(ComponentTemplateObjectType):
|
||||
@ -390,7 +413,8 @@ class PowerFeedType(NetBoxObjectType, CabledObjectMixin, PathEndpointMixin):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.PowerOutlet,
|
||||
exclude=('_path',),
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=PowerOutletFilter
|
||||
)
|
||||
class PowerOutletType(ComponentObjectType, CabledObjectMixin, PathEndpointMixin):
|
||||
@ -404,7 +428,8 @@ class PowerOutletType(ComponentObjectType, CabledObjectMixin, PathEndpointMixin)
|
||||
|
||||
@strawberry_django.type(
|
||||
models.PowerOutletTemplate,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=PowerOutletTemplateFilter
|
||||
)
|
||||
class PowerOutletTemplateType(ComponentTemplateObjectType):
|
||||
@ -427,7 +452,7 @@ class PowerPanelType(NetBoxObjectType, ContactsMixin):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.PowerPort,
|
||||
exclude=('_path',),
|
||||
exclude=('_path', '_name'),
|
||||
filters=PowerPortFilter
|
||||
)
|
||||
class PowerPortType(ComponentObjectType, CabledObjectMixin, PathEndpointMixin):
|
||||
@ -438,7 +463,8 @@ class PowerPortType(ComponentObjectType, CabledObjectMixin, PathEndpointMixin):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.PowerPortTemplate,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=PowerPortTemplateFilter
|
||||
)
|
||||
class PowerPortTemplateType(ComponentTemplateObjectType):
|
||||
@ -449,7 +475,8 @@ class PowerPortTemplateType(ComponentTemplateObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.Rack,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name',), # bug - temp
|
||||
filters=RackFilter
|
||||
)
|
||||
class RackType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, NetBoxObjectType):
|
||||
@ -466,7 +493,8 @@ class RackType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, NetBoxObje
|
||||
|
||||
@strawberry_django.type(
|
||||
models.RackReservation,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('units',), # bug - temp
|
||||
filters=RackReservationFilter
|
||||
)
|
||||
class RackReservationType(NetBoxObjectType):
|
||||
@ -475,7 +503,8 @@ class RackReservationType(NetBoxObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.RackRole,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('color',), # bug - temp
|
||||
filters=RackRoleFilter
|
||||
)
|
||||
class RackRoleType(OrganizationalObjectType):
|
||||
@ -484,7 +513,8 @@ class RackRoleType(OrganizationalObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.RearPort,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name', 'color'), # bug - temp
|
||||
filters=RearPortFilter
|
||||
)
|
||||
class RearPortType(ComponentObjectType, CabledObjectMixin):
|
||||
@ -493,7 +523,8 @@ class RearPortType(ComponentObjectType, CabledObjectMixin):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.RearPortTemplate,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name', 'color'), # bug - temp
|
||||
filters=RearPortTemplateFilter
|
||||
)
|
||||
class RearPortTemplateType(ComponentTemplateObjectType):
|
||||
@ -502,7 +533,8 @@ class RearPortTemplateType(ComponentTemplateObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.Region,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('parent',), # bug - temp
|
||||
filters=RegionFilter
|
||||
)
|
||||
class RegionType(VLANGroupsMixin, ContactsMixin, OrganizationalObjectType):
|
||||
@ -511,7 +543,8 @@ class RegionType(VLANGroupsMixin, ContactsMixin, OrganizationalObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.Site,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('_name', 'time_zone'), # bug - temp
|
||||
filters=SiteFilter
|
||||
)
|
||||
class SiteType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, NetBoxObjectType):
|
||||
@ -521,7 +554,8 @@ class SiteType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, NetBoxObje
|
||||
|
||||
@strawberry_django.type(
|
||||
models.SiteGroup,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('parent',), # bug - temp
|
||||
filters=SiteGroupFilter
|
||||
)
|
||||
class SiteGroupType(VLANGroupsMixin, ContactsMixin, OrganizationalObjectType):
|
||||
@ -530,7 +564,8 @@ class SiteGroupType(VLANGroupsMixin, ContactsMixin, OrganizationalObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.VirtualChassis,
|
||||
fields='__all__',
|
||||
# fields='__all__',
|
||||
exclude=('member_count',), # bug - temp
|
||||
filters=VirtualChassisFilter
|
||||
)
|
||||
class VirtualChassisType(NetBoxObjectType):
|
||||
|
@ -3,6 +3,7 @@ from strawberry_django.optimizer import DjangoOptimizerExtension
|
||||
from strawberry.schema.config import StrawberryConfig
|
||||
from circuits.graphql.schema import CircuitsQuery
|
||||
from core.graphql.schema import CoreQuery
|
||||
from dcim.graphql.schema import DCIMQuery
|
||||
from users.graphql.schema import UsersQuery
|
||||
# from virtualization.graphql.schema import VirtualizationQuery
|
||||
# from vpn.graphql.schema import VPNQuery
|
||||
@ -14,7 +15,7 @@ class Query(
|
||||
UsersQuery,
|
||||
CircuitsQuery,
|
||||
CoreQuery,
|
||||
# DCIMQuery,
|
||||
DCIMQuery,
|
||||
# ExtrasQuery,
|
||||
# IPAMQuery,
|
||||
# TenancyQuery,
|
||||
|
Loading…
Reference in New Issue
Block a user