
    >Tfxw              	       <   d dl mZmZmZ d dlZd dlZd dlmZ d dlm	Z	 d dl
mZmZmZmZmZ d dlmZmZ d dlmZ d dlmZmZmZ d	d
lT d	dlmZmZ dZej         G d deeee                      Zej         G d de                      Z ej         G d dee                      Z!ej         G d de!                      Z" ej        e	j#        de$           G d de                      Z% ej        e	j&        de'           G d de                      Z( ej        e	j)        de*           G d de ee                      Z+ ej        e	j,        de-           G d  d!e"                      Z. ej        e	j/        de0           G d" d#e ee                      Z1 ej        e	j2        de3           G d$ d%e"                      Z4 ej        e	j5        de6           G d& d'eeee                      Z7 ej        e	j8        de9           G d( d)e                      Z: ej        e	j;        de<           G d* d+e!                      Z= ej        e	j>        d,e?           G d- d.e!                      Z@ ej        e	jA        deB           G d/ d0e                      ZC ej        e	j7        deD           G d1 d2e                      ZE ej        e	jF        deG           G d3 d4e e                      ZH ej        e	jI        deJ           G d5 d6e"                      ZK ej        e	jL        deM           G d7 d8ee ee                      ZN ej        e	jO        deP           G d9 d:e"                      ZQ ej        e	jR        d,eS           G d; d<e                      ZT ej        e	jU        deV           G d= d>e                      ZW ej        e	jX        d?eY           G d@ dAeeee                      ZZ ej        e	j[        de\           G dB dCee                      Z] ej        e	j^        de_           G dD dEe                      Z` ej        e	ja        d?eb           G dF dGe                       Zc ej        e	jd        dee           G dH dIe"                      Zf ej        e	j`        deg           G dJ dKe                      Zh ej        e	ji        dej           G dL dMe                      Zk ej        e	jl        dem           G dN dOeee                      Zn ej        e	jo        dep           G dP dQe ee                      Zq ej        e	jr        des           G dR dSe"                      Zt ej        e	ju        dev           G dT dUee                      Zw ej        e	jx        dey           G dV dWe ee                      Zz ej        e	j{        de|           G dX dYe"                      Z} ej        e	j~        de           G dZ d[e                      Z ej        e	j        de           G d\ d]eeee                      Z~ ej        e	j        de           G d^ d_e                      Z ej        e	j        de           G d` dae                      Z ej        e	j        de           G db dce e                      Z ej        e	j        de           G dd dee"                      Z ej        e	j        d?e           G df dgeee                      Z ej        e	j        de           G dh dieeee                      Z ej        e	j        d?e           G dj dkeee                      Z ej        e	j        de           G dl dme                      Z ej        e	j        de           G dn doe                      ZdS )p    )	AnnotatedListUnionN)ChangelogMixin)models)ConfigContextMixinContactsMixinCustomFieldsMixinImageAttachmentsMixin	TagsMixin)IPAddressesMixinVLANGroupsMixin)BigInt)BaseObjectTypeNetBoxObjectTypeOrganizationalObjectType   )*)CabledObjectMixinPathEndpointMixin)+	CableTypeComponentTypeConsolePortTypeConsolePortTemplateTypeConsoleServerPortTypeConsoleServerPortTemplateType
DeviceTypeDeviceBayTypeDeviceBayTemplateTypeDeviceRoleTypeDeviceTypeTypeFrontPortTypeFrontPortTemplateTypeInterfaceTypeInterfaceTemplateTypeInventoryItemTypeInventoryItemRoleTypeInventoryItemTemplateTypeLocationTypeManufacturerTypeModularComponentType
ModuleTypeModuleBayTypeModuleBayTemplateTypeModuleTypeTypePlatformTypePowerFeedTypePowerOutletTypePowerOutletTemplateTypePowerPanelTypePowerPortTypePowerPortTemplateTypeRackTypeRackReservationTypeRackRoleTypeRackTypeTypeRearPortTypeRearPortTemplateType
RegionTypeSiteTypeSiteGroupTypeVirtualChassisTypeVirtualDeviceContextTypec                   T    e Zd ZU dZeed<   ed ej        d          f         ed<   dS )r   ,
    Base type for device/VM components
    _namer   dcim.graphql.typesdeviceN	__name__
__module____qualname____doc__str__annotations__r   
strawberrylazy     7/var/www/html/netbox-4.1.3/netbox/dcim/graphql/types.pyr   r   E   sJ           JJJlOJO4H$I$IIJJJJJJrQ   r   c                   L    e Zd ZU ed ej        d          f         dz  ed<   dS )r+   r,   rE   NmodulerH   rI   rJ   r   rN   rO   rM   rP   rQ   rR   r+   r+   S   s:         lOJO4H$I$IIJTQQQQQQrQ   r+   c                   T    e Zd ZU dZeed<   ed ej        d          f         ed<   dS )ComponentTemplateTyperC   rD   r!   rE   device_typeNrG   rP   rQ   rR   rW   rW   X   sK         
  JJJ+_Z_=Q-R-RRSSSSSSrQ   rW   c                       e Zd ZU dZed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   dS )ModularComponentTemplateTypezb
    Base type for ComponentTemplateModel which supports optional assignment to a ModuleType.
    r!   rE   NrX   r/   module_type)rH   rI   rJ   rK   r   rN   rO   rM   rP   rQ   rR   rZ   rZ   d   sr           +_Z_=Q-R-RRSVZZZZZ+_Z_=Q-R-RRSVZZZZZZZrQ   rZ   )termination_typetermination_id)excludefiltersc                      e Zd ZU eeed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         ed	 ej        d          f         ed
 ej        d          f         ed ej        d          f         f	          ej        d          f         dz  ed<   dS )CableTerminationTypeCircuitTerminationTypecircuits.graphql.typesr   rE   r   r"   r$   r1   r2   r5   r;   CableTerminationTerminationTypeNtermination)	rH   rI   rJ   r   r   rN   rO   unionrM   rP   rQ   rR   ra   ra   q   sS         5*OJO<T,U,UUV#_Z_5I%J%JJK)?:?;O+P+PPQ/?:?3G#H#HHI/?:?3G#H#HHI/?:?3G#H#HHI#_Z_5I%J%JJK/?:?3G#H#HHI./*/2F"G"GGH	J
 z9::
; 
< ?C
C 
C 
C 
C 
C 
CrQ   ra   __all__)fieldsr_   c                   D   e Zd ZU eed<   ed ej        d          f         dz  ed<   ee	         ed<   eee
ed ej        d          f         ed	 ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         f	          ej        d          f                  ed<   eee
ed ej        d          f         ed	 ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         ed ej        d
          f         f	          ej        d          f                  ed<   dS )r   color
TenantTypetenancy.graphql.typesNtenantterminationsrb   rc   r   rE   r   r"   r$   r1   r2   r5   r;   rd   a_terminationsb_terminations)rH   rI   rJ   rL   rM   r   rN   rO   r   ra   r   rf   rP   rQ   rR   r   r      s         JJJlOJO4K$L$LLMPTTTTT+,,,,5*OJO<T,U,UUV#_Z_5I%J%JJK)?:?;O+P+PPQ/?:?3G#H#HHI/?:?3G#H#HHI/?:?3G#H#HHI#_Z_5I%J%JJK/?:?3G#H#HHI./*/2F"G"GGH	J
$ z9::
$; 
< 
= 
= 
= 
= 5*OJO<T,U,UUV#_Z_5I%J%JJK)?:?;O+P+PPQ/?:?3G#H#HHI/?:?3G#H#HHI/?:?3G#H#HHI#_Z_5I%J%JJK/?:?3G#H#HHI./*/2F"G"GGH	J
$ z9::
$; 
< 
= 
= 
= 
= 
= 
=rQ   r   )_pathc                       e Zd ZdS )r   NrH   rI   rJ   rP   rQ   rR   r   r               	DrQ   r   c                       e Zd ZU eed<   dS )r   rD   NrH   rI   rJ   rL   rM   rP   rQ   rR   r   r                JJJJJrQ   r   c                       e Zd ZdS )r   Nrs   rP   rQ   rR   r   r      rt   rQ   r   c                       e Zd ZU eed<   dS )r   rD   Nrv   rP   rQ   rR   r   r      rw   rQ   r   c                      e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed	<   eed
<   eed<   ed ej        d          f         dz  ed<   ed ej        d          f         ed<   ed ej        d          f         ed<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   ed ej        d          f         ed<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   ed  ej        d!          f         dz  ed"<   ed  ej        d!          f         dz  ed#<   ed  ej        d!          f         dz  ed$<   ed% ej        d&          f         dz  ed'<   ed( ej        d          f         dz  ed)<   e	ed* ej        d&          f                  ed+<   e	ed, ej        d          f                  ed-<   e	ed. ej        d          f                  ed/<   e	ed0 ej        d          f                  ed1<   e	ed2 ej        d          f                  ed3<   e	ed4 ej        d          f                  ed5<   e	ed6 ej        d          f                  ed7<   e	ed8 ej        d          f                  ed9<   e	ed: ej        d          f                  ed;<   e	ed< ej        d          f                  ed=<   e	ed> ej        d          f                  ed?<   e	ed@ ej        d!          f                  edA<   e	edB ej        d          f                  edC<   e	edD ej        d          f                  edE<   e
j        dFed( ej        d          f         dz  fdG            Ze
j        dFedH ej        d          f         dz  fdI            ZdS )Jr   rD   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ConfigTemplateTypeextras.graphql.typesNconfig_templater!   rE   rX   r    rolerk   rl   rm   r0   platformr>   siter)   locationr7   rackIPAddressTypeipam.graphql.typesprimary_ip4primary_ip6oob_ipClusterTypevirtualization.graphql.typesclusterr@   virtual_chassisVirtualMachineTypevirtual_machinesr,   modulesr$   
interfacesr;   	rearportsr   consoleportsr5   
powerportsra   cabletermination_setr   consoleserverportsr2   poweroutletsr"   
frontportsr-   
modulebaysServiceTypeservicesr&   inventoryitemsrA   vdcsreturnc                 4    t          | d          r| j        nd S )Nvc_master_for)hasattrr   selfs    rR   r   zDeviceType.vc_master_for   s    %,T?%C%CMt!!MrQ   r   c                 4    t          | d          r| j        nd S )N
parent_bay)r   r   r   s    rR   r   zDeviceType.parent_bay   s    ")$"="=Gt4GrQ   )rH   rI   rJ   rL   rM   r   r   rN   rO   r   strawberry_djangofieldr   r   rP   rQ   rR   r   r      sq         JJJ%%%%    3_Z_E[5\5\\]`ddddd+_Z_=Q-R-RRSSSS
$ojo6J&K&KK
LLLLlOJO4K$L$LLMPTTTTT
8L(M(MMNQUUUUU
J
0D E EE
FFFF
8L(M(MMNQUUUUU
J
0D E EE
F
MMMM?OJO<P,Q,QQRUYYYYY?OJO<P,Q,QQRUYYYYYoz7K'L'LLMPTTTTT}ojo6T&U&UUVY]]]]]3_Z_EY5Z5ZZ[^bbbbb9%9?:?Ki;j;j%jkllll)L/*/:N*O*OOPQQQQY
@T0U0UUVWWWWInojo>R.S.SSTUUUUy!2OJODX4Y4Y!YZ[[[[Y
@T0U0UUVWWWWy)?QeAfAf)fghhhhY'>
Pd@e@e'efggggy!2OJODX4Y4Y!YZ[[[[Y
@T0U0UUVWWWWY
@T0U0UUVWWWW9]OJO<P,Q,QQRSSSS#6
H\8]8]#]^____
y3_Z_EY5Z5ZZ[
\\\\Ny)=zOc?d?d)dehll N N N N HIozG[7\7\&\]`dd H H H H H HrQ   r   c                   L    e Zd ZU ed ej        d          f         dz  ed<   dS )r   r   rE   Ninstalled_devicerU   rP   rQ   rR   r   r     s=           ojo>R.S.S STW[[[[[[[rQ   r   c                       e Zd ZU eed<   dS )r   rD   Nrv   rP   rQ   rR   r   r     rw   rQ   r   )component_typecomponent_idparentc                      e Zd ZU eed<   ed ej        d          f         dz  ed<   ed ej        d          f         ed<   ej	        ded  ej        d          f         dz  fd	            Z
eed  ej        d          f                  ed
<   eeed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         f          ej        d          f         dz  ed<   dS )r(   rD   r'   rE   Nr   r*   manufacturerr   c                     | j         S Nr   r   s    rR   r   z InventoryItemTemplateType.parent   
    {rQ   child_itemsr   r   r"   r$   r2   r5   r;   "InventoryItemTemplateComponentType	component)rH   rI   rJ   rL   rM   r   rN   rO   r   r   r   r   r   rf   rP   rQ   rR   r(   r(     s         JJJ
+_Z_=Q-R-RR
SVZ
ZZZZ.
@T0U0UUVVVV	"=zOc?d?d"dehll     i ;_Z_Ma=b=b bcdddd#_Z_5I%J%JJK)?:?;O+P+PPQ/?:?3G#H#HHI/?:?3G#H#HHI#_Z_5I%J%JJK/?:?3G#H#HHI./*/2F"G"GGH	J z<==> ? BFF F F F F FrQ   r(   c                       e Zd ZU eed<   ed ej        d          f         dz  ed<   eed ej        d          f                  ed<   eed	 ej        d
          f                  ed<   dS )r    rj   r   r   Nr   r   r   r   r   rE   devices	rH   rI   rJ   rL   rM   r   rN   rO   r   rP   rQ   rR   r    r    1  s          JJJ3_Z_E[5\5\\]`ddddd9%9?:?Ki;j;j%jkllll)L/*/:N*O*OOPQQQQQQrQ   r    c                      e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed	<   eed
<   ej        j        j        dz  ed<   ej        j        j        dz  ed<   e	d e
j        d          f         ed<   e	d e
j        d          f         dz  ed<   ee	d e
j        d          f                  ed<   ee	d e
j        d          f                  ed<   ee	d e
j        d          f                  ed<   ee	d e
j        d          f                  ed<   ee	d e
j        d          f                  ed<   ee	d e
j        d          f                  ed<   ee	d e
j        d          f                  ed <   ee	d! e
j        d          f                  ed"<   ee	d# e
j        d          f                  ed$<   ee	d% e
j        d          f                  ed&<   ee	d' e
j        d          f                  ed(<   dS ))r!   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_countNfront_image
rear_imager*   rE   r   r0   default_platformr#   frontporttemplatesr.   modulebaytemplatesr   	instancesr3   poweroutlettemplatesr6   powerporttemplatesr(   inventoryitemtemplatesr<   rearporttemplatesr   consoleserverporttemplatesr%   interfacetemplatesr   devicebaytemplatesr   consoleporttemplates)rH   rI   rJ   r   rM   r   rh   typesDjangoImageTyper   rN   rO   r   rP   rQ   rR   r!   r!   >  s         "('''(....%%%%!''''$$$$%%%%$$$$%%%%%%%%#))))")/?$FFFF!(.>EEEE.
@T0U0UUVVVV
@T0U0U UVY]]]]]Y'>
Pd@e@e'efggggY'>
Pd@e@e'efggggIlOJO<P,Q,QQRSSSSy)BOJOThDiDi)ijkkkkY'>
Pd@e@e'efgggg +F
XlHmHm+m!nooooI&<ojoNb>c>c&cdeeee $Y/NP_PZP_`tPuPu/u%v wwwwY'>
Pd@e@e'efggggY'>
Pd@e@e'efggggy)BOJOThDiDi)ijkkkkkkrQ   r!   c                   P    e Zd ZU eed<   ed ej        d          f         ed<   dS )r"   rj   r;   rE   	rear_portNrH   rI   rJ   rL   rM   r   rN   rO   rP   rQ   rR   r"   r"   `  s@          JJJ9M)N)NNOOOOOOrQ   r"   c                   Z    e Zd ZU eed<   eed<   ed ej        d          f         ed<   dS )r#   rD   rj   r<   rE   r   Nr   rP   rQ   rR   r#   r#   j  sJ          JJJJJJ/AU1V1VVWWWWWWrQ   r#   c                   $   e Zd ZU edz  ed<   edz  ed<   ed  ej        d          f         dz  ed<   ed  ej        d          f         dz  ed<   ed  ej        d          f         dz  ed<   ed ej        d	          f         dz  ed
<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed  ej        d          f                  ed<   eed ej        d	          f                  ed<   eed  ej        d          f                  ed<   eed  ej        d          f                  ed<   dS )r$   Nmac_addresswwnrE   r   bridgelagWirelessLinkTypezwireless.graphql.typeswireless_linkVLANTyper   untagged_vlanVRFTypevrfrA   r   tagged_vlansbridge_interfacesWirelessLANTypewireless_lansmember_interfaceschild_interfacesr   rP   rQ   rR   r$   r$   u  s         t	tOOOoz7K'L'LLMPTTTTToz7K'L'LLMPTTTTT	?OJO4H$I$II	JT	QQQQ/AY1Z1ZZ[^bbbbbZ9M)N)NNORVVVVV	9ojo.BCCC	Dt	KKKK
y3_Z_EY5Z5ZZ[
\\\\y_Z_=Q-R-R!RSTTTTIozG[7\7\&\]^^^^	"3_Z_E]5^5^"^_````IozG[7\7\&\]^^^^9_ojoFZ6[6[%[\]]]]]]rQ   r$   c                       e Zd ZU eed<   ed  ej        d          f         dz  ed<   eed  ej        d          f                  ed<   dS )r%   rD   rE   Nr   r   r   rP   rQ   rR   r%   r%     sp          JJJ-z?S/T/TTUX\\\\\I&=zOc?d?d&deffffffrQ   r%   c                      e Zd ZU ed ej        d          f         dz  ed<   ed ej        d          f         ed<   eed  ej        d          f                  ed<   ej	        ded  ej        d          f         dz  fd	            Z
eeed
 ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         ed ej        d          f         f          ej        d          f         dz  ed<   dS )r&   r'   rE   Nr   r*   r   r   r   c                     | j         S r   r   r   s    rR   r   zInventoryItemType.parent  r   rQ   r   r   r"   r$   r2   r5   r;   InventoryItemComponentTyper   )rH   rI   rJ   r   rN   rO   rM   r   r   r   r   r   rf   rP   rQ   rR   r&   r&     s         +_Z_=Q-R-RR
SVZ
ZZZZ.
@T0U0UUVVVVi 3_Z_EY5Z5Z Z[\\\\	"5zG[7\7\"\]`dd     #_Z_5I%J%JJK)?:?;O+P+PPQ/?:?3G#H#HHI/?:?3G#H#HHI#_Z_5I%J%JJK/?:?3G#H#HHI./*/2F"G"GGH	J z4556 7 :>> > > > > >rQ   r&   c                       e Zd ZU eed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   dS )r'   rj   r&   rE   inventory_itemsr(   inventory_item_templatesN	rH   rI   rJ   rL   rM   r   r   rN   rO   rP   rQ   rR   r'   r'     so          JJJ)$7I]9^9^$^_````"9-H/*/ZnJoJo-o#pqqqqqqrQ   r'   r   c                      e Zd ZU ed ej        d          f         ed<   ed ej        d          f         dz  ed<   ed  ej        d          f         dz  ed<   eed	 ej        d          f                  ed
<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed  ej        d          f                  ed<   dS )r)   r>   rE   r   rk   rl   Nrm   r   r4   powerpanel_setra   r   r7   racksr   r   childrenrH   rI   rJ   r   rN   rO   rM   r   rP   rQ   rR   r)   r)     sR         J
0D E EE
FFFFlOJO4K$L$LLMPTTTTTnojo6J&K&KKLtSSSS#3_Z_EY5Z5Z#Z[\\\\y)?QeAfAf)fghhhh	*ojo6J&K&KKLMMMM)L/*/:N*O*OOPQQQQ9^_Z_=Q-R-RRSTTTTTTrQ   r)   c                   Z   e Zd ZU eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed	<   eed
 ej        d          f                  ed<   dS )r*   r0   rE   	platformsr   device_typesr(   r   r&   r   r,   module_typesNrH   rI   rJ   r   r   rN   rO   rM   rP   rQ   rR   r*   r*     s          Inojo>R.S.SSTUUUUyz?S/T/T!TUVVVV"9-H/*/ZnJoJo-o#pqqqq)$7I]9^9^$^_````yz?S/T/T!TUVVVVVVrQ   r*   c                      e Zd ZU ed ej        d          f         ed<   ed ej        d          f         ed<   ed ej        d          f         ed<   eed ej        d          f                  ed	<   eed
 ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   dS )r,   r   rE   rF   r-   
module_bayr/   r[   r$   r   r5   r   r   r   r   r   r2   r   r;   r   r"   r   Nr   rP   rQ   rR   r,   r,     s         lOJO4H$I$IIJJJJ/?:?;O+P+PPQQQQ+_Z_=Q-R-RRSSSSY
@T0U0UUVWWWWY
@T0U0UUVWWWWY'>
Pd@e@e'efggggy!2OJODX4Y4Y!YZ[[[[y!2OJODX4Y4Y!YZ[[[[Inojo>R.S.SSTUUUUY
@T0U0UUVWWWWWWrQ   r,   c                       e Zd ZU ed ej        d          f         dz  ed<   eed  ej        d          f                  ed<   ej	        ded  ej        d          f         dz  fd            Z
dS )r-   r,   rE   Ninstalled_moduler   r   c                     | j         S r   r   r   s    rR   r   zModuleBayType.parent  r   rQ   )rH   rI   rJ   r   rN   rO   rM   r   r   r   r   rP   rQ   rR   r-   r-     s           ojo>R.S.S STW[[[[[9_ojo>R.S.SSTUUUU	/?:?CW3X3X"XY\``      rQ   r-   c                       e Zd ZU eed<   dS )r.   rD   Nrv   rP   rQ   rR   r.   r.     rw   rQ   r.   c                   V   e Zd ZU ed ej        d          f         ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed	<   eed
 ej        d          f                  ed<   eed
 ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   dS )r/   r*   rE   r   r#   r   r   r   r%   r   r3   r   r   r<   r   r$   r   r,   r   Nr   rP   rQ   rR   r/   r/   
  s         .
@T0U0UUVVVVY'>
Pd@e@e'efgggg $Y/NP_PZP_`tPuPu/u%v wwwwY'>
Pd@e@e'efggggY'@/*/RfBgBg'ghiiiiy)BOJOThDiDi)ijkkkkI&<ojoNb>c>c&cdeeeeIoz?S/T/TTUVVVVyzG[7\7\)\]^^^^^^rQ   r/   c                      e Zd ZU ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   eed ej        d	          f                  ed
<   eed ej        d          f                  ed<   dS )r0   r*   rE   Nr   r   r   r   r   r   r   r   r   r   rP   rQ   rR   r0   r0     s          .
@T0U0UUVY]]]]]3_Z_E[5\5\\]`ddddd9%9?:?Ki;j;j%jkllll)L/*/:N*O*OOPQQQQQQrQ   r0   c                       e Zd ZU ed ej        d          f         ed<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed	<   dS )
r1   r4   rE   power_panelr7   Nr   rk   rl   rm   rU   rP   rQ   rR   r1   r1   )  s          +_Z_=Q-R-RRSSSS
J
0D E EE
F
MMMMlOJO4K$L$LLMPTTTTTTTrQ   r1   c                   L    e Zd ZU ed ej        d          f         dz  ed<   dS )r2   r5   rE   N
power_portrU   rP   rQ   rR   r2   r2   4  s=          /?:?;O+P+PPQTXXXXXXXrQ   r2   c                   V    e Zd ZU eed<   ed ej        d          f         dz  ed<   dS )r3   rD   r6   rE   Nr  r   rP   rQ   rR   r3   r3   =  sG          JJJ1?:?CW3X3XXY\```````rQ   r3   c                       e Zd ZU ed ej        d          f         ed<   ed ej        d          f         dz  ed<   eed ej        d          f                  ed<   dS )	r4   r>   rE   r   r)   Nr   r1   
powerfeedsr   rP   rQ   rR   r4   r4   G  s          J
0D E EE
FFFF
8L(M(MMNQUUUUUY
@T0U0UUVWWWWWWrQ   r4   c                   R    e Zd ZU eed ej        d          f                  ed<   dS )r5   r2   rE   r   Nr  rP   rQ   rR   r5   r5   S  s=          y!2OJODX4Y4Y!YZ[[[[[[rQ   r5   c                   \    e Zd ZU eed<   eed ej        d          f                  ed<   dS )r6   rD   r3   rE   poweroutlet_templatesNr   rP   rQ   rR   r6   r6   ]  sF          JJJ	*C_Z_UiEjEj*j kllllllrQ   r6   c                   F    e Zd ZU ed ej        d          f         ed<   dS )r:   r*   rE   r   NrU   rP   rQ   rR   r:   r:   h  s8          .
@T0U0UUVVVVVVrQ   r:   c                   H   e Zd ZU eed<   ed ej        d          f         ed<   ed ej        d          f         dz  ed<   ed ej        d	          f         dz  ed
<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   dS )r7   rD   r>   rE   r   r)   Nr   rk   rl   rm   r9   r   r:   	rack_typer8   reservationsr   r   r1   r  ra   r   r   rP   rQ   rR   r7   r7   q  s         JJJ
J
0D E EE
FFFF
8L(M(MMNQUUUUUlOJO4K$L$LLMPTTTTT
NOJO4H$I$II
JT
QQQQ9M)N)NNORVVVVVy!6
H\8]8]!]^____)L/*/:N*O*OOPQQQQY
@T0U0UUVWWWWy)?QeAfAf)fghhhhhhrQ   r7   c                       e Zd ZU ee         ed<   ed ej        d          f         ed<   ed ej        d          f         dz  ed<   ed	 ej        d
          f         ed<   dS )r8   unitsr7   rE   r   rk   rl   Nrm   UserTypezusers.graphql.typesuser)	rH   rI   rJ   r   intrM   r   rN   rO   rP   rQ   rR   r8   r8     s          9
J
0D E EE
FFFFlOJO4K$L$LLMPTTTTT
J
0E F FF
GGGGGGrQ   r8   c                   \    e Zd ZU eed<   eed ej        d          f                  ed<   dS )r9   rj   r7   rE   r   Nr   rP   rQ   rR   r9   r9     sE          JJJ	*ojo6J&K&KKLMMMMMMrQ   r9   c                   \    e Zd ZU eed<   eed ej        d          f                  ed<   dS )r;   rj   r"   rE   r   Nr   rP   rQ   rR   r;   r;     sE          JJJY
@T0U0UUVWWWWWWrQ   r;   c                   f    e Zd ZU eed<   eed<   eed ej        d          f                  ed<   dS )r<   rD   rj   r#   rE   frontport_templatesNr   rP   rQ   rR   r<   r<     sO          JJJJJJi(?QeAfAf(fghhhhhhrQ   r<   c                       e Zd ZU eed ej        d          f                  ed<   eed  ej        d          f                  ed<   ej	        ded  ej        d          f         dz  fd            Z
dS )r=   r>   rE   sitesr   r   Nc                     | j         S r   r   r   s    rR   r   zRegionType.parent  r   rQ   rH   rI   rJ   r   r   rN   rO   rM   r   r   r   rP   rQ   rR   r=   r=     s          	*ojo6J&K&KKLMMMM9\?:?;O+P+PPQRRRR	,
@T0U0U"UVY]]      rQ   r=   c                      e Zd ZU eed<   edz  ed<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   ed	 ej        d
          f         dz  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed<   eed ej        d          f                  ed <   eed! ej        d          f                  ed"<   eed# ej        d          f                  ed$<   dS )%r>   rD   N	time_zoner=   rE   regionr?   grouprk   rl   rm   
PrefixTyper   prefixesr   r   r   r7   r   ra   r   r4   r   r   r   r)   	locationsASNTypeasnsrb   rc   circuit_terminationsr   clustersr   vlansr   rP   rQ   rR   r>   r>     sb         JJJTzlOJO4H$I$IIJTQQQQ_ojo6J&K&KKLtSSSSlOJO4K$L$LLMPTTTTT9\?:?;O+P+PPQRRRR9%9?:?Ki;j;j%jkllll	*ojo6J&K&KKLMMMMy)?QeAfAf)fghhhh#3_Z_EY5Z5Z#Z[\\\\)L/*/:N*O*OOPQQQQInojo>R.S.SSTUUUU
yOJO4H$I$IIJ
KKKKy)A?:?SkClCl)lmnnnn9]OJO<Z,[,[[\]]]]	*ojo6J&K&KKLMMMMMMrQ   r>   c                       e Zd ZU eed ej        d          f                  ed<   eed  ej        d          f                  ed<   ej	        ded  ej        d          f         dz  fd            Z
dS )r?   r>   rE   r$  r   r   Nc                     | j         S r   r   r   s    rR   r   zSiteGroupType.parent  r   rQ   r&  rP   rQ   rR   r?   r?     s          	*ojo6J&K&KKLMMMM9_ojo>R.S.SSTUUUU	/?:?CW3X3X"XY\``      rQ   r?   c                       e Zd ZU eed<   ed ej        d          f         dz  ed<   eed ej        d          f                  ed<   dS )r@   member_countr   rE   Nmastermembers)	rH   rI   rJ   r   rM   r   rN   rO   r   rP   rQ   rR   r@   r@     sp          lOJO4H$I$IIJTQQQQ)L/*/:N*O*OOPQQQQQQrQ   r@   c                   B   e Zd ZU ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   ed	 ej        d
          f         dz  ed<   eed ej        d          f                  ed<   dS )rA   r   rE   NrF   r   r   r   r   rk   rl   rm   r$   r   r   rP   rQ   rR   rA   rA     s          lOJO4H$I$IIJTQQQQ?OJO<P,Q,QQRUYYYYY?OJO<P,Q,QQRUYYYYYlOJO4K$L$LLMPTTTTTY
@T0U0UUVWWWWWWrQ   rA   )typingr   r   r   rN   r   core.graphql.mixinsr   dcimr   extras.graphql.mixinsr   r	   r
   r   r   ipam.graphql.mixinsr   r   netbox.graphql.scalarsr   netbox.graphql.typesr   r   r   r_   mixinsr   r   rg   typer   r+   rW   rZ   CableTerminationCableTerminationFilterra   CableCableFilterr   ConsolePortConsolePortFilterr   ConsolePortTemplateConsolePortTemplateFilterr   ConsoleServerPortConsoleServerPortFilterr   ConsoleServerPortTemplateConsoleServerPortTemplateFilterr   DeviceDeviceFilterr   	DeviceBayDeviceBayFilterr   DeviceBayTemplateDeviceBayTemplateFilterr   InventoryItemTemplateInventoryItemTemplateFilterr(   
DeviceRoleDeviceRoleFilterr    DeviceTypeFilterr!   	FrontPortFrontPortFilterr"   FrontPortTemplateFrontPortTemplateFilterr#   	InterfaceInterfaceFilterr$   InterfaceTemplateInterfaceTemplateFilterr%   InventoryItemInventoryItemFilterr&   InventoryItemRoleInventoryItemRoleFilterr'   LocationLocationFilterr)   ManufacturerManufacturerFilterr*   ModuleModuleFilterr,   	ModuleBayModuleBayFilterr-   ModuleBayTemplateModuleBayTemplateFilterr.   ModuleTypeFilterr/   PlatformPlatformFilterr0   	PowerFeedPowerFeedFilterr1   PowerOutletPowerOutletFilterr2   PowerOutletTemplatePowerOutletTemplateFilterr3   
PowerPanelPowerPanelFilterr4   	PowerPortPowerPortFilterr5   PowerPortTemplatePowerPortTemplateFilterr6   r7   RackTypeFilterr:   Rack
RackFilterRackReservationRackReservationFilterr8   RackRoleRackRoleFilterr9   RearPortRearPortFilterr;   RearPortTemplateRearPortTemplateFilterr<   RegionRegionFilterr=   Site
SiteFilterr>   	SiteGroupSiteGroupFilterr?   VirtualChassisVirtualChassisFilterr@   VirtualDeviceContextVirtualDeviceContextFilterrA   rP   rQ   rR   <module>r     sg   ) ) ) ) ) ) ) ) ) )         . . . . . .                    B A A A A A A A ) ) ) ) ) ) [ [ [ [ [ [ [ [ [ [     8 8 8 8 8 8 8 8,h 
K 
K 
K 
K 
K	
K 
K 
K R R R R R= R R R T T T T TT T T [ [ [ [ [#8 [ [ [ 
2"  
C C C C C+ C C 
C 
L  
= = = = =  = = 
=> 
  
	 	 	 	 	*,=?P 	 	 
	 
%  
    :   
 
#  
	 	 	 	 	02CEV 	 	 
	 
$+  
    $@   
 
M  
/H /H /H /H /H#%:MK[ /H /H 
/Hd 
  
\ \ \ \ \M \ \ 
\ 
#  
    1   
 
 8'  
F F F F F 5 F F 
F, 
  
R R R R R- R R 
R 
  
l l l l l% l l 
l: 
  
P P P P P(*; P P 
P
 
#  
X X X X X8 X X 
X 
  
^ ^ ^ ^ ^$&:<MO` ^ ^ 
^$ 
#  
g g g g g8 g g 
g 
8  
> > > > > > > 
>* 
#  
r r r r r4 r r 
r 
O	  	U 	U 	U 	U 	U?$9=Jb 	U 	U 	U 
  
W W W W W/ W W 
W 
M  
X X X X X! X X 
X 
	      (    
#  
    8   
 
  

_ 
_ 
_ 
_ 
_% 
_ 
_ 

_ 
O  
R R R R R+ R R 
R 
  
U U U U U$&79J U U 
U 
  
Y Y Y Y Y*,=?P Y Y 
Y 
%  
a a a a a: a a 
a
 
  
X X X X X%} X X 
X 
  
\ \ \ \ \(*;=N \ \ 
\
 
#  
m m m m m8 m m 
m 
O  
W W W W W# W W 
W 
K  
i i i i i 5}FV i i 
i 
!  
H H H H H* H H 
H 
O  
N N N N N+ N N 
N 
O  
X X X X X'): X X 
X 
"  
i i i i i7 i i 
i 
M	      -1I    
K  
N N N N N 5}FV N N 
N( 
	      O]4L    
   
R R R R R) R R 
R 
&  
X X X X X/ X X 
X X XrQ   