
    >Tf6                     z   d dl mZ d dlmZ d dlmZmZ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mZ d dlmZmZ d d	lmZ d d
lmZmZ d dlmZ d dlT d dlT d dl m!Z! dZ" G d de          Z# G d dee          Z$ G d deee          Z% G d deeee          Z& G d de          Z' G d de          Z(dS )    )forms)gettext_lazy)Device
DeviceRolePlatformRegionSite	SiteGroup)LocalConfigContextFilterForm)ConfigTemplate)VRF)NetBoxModelFilterSetForm)ContactModelFilterFormTenancyFilterForm)BOOLEAN_WITH_BLANK_CHOICES)DynamicModelMultipleChoiceFieldTagFilterField)FieldSet)*)L2VPN)ClusterFilterFormClusterGroupFilterFormClusterTypeFilterFormVirtualDiskFilterFormVirtualMachineFilterFormVMInterfaceFilterFormc                   (    e Zd ZeZ ee          ZdS )r   N)__name__
__module____qualname__ClusterTypemodelr   tag     D/var/www/html/netbox-4.1.3/netbox/virtualization/forms/filtersets.pyr   r      s"        E
.

CCCr%   r   c            	       r    e Zd ZeZ ee          Z eddd           eddd ed                    fZ	d	S )
r   q	filter_idr#   contactcontact_rolecontact_groupContactsnameN)
r   r   r    ClusterGroupr"   r   r#   r   _	fieldsetsr$   r%   r&   r   r       sX        E
.

Ck5))NO!!J--PPPIIIr%   r   c                      e Zd ZeZ eddd           eddd ed                     ed	d
d ed                     edd ed                     eddd ed                    fZdZ e	e
j                                        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	ej                                        ddddd ed           !          Z e	ej                                        dd ed"          #          Z ee          Zd$S )%r   r(   r)   r#   group_idtype_idstatus
Attributesr.   	region_idsite_group_idsite_idLocationtenant_group_id	tenant_idTenantr*   r+   r,   r-   )r)   r(   r4   FTypequerysetrequiredlabelr   StatusrC   choicesrB   
Site groupNone
$region_id$site_group_id)r8   r9   r	   rA   rB   null_optionquery_paramsrC   GrouprA   rB   rL   rC   N)r   r   r    Clusterr"   r   r1   r2   selector_fieldsr   r!   objectsallr5   r   r8   r   MultipleChoiceFieldClusterStatusChoicesr6   r
   r9   r	   r:   r0   r4   r   r#   r$   r%   r&   r   r   )   s       Ek5))YqqGGGoyqq}}MMM"KaakkBBBNO!!J--PPPI 5O--$((**aii  G
 0/##%%akk  I
 'U&akk$  F
 43"&&((aoo  M
 .-!!##%-
 
 aii	 	 	G /.%))++ajj	  H .

CCCr%   r   c                      e Zd ZeZ eddd           edddd ed          	           ed
dd ed          	           edddddddd ed          		  	         edd ed          	           eddd ed          	          fZ ee	j
                                        dd ed           !          Z eej
                                        dd ed"          !          Z eej
                                        d ed          #          Z eej
                                        d ed$          #          Z eej
                                        d ed%          #          Z eej
                                        d ed&          #          Z eej
                                        ddd'd(d) ed*          +          Z eej
                                        ddd,d-i ed.          +          Z ej         ed/          ed0          Z eej
                                        dd ed1          !          Z  ej!        d ed2          3          Z" ej#        d ed4           ej$        e%5          6          Z& ej!        d ed7          3          Z' ee(j
                                        d ed8          #          Z) e*e          Z+d9S ):r   r(   r)   r#   cluster_group_idcluster_type_id
cluster_id	device_idrP   r.   r8   r9   r:   r;   r6   role_idplatform_idmac_addresshas_primary_ipconfig_template_idlocal_context_dataserialr7   r<   r=   r>   r*   r+   r,   r-   FrH   zCluster grouprO   zCluster typer@   r   r   rG   rI   rJ   )r8   r4   r	   rK   vm_roleTrueRolerD   rE   r   MAC addressrB   rC   zHas a primary IPrF   )rB   rC   widgetzSerial numberzConfig templateN),r   r   r    VirtualMachiner"   r   r1   r2   r   r0   rR   rS   rW   r!   rX   rP   rY   r   rZ   r   r8   r
   r9   r	   r:   r   r[   r   rT   VirtualMachineStatusChoicesr6   r   r\   	CharFieldr]   NullBooleanFieldSelectr   r^   ra   r   r_   r   r#   r$   r%   r&   r   r   Z   s#        Ek5))#%6kXYXYZcXdXdeeeoyqq}}MMMi?OQe (<	
 	
 	
 	"KaakkBBBNO!!J--PPP
I 76%))++a  	   65$((**a	  O 10$$&&a	ll  J
 0/##%%akk  I
 0/##%%akk  I
 43"&&((aoo  M
 .-!!##%(
 
 aii	 	 	G .-#''))v
 aii  G 'U&akk+  F
 21!%%''a
mm	  K "%/a  K ,U+a"##u|.
 
 
  N U_a    F 98'++--a!""  
 .

CCCr%   r   c                      e Zd ZeZ eddd           edd ed                     edd	d
d ed                    fZdZ e	e
j                                        d ed                    Z e	ej                                        dddi ed                    Z ej         ed          d ej        e                    Z ej        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#   rY   virtual_machine_idVirtual Machiner.   enabledr]   vrf_idl2vpn_idr7   )r)   r(   ro   FrP   r@   z$cluster_idVirtual machine)rA   rB   rM   rC   Enabledrg   )rC   rB   rh   re   rf   r   r   N)r   r   r    VMInterfacer"   r   r1   r2   rQ   r   rP   rR   rS   rY   ri   ro   r   rl   rm   r   rq   rk   r]   r   rr   r   rs   r   r#   r$   r%   r&   r   r      s       Ek5))3!!<M:N:NOOOM8ZaaooVVVI
 ?O00$$&&a	ll  J
 98'++---
 a!""   %e$a	llu|.
 
 
  G "%/a  K -,""ahh  F
 /.""$$ajj  H
 .

CCCr%   r   c                   ,   e Zd ZeZ eddd           ed ed                     ed ed                    fZ ee	j
                                        d	 ed
                    Z ej         ed          d	d          Z ee          ZdS )r   r(   r)   r#   ro   rp   r.   sizer7   Frt   r@   z	Size (GB)   )rC   rB   	min_valueN)r   r   r    VirtualDiskr"   r   r1   r2   r   ri   rR   rS   ro   r   IntegerFieldrx   r   r#   r$   r%   r&   r   r      s        Ek5))%AA.?,@,@AAAaaoo...I
 98'++--a!""  
 5ann  D
 .

CCCr%   r   N))djangor   django.utils.translationr   r1   dcim.modelsr   r   r   r   r	   r
   extras.formsr   extras.modelsr   ipam.modelsr   netbox.formsr   tenancy.formsr   r   utilities.formsr   utilities.forms.fieldsr   r   utilities.forms.renderingr   virtualization.choicesvirtualization.models
vpn.modelsr   __all__r   r   r   r   r   r   r$   r%   r&   <module>r      sO         6 6 6 6 6 6 M M M M M M M M M M M M M M M M 5 5 5 5 5 5 ( ( ( ( ( (       1 1 1 1 1 1 C C C C C C C C 6 6 6 6 6 6 R R R R R R R R . . . . . . $ $ $ $ # # # #               4      
    35M   .  .  .  .  . )+AC[ .  .  . bd  d  d  d  d  	d  d  d N*  *  *  *  * 4 *  *  * Z         4          r%   