| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052 |
- from typing import Annotated, TYPE_CHECKING
- from django.db.models import Q
- import strawberry
- import strawberry_django
- from strawberry.scalars import ID
- from strawberry_django import ComparisonFilterLookup, FilterLookup
- from core.graphql.filter_mixins import ChangeLogFilterMixin
- from dcim import models
- from dcim.constants import *
- from dcim.graphql.enums import InterfaceKindEnum
- from extras.graphql.filter_mixins import ConfigContextFilterMixin
- from netbox.graphql.filter_mixins import (
- PrimaryModelFilterMixin,
- OrganizationalModelFilterMixin,
- NestedGroupModelFilterMixin,
- ImageAttachmentFilterMixin,
- WeightFilterMixin,
- )
- from tenancy.graphql.filter_mixins import ContactFilterMixin, TenancyFilterMixin
- from virtualization.models import VMInterface
- from .filter_mixins import (
- CabledObjectModelFilterMixin,
- ComponentModelFilterMixin,
- ComponentTemplateFilterMixin,
- InterfaceBaseFilterMixin,
- ModularComponentModelFilterMixin,
- ModularComponentTemplateFilterMixin,
- RackBaseFilterMixin,
- RenderConfigFilterMixin,
- )
- if TYPE_CHECKING:
- from core.graphql.filters import ContentTypeFilter
- from extras.graphql.filters import ConfigTemplateFilter, ImageAttachmentFilter
- from ipam.graphql.filters import (
- ASNFilter, FHRPGroupAssignmentFilter, IPAddressFilter, PrefixFilter, VLANGroupFilter, VRFFilter,
- )
- from netbox.graphql.enums import ColorEnum
- from netbox.graphql.filter_lookups import FloatLookup, IntegerArrayLookup, IntegerLookup, TreeNodeFilter
- from users.graphql.filters import UserFilter
- from virtualization.graphql.filters import ClusterFilter
- from vpn.graphql.filters import L2VPNFilter, TunnelTerminationFilter
- from wireless.graphql.enums import WirelessChannelEnum, WirelessRoleEnum
- from wireless.graphql.filters import WirelessLANFilter, WirelessLinkFilter
- from .enums import *
- __all__ = (
- 'CableFilter',
- 'CableTerminationFilter',
- 'ConsolePortFilter',
- 'ConsolePortTemplateFilter',
- 'ConsoleServerPortFilter',
- 'ConsoleServerPortTemplateFilter',
- 'DeviceFilter',
- 'DeviceBayFilter',
- 'DeviceBayTemplateFilter',
- 'DeviceRoleFilter',
- 'DeviceTypeFilter',
- 'FrontPortFilter',
- 'FrontPortTemplateFilter',
- 'InterfaceFilter',
- 'InterfaceTemplateFilter',
- 'InventoryItemFilter',
- 'InventoryItemRoleFilter',
- 'InventoryItemTemplateFilter',
- 'LocationFilter',
- 'MACAddressFilter',
- 'ManufacturerFilter',
- 'ModuleFilter',
- 'ModuleBayFilter',
- 'ModuleBayTemplateFilter',
- 'ModuleTypeFilter',
- 'ModuleTypeProfileFilter',
- 'PlatformFilter',
- 'PowerFeedFilter',
- 'PowerOutletFilter',
- 'PowerOutletTemplateFilter',
- 'PowerPanelFilter',
- 'PowerPortFilter',
- 'PowerPortTemplateFilter',
- 'RackFilter',
- 'RackReservationFilter',
- 'RackRoleFilter',
- 'RackTypeFilter',
- 'RearPortFilter',
- 'RearPortTemplateFilter',
- 'RegionFilter',
- 'SiteFilter',
- 'SiteGroupFilter',
- 'VirtualChassisFilter',
- 'VirtualDeviceContextFilter',
- )
- @strawberry_django.filter_type(models.Cable, lookups=True)
- class CableFilter(PrimaryModelFilterMixin, TenancyFilterMixin):
- type: FilterLookup[Annotated['CableTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- status: FilterLookup[Annotated['LinkStatusEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- label: FilterLookup[str] | None = strawberry_django.filter_field()
- color: FilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- length: Annotated['FloatLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- length_unit: FilterLookup[Annotated['CableLengthUnitEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- terminations: Annotated['CableTerminationFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.CableTermination, lookups=True)
- class CableTerminationFilter(ChangeLogFilterMixin):
- cable: Annotated['CableFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- cable_id: ID | None = strawberry_django.filter_field()
- cable_end: FilterLookup[Annotated['CableEndEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- termination_type: Annotated['CableTerminationFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- termination_id: ID | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.ConsolePort, lookups=True)
- class ConsolePortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin):
- type: FilterLookup[Annotated['ConsolePortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- speed: FilterLookup[Annotated['ConsolePortSpeedEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.ConsolePortTemplate, lookups=True)
- class ConsolePortTemplateFilter(ModularComponentTemplateFilterMixin):
- type: FilterLookup[Annotated['ConsolePortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.ConsoleServerPort, lookups=True)
- class ConsoleServerPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin):
- type: FilterLookup[Annotated['ConsolePortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- speed: FilterLookup[Annotated['ConsolePortSpeedEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.ConsoleServerPortTemplate, lookups=True)
- class ConsoleServerPortTemplateFilter(ModularComponentTemplateFilterMixin):
- type: FilterLookup[Annotated['ConsolePortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.Device, lookups=True)
- class DeviceFilter(
- ContactFilterMixin,
- TenancyFilterMixin,
- ImageAttachmentFilterMixin,
- RenderConfigFilterMixin,
- ConfigContextFilterMixin,
- PrimaryModelFilterMixin,
- ):
- device_type: Annotated['DeviceTypeFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- device_type_id: ID | None = strawberry_django.filter_field()
- role: Annotated['DeviceRoleFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- role_id: ID | None = strawberry_django.filter_field()
- platform: Annotated['PlatformFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- name: FilterLookup[str] | None = strawberry_django.filter_field()
- serial: FilterLookup[str] | None = strawberry_django.filter_field()
- asset_tag: FilterLookup[str] | None = strawberry_django.filter_field()
- site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- site_id: ID | None = strawberry_django.filter_field()
- location: Annotated['LocationFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- location_id: Annotated['TreeNodeFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- rack: Annotated['RackFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- rack_id: ID | None = strawberry_django.filter_field()
- position: Annotated['FloatLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- face: FilterLookup[Annotated['DeviceFaceEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- status: FilterLookup[Annotated['DeviceStatusEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- airflow: FilterLookup[Annotated['DeviceAirflowEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- primary_ip4: Annotated['IPAddressFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- primary_ip4_id: ID | None = strawberry_django.filter_field()
- primary_ip6: Annotated['IPAddressFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- primary_ip6_id: ID | None = strawberry_django.filter_field()
- oob_ip: Annotated['IPAddressFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- oob_ip_id: ID | None = strawberry_django.filter_field()
- cluster: Annotated['ClusterFilter', strawberry.lazy('virtualization.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- cluster_id: ID | None = strawberry_django.filter_field()
- virtual_chassis: Annotated['VirtualChassisFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- virtual_chassis_id: ID | None = strawberry_django.filter_field()
- vc_position: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- vc_priority: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- latitude: Annotated['FloatLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- longitude: Annotated['FloatLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- console_ports: Annotated['ConsolePortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- console_server_ports: Annotated['ConsoleServerPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- power_outlets: Annotated['PowerOutletFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- power_ports: Annotated['PowerPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- interfaces: Annotated['InterfaceFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- front_ports: Annotated['FrontPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- rear_ports: Annotated['RearPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- device_bays: Annotated['DeviceBayFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- module_bays: Annotated['ModuleBayFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- modules: Annotated['ModuleFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- console_port_count: FilterLookup[int] | None = strawberry_django.filter_field()
- console_server_port_count: FilterLookup[int] | None = strawberry_django.filter_field()
- power_port_count: FilterLookup[int] | None = strawberry_django.filter_field()
- power_outlet_count: FilterLookup[int] | None = strawberry_django.filter_field()
- interface_count: FilterLookup[int] | None = strawberry_django.filter_field()
- front_port_count: FilterLookup[int] | None = strawberry_django.filter_field()
- rear_port_count: FilterLookup[int] | None = strawberry_django.filter_field()
- device_bay_count: FilterLookup[int] | None = strawberry_django.filter_field()
- module_bay_count: FilterLookup[int] | None = strawberry_django.filter_field()
- inventory_item_count: FilterLookup[int] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.DeviceBay, lookups=True)
- class DeviceBayFilter(ComponentModelFilterMixin):
- installed_device: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- installed_device_id: ID | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.DeviceBayTemplate, lookups=True)
- class DeviceBayTemplateFilter(ComponentTemplateFilterMixin):
- pass
- @strawberry_django.filter_type(models.InventoryItemTemplate, lookups=True)
- class InventoryItemTemplateFilter(ComponentTemplateFilterMixin):
- parent: Annotated['InventoryItemTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- component_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- component_id: ID | None = strawberry_django.filter_field()
- role: Annotated['InventoryItemRoleFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- role_id: ID | None = strawberry_django.filter_field()
- manufacturer: Annotated['ManufacturerFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- manufacturer_id: ID | None = strawberry_django.filter_field()
- part_id: FilterLookup[str] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.DeviceRole, lookups=True)
- class DeviceRoleFilter(OrganizationalModelFilterMixin, RenderConfigFilterMixin):
- color: FilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- vm_role: FilterLookup[bool] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.DeviceType, lookups=True)
- class DeviceTypeFilter(ImageAttachmentFilterMixin, PrimaryModelFilterMixin, WeightFilterMixin):
- manufacturer: Annotated['ManufacturerFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- manufacturer_id: ID | None = strawberry_django.filter_field()
- model: FilterLookup[str] | None = strawberry_django.filter_field()
- slug: FilterLookup[str] | None = strawberry_django.filter_field()
- default_platform: Annotated['PlatformFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- default_platform_id: ID | None = strawberry_django.filter_field()
- part_number: FilterLookup[str] | None = strawberry_django.filter_field()
- instances: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- u_height: Annotated['FloatLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- exclude_from_utilization: FilterLookup[bool] | None = strawberry_django.filter_field()
- is_full_depth: FilterLookup[bool] | None = strawberry_django.filter_field()
- subdevice_role: FilterLookup[Annotated['SubdeviceRoleEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- airflow: FilterLookup[Annotated['DeviceAirflowEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- front_image: Annotated['ImageAttachmentFilter', strawberry.lazy('extras.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- rear_image: Annotated['ImageAttachmentFilter', strawberry.lazy('extras.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- console_port_templates: (
- Annotated['ConsolePortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- console_server_port_templates: (
- Annotated['ConsoleServerPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- power_port_templates: (
- Annotated['PowerPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- power_outlet_templates: (
- Annotated['PowerOutletTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- interface_templates: (
- Annotated['InterfaceTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- front_port_templates: (
- Annotated['FrontPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- rear_port_templates: (
- Annotated['RearPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- device_bay_templates: (
- Annotated['DeviceBayTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- module_bay_templates: (
- Annotated['ModuleBayTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- inventory_item_templates: (
- Annotated['InventoryItemTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- console_port_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- console_server_port_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- power_port_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- power_outlet_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- interface_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- front_port_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- rear_port_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- device_bay_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- module_bay_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- inventory_item_template_count: FilterLookup[int] | None = strawberry_django.filter_field()
- device_count: ComparisonFilterLookup[int] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.FrontPort, lookups=True)
- class FrontPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin):
- type: FilterLookup[Annotated['PortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- color: FilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- rear_port: Annotated['RearPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- rear_port_id: ID | None = strawberry_django.filter_field()
- rear_port_position: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.FrontPortTemplate, lookups=True)
- class FrontPortTemplateFilter(ModularComponentTemplateFilterMixin):
- type: FilterLookup[Annotated['PortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- color: FilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- rear_port: Annotated['RearPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- rear_port_id: ID | None = strawberry_django.filter_field()
- rear_port_position: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.MACAddress, lookups=True)
- class MACAddressFilter(PrimaryModelFilterMixin):
- mac_address: FilterLookup[str] | None = strawberry_django.filter_field()
- assigned_object_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- assigned_object_id: ID | None = strawberry_django.filter_field()
- @strawberry_django.filter_field()
- def assigned(self, value: bool, prefix) -> Q:
- return Q(**{f'{prefix}assigned_object_id__isnull': (not value)})
- @strawberry_django.filter_field()
- def primary(self, value: bool, prefix) -> Q:
- interface_mac_ids = models.Interface.objects.filter(primary_mac_address_id__isnull=False).values_list(
- 'primary_mac_address_id', flat=True
- )
- vminterface_mac_ids = VMInterface.objects.filter(primary_mac_address_id__isnull=False).values_list(
- 'primary_mac_address_id', flat=True
- )
- query = Q(**{f'{prefix}pk__in': interface_mac_ids}) | Q(**{f'{prefix}pk__in': vminterface_mac_ids})
- if value:
- return Q(query)
- else:
- return ~Q(query)
- @strawberry_django.filter_type(models.Interface, lookups=True)
- class InterfaceFilter(ModularComponentModelFilterMixin, InterfaceBaseFilterMixin, CabledObjectModelFilterMixin):
- vcdcs: Annotated['VirtualDeviceContextFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- lag: Annotated['InterfaceFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- lag_id: ID | None = strawberry_django.filter_field()
- type: FilterLookup[Annotated['InterfaceTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- mgmt_only: FilterLookup[bool] | None = strawberry_django.filter_field()
- speed: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- duplex: FilterLookup[Annotated['InterfaceDuplexEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- wwn: FilterLookup[str] | None = strawberry_django.filter_field()
- parent: Annotated['InterfaceFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- parent_id: ID | None = strawberry_django.filter_field()
- rf_role: FilterLookup[Annotated['WirelessRoleEnum', strawberry.lazy('wireless.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- rf_channel: FilterLookup[Annotated['WirelessChannelEnum', strawberry.lazy('wireless.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- rf_channel_frequency: Annotated['FloatLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- rf_channel_width: Annotated['FloatLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- tx_power: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- poe_mode: FilterLookup[Annotated['InterfacePoEModeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- poe_type: FilterLookup[Annotated['InterfacePoETypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- wireless_link: Annotated['WirelessLinkFilter', strawberry.lazy('wireless.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- wireless_link_id: ID | None = strawberry_django.filter_field()
- wireless_lans: Annotated['WirelessLANFilter', strawberry.lazy('wireless.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- vrf: Annotated['VRFFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field()
- vrf_id: ID | None = strawberry_django.filter_field()
- ip_addresses: Annotated['IPAddressFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- mac_addresses: Annotated['MACAddressFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- fhrp_group_assignments: Annotated['FHRPGroupAssignmentFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- tunnel_terminations: Annotated['TunnelTerminationFilter', strawberry.lazy('vpn.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- l2vpn_terminations: Annotated['L2VPNFilter', strawberry.lazy('vpn.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_field
- def connected(self, queryset, value: bool, prefix: str):
- if value is True:
- return queryset, Q(**{f"{prefix}_path__is_active": True})
- else:
- return queryset, Q(**{f"{prefix}_path__isnull": True}) | Q(**{f"{prefix}_path__is_active": False})
- @strawberry_django.filter_field
- def kind(
- self,
- queryset,
- value: Annotated['InterfaceKindEnum', strawberry.lazy('dcim.graphql.enums')],
- prefix: str
- ):
- if value == InterfaceKindEnum.KIND_PHYSICAL:
- return queryset, ~Q(**{f"{prefix}type__in": NONCONNECTABLE_IFACE_TYPES})
- elif value == InterfaceKindEnum.KIND_VIRTUAL:
- return queryset, Q(**{f"{prefix}type__in": VIRTUAL_IFACE_TYPES})
- elif value == InterfaceKindEnum.KIND_WIRELESS:
- return queryset, Q(**{f"{prefix}type__in": WIRELESS_IFACE_TYPES})
- @strawberry_django.filter_type(models.InterfaceTemplate, lookups=True)
- class InterfaceTemplateFilter(ModularComponentTemplateFilterMixin):
- type: FilterLookup[Annotated['InterfaceTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- enabled: FilterLookup[bool] | None = strawberry_django.filter_field()
- mgmt_only: FilterLookup[bool] | None = strawberry_django.filter_field()
- bridge: Annotated['InterfaceTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- bridge_id: ID | None = strawberry_django.filter_field()
- poe_mode: FilterLookup[Annotated['InterfacePoEModeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- poe_type: FilterLookup[Annotated['InterfacePoETypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- rf_role: FilterLookup[Annotated['WirelessRoleEnum', strawberry.lazy('wireless.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.InventoryItem, lookups=True)
- class InventoryItemFilter(ComponentModelFilterMixin):
- parent: Annotated['InventoryItemFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- parent_id: ID | None = strawberry_django.filter_field()
- component_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- component_id: ID | None = strawberry_django.filter_field()
- status: FilterLookup[Annotated['InventoryItemStatusEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- role: Annotated['InventoryItemRoleFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- role_id: ID | None = strawberry_django.filter_field()
- manufacturer: Annotated['ManufacturerFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- manufacturer_id: ID | None = strawberry_django.filter_field()
- part_id: FilterLookup[str] | None = strawberry_django.filter_field()
- serial: FilterLookup[str] | None = strawberry_django.filter_field()
- asset_tag: FilterLookup[str] | None = strawberry_django.filter_field()
- discovered: FilterLookup[bool] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.InventoryItemRole, lookups=True)
- class InventoryItemRoleFilter(OrganizationalModelFilterMixin):
- color: FilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.Location, lookups=True)
- class LocationFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMixin, NestedGroupModelFilterMixin):
- site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- site_id: ID | None = strawberry_django.filter_field()
- status: FilterLookup[Annotated['LocationStatusEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- facility: FilterLookup[str] | None = strawberry_django.filter_field()
- prefixes: Annotated['PrefixFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- vlan_groups: Annotated['VLANGroupFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.Manufacturer, lookups=True)
- class ManufacturerFilter(ContactFilterMixin, OrganizationalModelFilterMixin):
- pass
- @strawberry_django.filter_type(models.Module, lookups=True)
- class ModuleFilter(PrimaryModelFilterMixin, ConfigContextFilterMixin):
- device: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- device_id: ID | None = strawberry_django.filter_field()
- module_bay: Annotated['ModuleBayFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- module_bay_id: ID | None = strawberry_django.filter_field()
- module_type: Annotated['ModuleTypeFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- module_type_id: ID | None = strawberry_django.filter_field()
- status: FilterLookup[Annotated['ModuleStatusEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- serial: FilterLookup[str] | None = strawberry_django.filter_field()
- asset_tag: FilterLookup[str] | None = strawberry_django.filter_field()
- console_ports: Annotated['ConsolePortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- console_server_ports: Annotated['ConsoleServerPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- power_outlets: Annotated['PowerOutletFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- power_ports: Annotated['PowerPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- interfaces: Annotated['InterfaceFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- front_ports: Annotated['FrontPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- rear_ports: Annotated['RearPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- device_bays: Annotated['DeviceBayFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- module_bays: Annotated['ModuleBayFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- modules: Annotated['ModuleFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.ModuleBay, lookups=True)
- class ModuleBayFilter(ModularComponentModelFilterMixin):
- parent: Annotated['ModuleBayFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- parent_id: ID | None = strawberry_django.filter_field()
- position: FilterLookup[str] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.ModuleBayTemplate, lookups=True)
- class ModuleBayTemplateFilter(ModularComponentTemplateFilterMixin):
- position: FilterLookup[str] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.ModuleTypeProfile, lookups=True)
- class ModuleTypeProfileFilter(PrimaryModelFilterMixin):
- name: FilterLookup[str] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.ModuleType, lookups=True)
- class ModuleTypeFilter(ImageAttachmentFilterMixin, PrimaryModelFilterMixin, WeightFilterMixin):
- manufacturer: Annotated['ManufacturerFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- manufacturer_id: ID | None = strawberry_django.filter_field()
- profile: Annotated['ModuleTypeProfileFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- profile_id: ID | None = strawberry_django.filter_field()
- model: FilterLookup[str] | None = strawberry_django.filter_field()
- part_number: FilterLookup[str] | None = strawberry_django.filter_field()
- instances: Annotated['ModuleFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- airflow: FilterLookup[Annotated['ModuleAirflowEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- console_port_templates: (
- Annotated['ConsolePortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- console_server_port_templates: (
- Annotated['ConsoleServerPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- power_port_templates: (
- Annotated['PowerPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- power_outlet_templates: (
- Annotated['PowerOutletTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- interface_templates: (
- Annotated['InterfaceTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- front_port_templates: (
- Annotated['FrontPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- rear_port_templates: (
- Annotated['RearPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- device_bay_templates: (
- Annotated['DeviceBayTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- module_bay_templates: (
- Annotated['ModuleBayTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- inventory_item_templates: (
- Annotated['InventoryItemTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- module_count: ComparisonFilterLookup[int] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.Platform, lookups=True)
- class PlatformFilter(OrganizationalModelFilterMixin):
- manufacturer: Annotated['ManufacturerFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- manufacturer_id: ID | None = strawberry_django.filter_field()
- config_template: Annotated['ConfigTemplateFilter', strawberry.lazy('extras.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- config_template_id: ID | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.PowerFeed, lookups=True)
- class PowerFeedFilter(CabledObjectModelFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin):
- power_panel: Annotated['PowerPanelFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- power_panel_id: ID | None = strawberry_django.filter_field()
- rack: Annotated['RackFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- rack_id: ID | None = strawberry_django.filter_field()
- name: FilterLookup[str] | None = strawberry_django.filter_field()
- status: FilterLookup[Annotated['PowerFeedStatusEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- type: FilterLookup[Annotated['PowerFeedTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- supply: FilterLookup[Annotated['PowerFeedSupplyEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- phase: FilterLookup[Annotated['PowerFeedPhaseEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- voltage: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- amperage: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- max_utilization: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- available_power: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.PowerOutlet, lookups=True)
- class PowerOutletFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin):
- type: FilterLookup[Annotated['PowerOutletTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- power_port: Annotated['PowerPortFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- power_port_id: ID | None = strawberry_django.filter_field()
- feed_leg: FilterLookup[Annotated['PowerOutletFeedLegEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- color: FilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.PowerOutletTemplate, lookups=True)
- class PowerOutletTemplateFilter(ModularComponentModelFilterMixin):
- type: FilterLookup[Annotated['PowerOutletTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- power_port: Annotated['PowerPortTemplateFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- power_port_id: ID | None = strawberry_django.filter_field()
- feed_leg: FilterLookup[Annotated['PowerOutletFeedLegEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.PowerPanel, lookups=True)
- class PowerPanelFilter(ContactFilterMixin, ImageAttachmentFilterMixin, PrimaryModelFilterMixin):
- site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- site_id: ID | None = strawberry_django.filter_field()
- location: Annotated['LocationFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- location_id: Annotated['TreeNodeFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- name: FilterLookup[str] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.PowerPort, lookups=True)
- class PowerPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin):
- type: FilterLookup[Annotated['PowerPortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- maximum_draw: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- allocated_draw: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.PowerPortTemplate, lookups=True)
- class PowerPortTemplateFilter(ModularComponentTemplateFilterMixin):
- type: FilterLookup[Annotated['PowerPortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- maximum_draw: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- allocated_draw: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.RackType, lookups=True)
- class RackTypeFilter(RackBaseFilterMixin):
- form_factor: FilterLookup[Annotated['RackFormFactorEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- manufacturer: Annotated['ManufacturerFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- manufacturer_id: ID | None = strawberry_django.filter_field()
- model: FilterLookup[str] | None = strawberry_django.filter_field()
- slug: FilterLookup[str] | None = strawberry_django.filter_field()
- racks: Annotated['RackFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- rack_count: ComparisonFilterLookup[int] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.Rack, lookups=True)
- class RackFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMixin, RackBaseFilterMixin):
- form_factor: FilterLookup[Annotated['RackFormFactorEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- rack_type: Annotated['RackTypeFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- rack_type_id: ID | None = strawberry_django.filter_field()
- name: FilterLookup[str] | None = strawberry_django.filter_field()
- facility_id: FilterLookup[str] | None = strawberry_django.filter_field()
- site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- site_id: ID | None = strawberry_django.filter_field()
- location: Annotated['LocationFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- location_id: Annotated['TreeNodeFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- status: FilterLookup[Annotated['RackStatusEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- role: Annotated['RackRoleFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- role_id: ID | None = strawberry_django.filter_field()
- serial: FilterLookup[str] | None = strawberry_django.filter_field()
- asset_tag: FilterLookup[str] | None = strawberry_django.filter_field()
- airflow: FilterLookup[Annotated['RackAirflowEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- vlan_groups: Annotated['VLANGroupFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.RackReservation, lookups=True)
- class RackReservationFilter(TenancyFilterMixin, PrimaryModelFilterMixin):
- rack: Annotated['RackFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- rack_id: ID | None = strawberry_django.filter_field()
- units: Annotated['IntegerArrayLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- user: Annotated['UserFilter', strawberry.lazy('users.graphql.filters')] | None = strawberry_django.filter_field()
- user_id: ID | None = strawberry_django.filter_field()
- description: FilterLookup[str] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.RackRole, lookups=True)
- class RackRoleFilter(OrganizationalModelFilterMixin):
- color: FilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.RearPort, lookups=True)
- class RearPortFilter(ModularComponentModelFilterMixin, CabledObjectModelFilterMixin):
- type: FilterLookup[Annotated['PortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- color: FilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- positions: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.RearPortTemplate, lookups=True)
- class RearPortTemplateFilter(ModularComponentTemplateFilterMixin):
- type: FilterLookup[Annotated['PortTypeEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- color: FilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- positions: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.Region, lookups=True)
- class RegionFilter(ContactFilterMixin, NestedGroupModelFilterMixin):
- prefixes: Annotated['PrefixFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- vlan_groups: Annotated['VLANGroupFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.Site, lookups=True)
- class SiteFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin):
- name: FilterLookup[str] | None = strawberry_django.filter_field()
- slug: FilterLookup[str] | None = strawberry_django.filter_field()
- status: FilterLookup[Annotated['SiteStatusEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- region: Annotated['RegionFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- region_id: Annotated['TreeNodeFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- group: Annotated['SiteGroupFilter', strawberry.lazy('dcim.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- group_id: Annotated['TreeNodeFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- facility: FilterLookup[str] | None = strawberry_django.filter_field()
- asns: Annotated['ASNFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field()
- time_zone: FilterLookup[str] | None = strawberry_django.filter_field()
- physical_address: FilterLookup[str] | None = strawberry_django.filter_field()
- shipping_address: FilterLookup[str] | None = strawberry_django.filter_field()
- latitude: Annotated['FloatLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- longitude: Annotated['FloatLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- prefixes: Annotated['PrefixFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- vlan_groups: Annotated['VLANGroupFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.SiteGroup, lookups=True)
- class SiteGroupFilter(ContactFilterMixin, NestedGroupModelFilterMixin):
- prefixes: Annotated['PrefixFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- vlan_groups: Annotated['VLANGroupFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- @strawberry_django.filter_type(models.VirtualChassis, lookups=True)
- class VirtualChassisFilter(PrimaryModelFilterMixin):
- master: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- master_id: ID | None = strawberry_django.filter_field()
- name: FilterLookup[str] | None = strawberry_django.filter_field()
- domain: FilterLookup[str] | None = strawberry_django.filter_field()
- members: (
- Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
- member_count: FilterLookup[int] | None = strawberry_django.filter_field()
- @strawberry_django.filter_type(models.VirtualDeviceContext, lookups=True)
- class VirtualDeviceContextFilter(TenancyFilterMixin, PrimaryModelFilterMixin):
- device: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
- device_id: ID | None = strawberry_django.filter_field()
- name: FilterLookup[str] | None = strawberry_django.filter_field()
- status: FilterLookup[Annotated['VirtualDeviceContextStatusEnum', strawberry.lazy('dcim.graphql.enums')]] | None = (
- strawberry_django.filter_field()
- )
- identifier: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
- strawberry_django.filter_field()
- )
- primary_ip4: Annotated['IPAddressFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- primary_ip4_id: ID | None = strawberry_django.filter_field()
- primary_ip6: Annotated['IPAddressFilter', strawberry.lazy('ipam.graphql.filters')] | None = (
- strawberry_django.filter_field()
- )
- primary_ip6_id: ID | None = strawberry_django.filter_field()
- comments: FilterLookup[str] | None = strawberry_django.filter_field()
- interfaces: (
- Annotated['InterfaceFilter', strawberry.lazy('dcim.graphql.filters')] | None
- ) = strawberry_django.filter_field()
|