
    >Tf-                     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Z
 G d de	          Z G d	 d
e	          ZdS )    )models)reverse)gettext_lazy)*)PrimaryModel)RouteTargetVRFc            
          e Zd ZdZ ej         ed          d          Z ej        eddd ed           ed                    Z	 ej
        d	ej        d
dd          Z ej        d ed           ed                    Z ej        ddd          Z ej        ddd          ZdZ G d d          Zd Zd ZdS )r	   a!  
    A virtual routing and forwarding (VRF) table represents a discrete layer three forwarding domain (e.g. a routing
    table). Prefixes and IPAddresses can optionally be assigned to VRFs. (Prefixes and IPAddresses not assigned to a VRF
    are said to exist in the "global" table.)
    named   )verbose_name
max_lengthTzroute distinguisherz3Unique route distinguisher (as defined in RFC 4364))r   uniqueblanknullr   	help_texttenancy.Tenantvrfsto	on_deleterelated_namer   r   zenforce unique spacez7Prevent duplicate prefixes/IP addresses within this VRF)defaultr   r   zipam.RouteTargetimporting_vrfs)r   r   r   exporting_vrfs)tenantenforce_uniquedescriptionc                   >    e Zd ZdZ ed          Z ed          ZdS )VRF.Meta)r   rdpkr	   VRFsN__name__
__module____qualname__ordering_r   verbose_name_plural     5/var/www/html/netbox-4.1.3/netbox/ipam/models/vrfs.pyMetar    <   s0        'qxxaiir,   r.   c                 B    | j         r| j         d| j          dS | j        S )Nz ())r!   r   selfs    r-   __str__zVRF.__str__A   s/    7 	.i--47----yr,   c                 0    t          d| j        g          S )Nzipam:vrfargsr   r"   r1   s    r-   get_absolute_urlzVRF.get_absolute_urlF   s    z	2222r,   N)r%   r&   r'   __doc__r   	CharFieldr)   r   VRF_RD_MAX_LENGTHr!   
ForeignKeyPROTECTr   BooleanFieldr   ManyToManyFieldimport_targetsexport_targetsclone_fieldsr.   r3   r8   r+   r,   r-   r	   r	      s        
 6QvYY  D 
	$Q,--!IJJ
 
 
B V.  F )V(Q-..!MNN  N
 ,V+%  N
 ,V+%  NL( ( ( ( ( ( ( (
  
3 3 3 3 3r,   r	   c                       e Zd ZdZ ej         ed          ed ed                    Z ej	        dej
        ddd          Z G d	 d
          Zd Zd ZdS )r   zs
    A BGP extended community used to control the redistribution of routes among VRFs, as defined in RFC 4364.
    r   Tz:Route target value (formatted in accordance with RFC 4360))r   r   r   r   r   route_targetsr   c                   @    e Zd ZdgZ ed          Z ed          ZdS )RouteTarget.Metar   zroute targetzroute targetsNr$   r+   r,   r-   r.   rF   \   s6        8q((a00r,   r.   c                     | j         S )N)r   r1   s    r-   r3   zRouteTarget.__str__a   s
    yr,   c                 0    t          d| j        g          S )Nzipam:routetargetr5   r7   r1   s    r-   r8   zRouteTarget.get_absolute_urld   s    )	::::r,   N)r%   r&   r'   r9   r   r:   r)   r;   r   r<   r=   r   r.   r3   r8   r+   r,   r-   r   r   J   s          6QvYY$!PQQ	  D V.$  F1 1 1 1 1 1 1 1
  ; ; ; ; ;r,   r   N)	django.dbr   django.urlsr   django.utils.translationr   r)   ipam.constantsnetbox.modelsr   __all__r	   r   r+   r,   r-   <module>rO      s                6 6 6 6 6 6     & & & & & &83 83 83 83 83, 83 83 83v; ; ; ; ;, ; ; ; ; ;r,   