
    >Tf"                        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mZmZ d dlmZ d dlmZ d dlmZmZmZmZ d d	lmZ d d
lmZ d dlmZ d dlT d dlmZ d dl T dZ! G d de          Z" G d dee          Z# G d de          Z$ G d de          Z% G d de          Z& G d de          Z' G d de          Z( G d de          Z) G d d ee          Z* G d! d"e          Z+d#S )$    )forms)ContentType)gettext)DeviceRegionSite)RouteTargetVLAN)NetBoxModelFilterSetForm)TenancyFilterForm)ContentTypeMultipleChoiceFieldDynamicModelChoiceFieldDynamicModelMultipleChoiceFieldTagFilterField)FieldSet)add_blank_choice)VirtualMachine)*)L2VPN_ASSIGNMENT_MODELS)
IKEPolicyFilterFormIKEProposalFilterFormIPSecPolicyFilterFormIPSecProfileFilterFormIPSecProposalFilterFormL2VPNFilterFormL2VPNTerminationFilterFormTunnelFilterFormTunnelGroupFilterFormTunnelTerminationFilterFormc                   (    e Zd ZeZ ee          ZdS )r   N)__name__
__module____qualname__TunnelGroupmodelr   tag     9/var/www/html/netbox-4.1.3/netbox/vpn/forms/filtersets.pyr   r   !   s"        E
.

CCCr(   r   c            
       &   e Zd ZeZ eddd           eddd ed                     ed	 ed
                     edd ed                    fZ ej	         ed          e
d          Z eej                                        d ed                    Z ej	         ed          ed          Z eej                                        d ed                    Z ej        d ed                    Z ee          ZdS )r   q	filter_idr&   statusencapsulation	tunnel_idTunnelnameipsec_profile_idSecuritytenant_group_id	tenant_idTenancyStatusFlabelchoicesrequiredzTunnel groupquerysetr<   r:   EncapsulationzIPSec profilez	Tunnel ID)r<   r:   N)r!   r"   r#   r0   r%   r   _	fieldsetsr   MultipleChoiceFieldTunnelStatusChoicesr-   r   r$   objectsallgroup_idTunnelEncapsulationChoicesr.   IPSecProfiler3   IntegerFieldr/   r   r&   r'   r(   r)   r   r   &   s       Ek5))?KaakkJJJ#!!J--888"Kaa	llCCC	I 'U&akk#  F
 /.$((**a  H
 .E-a  *  M
 76%))++a    
 #"ann  I .

CCCr(   r   c                      e Zd ZeZ eddd           edd ed                    fZ ee	j
                                        d ed	          
          Z ej         ed          ed          Z ee          ZdS )r   r+   r,   r&   r/   roleTerminationr1   Fr0   r=   Roler9   N)r!   r"   r#   TunnelTerminationr%   r   r@   rA   r   r0   rD   rE   r/   r   rB   TunnelTerminationRoleChoicesrK   r   r&   r'   r(   r)   r   r   I   s        Ek5))f11]+;+;<<<I 0/##%%akk  I
 %5$aii,  D
 .

CCCr(   r   c            
       T   e Zd ZeZ eddd           edddd ed          	          fZ ej	         ed
          e
d          Z ej	         ed          ed          Z ej	         ed          ed          Z ej	         ed          ed          Z ee          ZdS )r   r+   r,   r&   authentication_methodencryption_algorithmauthentication_algorithmgroup
Parametersr1   zAuthentication methodFr9   Encryption algorithmAuthentication algorithmGroupN)r!   r"   r#   IKEProposalr%   r   r@   rA   r   rB   AuthenticationMethodChoicesrQ   EncryptionAlgorithmChoicesrR   AuthenticationAlgorithmChoicesrS   DHGroupChoicesrT   r   r&   r'   r(   r)   r   r   \   s'       Ek5))#%;=WY`ghghiugvgv	
 	
 	
I 6E5a'((+  
 554a&''*  
  9u8a*++.     
 &E%ajj  E
 .

CCCr(   r   c            	       >   e Zd ZeZ eddd           eddd ed                    fZ ej	         ed	          e
d
          Z ej	         ed          ed
          Z eej                                        d
 ed                    Z ee          ZdS )r   r+   r,   r&   versionmodeproposal_idrU   r1   zIKE versionFr9   ModeProposalr=   N)r!   r"   r#   	IKEPolicyr%   r   r@   rA   r   rB   IKEVersionChoicesr_   IKEModeChoicesr`   r   rY   rD   rE   ra   r   r&   r'   r(   r)   r   r   {   s        Ek5))FM,HHHI (e'a!  G
 %5$aii  D
 21$((**a
mm  K
 .

CCCr(   r   c                       e Zd ZeZ eddd           edd ed                    fZ ej	         ed          e
d	
          Z ej	         ed          ed	
          Z ee          ZdS )r   r+   r,   r&   rR   rS   rU   r1   rV   Fr9   rW   N)r!   r"   r#   IPSecProposalr%   r   r@   rA   r   rB   r[   rR   r\   rS   r   r&   r'   r(   r)   r   r      s        Ek5))')C!!L//ZZZI 554a&''*  
  9u8a*++.     
 .

CCCr(   r   c                      e Zd ZeZ eddd           edd ed                    fZ ee	j
                                        d ed	          
          Z ej         ed          ed          Z ee          ZdS )r   r+   r,   r&   ra   	pfs_grouprU   r1   Frc   r=   rb   r9   N)r!   r"   r#   IPSecPolicyr%   r   r@   rA   r   rY   rD   rE   ra   r   rB   r]   rj   r   r&   r'   r(   r)   r   r      s        Ek5))!!L//BBBI 21$((**a
mm  K
 *)aii  I
 .

CCCr(   r   c            	       b   e Zd ZeZ eddd           eddd ed                    fZ ej	         ed	          e
d
          Z eej                                        d
 ed                    Z eej                                        d
 ed                    Z ee          ZdS )r   r+   r,   r&   r`   ike_policy_idipsec_policy_idProfiler1   rb   Fr9   z
IKE policyr=   zIPSec policyN)r!   r"   r#   rH   r%   r   r@   rA   r   rB   IPSecModeChoicesr`   r   rd   rD   rE   rm   rk   rn   r   r&   r'   r(   r)   r   r      s        Ek5))*;!!I,,OOOI %5$aii   D
 43"&&((aoo  M
 65$((**a  O
 .

CCCr(   r   c            	          e Zd ZeZ eddd           eddd ed                     ed	d
 ed                    fZ ej	         ed           e
e          d          Z eej                                        d ed                    Z eej                                        d ed                    Z ee          ZdS )r   r+   r,   r&   typeimport_target_idexport_target_id
Attributesr1   r5   r6   TenantTypeFr9   zImport targetsr=   zExport targetsN)r!   r"   r#   L2VPNr%   r   r@   rA   r   ChoiceFieldr   L2VPNTypeChoicesrr   r   r	   rD   rE   rs   rt   r   r&   r'   r(   r)   r   r      s+       Ek5))+-?aaooVVV"KaakkBBBI
 5aii  !122  D
 76$((**a !!  
 76$((**a !!  
 .

CCCr(   r   c                      e Zd ZeZ edd           edddddd ed	          
          fZ ee	j
                                        d ed                    Z eej
                            e          d ed          e          Z eej
                                        d ed                    Z eej
                                        ddddi ed                    Z eej
                                        ddddi ed                    Z eej
                                        ddddi ed                    Z eej
                                        ddddi ed                    ZdS )r   r,   l2vpn_idassigned_object_type_id	region_idsite_id	device_idvirtual_machine_idvlan_idzAssigned Objectr1   Frx   r=   zAssigned Object Type)r>   r<   r:   limit_choices_tor   Nonez
$region_idr   )r>   r<   null_optionquery_paramsr:   z$site_idr   r
   zVirtual MachineN)r!   r"   r#   L2VPNTerminationr%   r   r@   rA   r   rx   rD   rE   r|   r   r   filterr   r}   r   r   r~   r   r   r   r   r
   r   r   r   r'   r(   r)   r   r      s0       Ej))%{I{L`bk$%%	
 	
 	
I '&""$$ajj  H
 =<$++,CDDa&''0	   0/##%%akk  I
 .-!!##
 aii  G 0/##%%z
 akk  I .-!!##z
 aii  G 98'++--z
 a!""  r(   r   N),djangor   "django.contrib.contenttypes.modelsr   django.utils.translationr   r@   dcim.modelsr   r   r   ipam.modelsr	   r
   netbox.formsr   tenancy.formsr   utilities.forms.fieldsr   r   r   r   utilities.forms.renderingr   utilities.forms.utilsr   virtualization.modelsr   vpn.choicesvpn.constantsr   
vpn.models__all__r   r   r   r   r   r   r   r   r   r   r'   r(   r)   <module>r      s         : : : : : : 1 1 1 1 1 1 , , , , , , , , , , ) ) ) ) ) ) ) ) 1 1 1 1 1 1 + + + + + +            / . . . . . 2 2 2 2 2 2 0 0 0 0 0 0     1 1 1 1 1 1             4      
              (*B         F         ":      &         4      >         2      0         6      &         4      &         5      0         ')A      2< < < < <!9 < < < < <r(   