
    >Tf '                     v   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 d dlmZ d dlmZmZmZ dd	lT dd
lmZ dZej         G d d                      Zej         G d d                      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                      Z! ej        ej"        de#           G d dee                      Z$ ej        ej%        de&           G d de                      Z' ej        ej(        de)           G d d ee                      Z* ej        ej+        de,           G d! d"e                      Z- ej        ej.        de/           G d# d$ee                      Z0 ej        ej1        de2           G d% d&e                      Z3 ej        ej4        de5           G d' d(e                      Z6 ej        ej7        de8           G d) d*e                      Z9 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eA           G d/ d0e                      ZB ej        ejC        d1eD           G d2 d3e                      ZE ej        ejF        deG           G d4 d5e                      ZHdS )6    )	AnnotatedListUnionN)ProviderType)SiteType)models)BigInt)BaseObjectTypeNetBoxObjectTypeOrganizationalObjectType   )*)IPAddressesMixin)ASNTypeASNRangeTypeAggregateTypeFHRPGroupTypeFHRPGroupAssignmentTypeIPAddressTypeIPRangeType
PrefixTypeRIRTypeRoleTypeRouteTargetTypeServiceTypeServiceTemplateTypeVLANTypeVLANGroupTypeVRFTypec                   $    e Zd ZU eed<   eed<   dS )IPAddressFamilyTypevaluelabelN)__name__
__module____qualname__int__annotations__str     7/var/www/html/netbox-4.1.3/netbox/ipam/graphql/types.pyr!   r!   "   s"         JJJJJJJJr+   r!   c                   8    e Zd ZdZej        defd            ZdS )BaseIPAddressFamilyTypezO
    Base type for models that need to expose their IPAddress family type.
    returnc                 >    t          | j        d| j                   S )NIPv)r"   r#   )r!   familyselfs    r,   r2   zBaseIPAddressFamilyType.family.   s$     #<O$+<O<OPPPPr+   N)r$   r%   r&   __doc__
strawberryfieldr!   r2   r*   r+   r,   r.   r.   (   sQ          Q+ Q Q Q Q Q Qr+   r.   __all__)fieldsfiltersc                       e Zd ZU eed<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   ee	         ed	<   ee
         ed
<   dS )r   asnr   ipam.graphql.typesNrir
TenantTypetenancy.graphql.typestenantsites	providers)r$   r%   r&   r	   r(   r   r6   lazyr   r   r   r*   r+   r,   r   r   5   s          
KKK	9ojo.BCCC	Dt	KKKKlOJO4K$L$LLMPTTTTT>L!!!!!!r+   r   c                       e Zd ZU eed<   eed<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed	<   dS )
r   startendr   r=   Nr>   r?   r@   rA   )r$   r%   r&   r	   r(   r   r6   rD   r*   r+   r,   r   r   C   sw          MMM	KKK	9ojo.BCCC	Dt	KKKKlOJO4K$L$LLMPTTTTTTTr+   r   c                       e Zd ZU eed<   ed ej        d          f         dz  ed<   ed ej        d          f         dz  ed<   dS )	r   prefixr   r=   Nr>   r?   r@   rA   r$   r%   r&   r)   r(   r   r6   rD   r*   r+   r,   r   r   O   sn          KKK	9ojo.BCCC	Dt	KKKKlOJO4K$L$LLMPTTTTTTTr+   r   c                   R    e Zd ZU eed ej        d          f                  ed<   dS )r   r   r=   fhrpgroupassignment_setNr$   r%   r&   r   r   r6   rD   r(   r*   r+   r,   r   r   Z   s=          "),EzWkGlGl,l"mnnnnnnr+   r   )interface_typeinterface_id)excluder:   c            
           e Zd ZU ed ej        d          f         ed<   ej        dee	ed ej        d          f         ed ej        d          f         f          ej
        d	          f         fd
            ZdS )r   r   r=   groupr/   InterfaceTypedcim.graphql.typesVMInterfaceTypevirtualization.graphql.typesFHRPGroupInterfaceTypec                     | j         S N)	interfacer3   s    r,   rZ   z!FHRPGroupAssignmentType.interfacel   s    
 ~r+   N)r$   r%   r&   r   r6   rD   r(   strawberry_djangor7   r   unionrZ   r*   r+   r,   r   r   d   s          _ojo6J&K&KKLLLL9U/?:?3G#H#HHI#_Z_5S%T%TTU	W& z011&2 3      r+   r   )assigned_object_typeassigned_object_idaddressc                      e Zd ZU e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	j
        dee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  fd            ZdS )r   r_   r   r=   Nvrfr?   r@   rA   
nat_insidenat_outsideTunnelTerminationTypevpn.graphql.typestunnel_terminationsr   servicesr/   rS   rT   r   rU   rV   IPAddressAssignmentTypec                     | j         S rY   )assigned_objectr3   s    r,   rj   zIPAddressType.assigned_object   s     ##r+   )r$   r%   r&   r)   r(   r   r6   rD   r   r[   r7   r   r\   rj   r*   r+   r,   r   r   t   s         LLL	9ojo.BCCC	Dt	KKKKlOJO4K$L$LLMPTTTTT/?:?;O+P+PPQTXXXXXiAU1V1V VWXXXXi(?QdAeAe(efgggg9]OJO<P,Q,QQRSSSS$5/?:?3G#H#HHI/?:?3G#H#HHI#_Z_5S%T%TTU	W, z122	,3 "4 7;	"; $ $ $ $ $ $r+   r   c                       e Zd ZU eed<   e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<   dS )r   start_addressend_addressr   r=   Nra   r?   r@   rA   r   rolerJ   r*   r+   r,   r   r      s          	9ojo.BCCC	Dt	KKKKlOJO4K$L$LLMPTTTTT
J
0D E EE
F
MMMMMMr+   r   c                   F   e Zd ZU e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<   dS )r   rI   r   rT   Nsiter   r=   ra   r?   r@   rA   r   vlanr   rn   rJ   r*   r+   r,   r   r      s          KKK
J
0D E EE
F
MMMM	9ojo.BCCC	Dt	KKKKlOJO4K$L$LLMPTTTTT
J
0D E EE
F
MMMM
J
0D E EE
F
MMMMMMr+   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ed ej        d          f                  ed<   dS )	r   r   r=   
asn_rangesr   asnsr   
aggregatesNrM   r*   r+   r,   r   r      s          Y~z?S/T/TTUVVVV
yOJO4H$I$IIJ
KKKKY
@T0U0UUVWWWWWWr+   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ed ej        d          f                  ed<   dS )	r   r   r=   prefixesr   	ip_rangesr   vlansNrM   r*   r+   r,   r   r      s          9\?:?;O+P+PPQRRRRIm_Z_=Q-R-RRSTTTT	*ojo6J&K&KKLMMMMMMr+   r   c                   T   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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?   r@   NrA   	L2VPNTypere   importing_l2vpnsexporting_l2vpnsr   r=   importing_vrfsexporting_vrfsr$   r%   r&   r   r6   rD   r(   r   r*   r+   r,   r   r      s          lOJO4K$L$LLMPTTTTT9[/*/BU2V2V%VWXXXX9[/*/BU2V2V%VWXXXX9ojo>R.S.S#STUUUU9ojo>R.S.S#STUUUUUUr+   r   c                       e Zd ZU ee         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 )r   ports
DeviceTyperT   NdeviceVirtualMachineTyperV   virtual_machiner   r=   ipaddresses)	r$   r%   r&   r   r'   r(   r   r6   rD   r*   r+   r,   r   r      s          9lOJO4H$I$IIJTQQQQ3_Z_Ec5d5ddehllllliAU1V1V VWXXXXXXr+   r   c                   &    e Zd ZU ee         ed<   dS )r   r   N)r$   r%   r&   r   r'   r(   r*   r+   r,   r   r      s$          9r+   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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   r   r=   Nrp   r   rR   r?   r@   rA   r   rn   rS   rT   interfaces_as_untaggedrU   rV   vminterfaces_as_untaggedWirelessLANTypezwireless.graphql.typeswirelesslan_setr   rw   interfaces_as_taggedvminterfaces_as_taggedr   r*   r+   r,   r   r      s         J
0D E EE
F
MMMM_ojo6J&K&KKLtSSSSlOJO4K$L$LLMPTTTTT
J
0D E EE
F
MMMM ?OJOL`<a<a+a!bcccc"9->
Pn@o@o-o#pqqqq)$5zG_7`7`$`abbbb9\?:?;O+P+PPQRRRRy/*/J^:_:_)_`aaaa +<ojoNl>m>m+m!noooooor+   r   )
scope_typescope_idc                      e Zd ZU ee         ed<   ee         ed<   ej        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  fd            ZdS )r   ry   
vid_rangesr/   ClusterTyperV   ClusterGroupTypeLocationTyperT   RackType
RegionTyper   SiteGroupTypeVLANGroupScopeTypeNc                     | j         S rY   )scoper3   s    r,   r   zVLANGroupType.scope   s     zr+   )r$   r%   r&   r   r   r(   r)   r[   r7   r   r   r6   rD   r\   r   r*   r+   r,   r   r      sL         >S		y-1O!P!PPQ$ojo6T&U&UUV./*/2F"G"GGH*ojo.BCCCD,
0D E EEF*ojo.BCCCD/?:?3G#H#HHI	K" z,--". / 266 	 	 	 	 	 	r+   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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?   r@   NrA   rS   rT   
interfacesr   r=   ip_addressesrU   rV   vminterfacesr   rx   r   export_targetsimport_targetsr   rw   r   r*   r+   r,   r   r     sX         lOJO4K$L$LLMPTTTTTY
@T0U0UUVWWWWy/*/BV2W2W!WXYYYYy!2OJODb4c4c!cdeeeeIm_Z_=Q-R-RRSTTTT#4ojoFZ6[6[#[\]]]]#4ojoFZ6[6[#[\]]]]9\?:?;O+P+PPQRRRRRRr+   r   )Itypingr   r   r   r6   r[   circuits.graphql.typesr   dcim.graphql.typesr   ipamr   netbox.graphql.scalarsr	   netbox.graphql.typesr
   r   r   r:   mixinsr   r8   typer!   r.   ASN	ASNFilterr   ASNRangeASNRangeFilterr   	AggregateAggregateFilterr   	FHRPGroupFHRPGroupFilterr   FHRPGroupAssignmentFHRPGroupAssignmentFilterr   	IPAddressIPAddressFilterr   IPRangeIPRangeFilterr   PrefixPrefixFilterr   RIR	RIRFilterr   Role
RoleFilterr   RouteTargetRouteTargetFilterr   ServiceServiceFilterr   ServiceTemplateServiceTemplateFilterr   VLAN
VLANFilterr   	VLANGroupVLANGroupFilterr   VRF	VRFFilterr   r*   r+   r,   <module>r      sP   ) ) ) ) ) ) ) ) ) )         / / / / / / ' ' ' ' ' '       ) ) ) ) ) ) [ [ [ [ [ [ [ [ [ [     $ $ $ $ $ $(        
 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 
J  
" " " " " " " 
" 
O  
U U U U U# U U 
U 
  
U U U U U$&= U U 
U 
  
o o o o o$&6 o o 
o
 
.%  
    n   
 
E  
$ $ $ $ $$&= $ $ 
$& 
N  
N N N N N" N N 
N 
M  
N N N N N!#: N N 
N 
J  
X X X X X& X X 
X 
K  
N N N N N' N N 
N 
  
V V V V V& V V 
V 
N  
Y Y Y Y Y" Y Y 
Y 
!  
    *   
 
K  
p p p p p p p 
p 
&  
    ,   
$ 
J  
	S 	S 	S 	S 	S 	S 	S 
	S 	S 	Sr+   