
    >Tfj                         d dl 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 d dlT d dlT d dlmZmZ dZ G d	 d
e          Z G d de          ZdS )    )GenericForeignKeyGenericRelation)MaxValueValidatorMinValueValidator)models)reverse)gettext_lazy)*)ChangeLoggedModelPrimaryModel)	FHRPGroupFHRPGroupAssignmentc                   p   e Zd ZdZ ej         ed                    Z ej         ed          dd          Z	 ej         ed          d	e

          Z ej        d	ed ed                    Z ej        dd ed                    Z edddd          ZdZ G d d          Zd Zd ZdS )r   za
    A grouping of next hope resolution protocol (FHRP) peers. (For instance, VRRP or HSRP.)
    zgroup ID)verbose_namenamed   T)r   
max_lengthblankprotocol2   )r   r   choiceszauthentication type)r   r   r   r      zauthentication key)r   r   r   zipam.IPAddressassigned_object_typeassigned_object_id	fhrpgroup)tocontent_type_fieldobject_id_fieldrelated_query_name)r   	auth_typeauth_keydescriptionc                   B    e Zd Zg dZ ed          Z ed          ZdS )FHRPGroup.Meta)r   group_idpkz
FHRP groupzFHRP groupsN)__name__
__module____qualname__ordering_r   verbose_name_plural     5/var/www/html/netbox-4.1.3/netbox/ipam/models/fhrp.pyMetar$   6   s8        111qa..r.   r0   c                     d}| j         r
| j          d}||                                  d| j         z  }| j        r#| j                                        }|r| d| dS |S )N  :  ())r   get_protocol_displayr%   r&   ip_addressesfirst)selfr   
ip_addresss      r/   __str__zFHRPGroup.__str__;   s    9 	#i???D4,,..AA$-AAA 7 	0*0022J 0//*////r.   c                 0    t          d| j        g          S )Nzipam:fhrpgroup)args)r   r&   r:   s    r/   get_absolute_urlzFHRPGroup.get_absolute_urlJ   s    'twi8888r.   N)r'   r(   r)   __doc__r   PositiveSmallIntegerFieldr+   r%   	CharFieldr   FHRPGroupProtocolChoicesr   FHRPGroupAuthTypeChoicesr    r!   r   r8   clone_fieldsr0   r<   r@   r-   r.   r/   r   r      so         0v/Qz]]  H 6QvYY  D
  vQz]](  H
 ! (Q,--	  I  vQ+,,  H
 #?1,&	  L HL/ / / / / / / /
  9 9 9 9 9r.   r   c                   *   e Zd Z ej        dej                  Z ej                    Z e	dd          Z
 ej        dej                  Z ej         ed           ee           ee          f          Zd	Z G d
 d          Zd Zd ZdS )r   zcontenttypes.ContentType)r   	on_deleteinterface_typeinterface_id)ct_fieldfk_fieldzipam.FHRPGrouppriority)r   
validatorsrI   rJ   c                       e Zd ZdZ ej        d          fZ ej        dd          fZ e	d          Z
 e	d          Zd	S )
FHRPGroupAssignment.Meta)z	-priorityr&   rO   )fields)rI   rJ   groupz.%(app_label)s_%(class)s_unique_interface_group)rR   r   zFHRP group assignmentzFHRP group assignmentsN)r'   r(   r)   r*   r   IndexindexesUniqueConstraintconstraintsr+   r   r,   r-   r.   r/   r0   rQ   f   sx        &FL BCCC
 $F#BE  
 q011a 899r.   r0   c                 6    | j          d| j         d| j         dS )Nr4   r5   r6   )	interfacerS   rM   r?   s    r/   r<   zFHRPGroupAssignment.__str__t   s'    .BBDJBB$-BBBBr.   c                 F    | j         r| j                                         S d S )N)rY   r@   r?   s    r/   r@   z$FHRPGroupAssignment.get_absolute_urlw   s%    > 	5>22444tr.   N)r'   r(   r)   r   
ForeignKeyCASCADErI   PositiveBigIntegerFieldrJ   r   rY   rS   rB   r+   r    FHRPGROUPASSIGNMENT_PRIORITY_MINr    FHRPGROUPASSIGNMENT_PRIORITY_MAXrM   rF   r0   r<   r@   r-   r.   r/   r   r   N   s        &V&%.  N 26133L!!!  I F.  E 0v/Qz]]>??>??
  H 6L: : : : : : : :C C C    r.   r   N)"django.contrib.contenttypes.fieldsr   r   django.core.validatorsr   r   	django.dbr   django.urlsr   django.utils.translationr	   r+   ipam.choicesipam.constantsnetbox.modelsr   r   __all__r   r   r-   r.   r/   <module>ri      s   Q Q Q Q Q Q Q Q G G G G G G G G             6 6 6 6 6 6         9 9 9 9 9 9 9 9:9 :9 :9 :9 :9 :9 :9 :9z- - - - -+ - - - - -r.   