
    >Tf
                         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	 d dl
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mZ dZ G d de          Z G d de          ZdS )    )ContentType)extend_schema_field)serializers)RouteTargetSerializer)RouteTarget)ChoiceFieldContentTypeFieldSerializedPKRelatedField)NetBoxModelSerializer)TenantSerializer)get_serializer_for_model)*)L2VPNL2VPNTermination)L2VPNSerializerL2VPNTerminationSerializerc                       e Zd Z eed          Z eej        	                                e
ddd          Z eej        	                                e
ddd          Z eddd          Z G d d          ZdS )	r   F)choicesrequiredT)queryset
serializernestedr   many)r   r   
allow_nullc                       e Zd ZeZg dZdZdS )L2VPNSerializer.Meta)idurldisplay_urldisplay
identifiernameslugtypeimport_targetsexport_targetsdescriptioncommentstenanttagscustom_fieldscreatedlast_updated)r   r   r    r!   r"   r#   r$   r'   N)__name__
__module____qualname__r   modelfieldsbrief_fields     ?/var/www/html/netbox-4.1.3/netbox/vpn/api/serializers_/l2vpn.pyMetar   &   s,        
 
 
 er5   r7   N)r.   r/   r0   r   L2VPNTypeChoicesr$   r
   r   objectsallr   r%   r&   r   r)   r7   r4   r5   r6   r   r      s        ;/%@@@D--$((**(  N .-$((**(  N TEdKKKFe e e e e e e e e er5   r   c                       e Zd Z ed          Z eej                                                  Z	 e
j        d          Z G d d          Z e e
j        d                    d             Zd	S )
r   T)r   )r   )	read_onlyc                       e Zd ZeZg dZdZdS )L2VPNTerminationSerializer.Meta)r   r   r   r    l2vpnassigned_object_typeassigned_object_idassigned_objectr*   r+   r,   r-   )r   r   r    r?   N)r.   r/   r0   r   r1   r2   r3   r4   r5   r6   r7   r>   8   s+         
 
 
 9r5   r7   )r   c                 x    t          |j                  }d| j        d         i} ||j        d|          j        S )NrequestT)r   context)r   rB   rE   data)selfinstancer   rE   s       r6   get_assigned_objectz.L2VPNTerminationSerializer.get_assigned_object@   s@    -h.FGG
dl956z(24QQQVVr5   N)r.   r/   r0   r   r?   r	   r   r9   r:   r@   r   SerializerMethodFieldrB   r7   r   	JSONFieldrI   r4   r5   r6   r   r   /   s        O  E ,+$((**   8k7$GGGO9 9 9 9 9 9 9 9 ..$???@@W W A@W W Wr5   r   N)"django.contrib.contenttypes.modelsr   drf_spectacular.utilsr   rest_frameworkr   ipam.api.serializers_.vrfsr   ipam.modelsr   netbox.api.fieldsr   r	   r
   netbox.api.serializersr    tenancy.api.serializers_.tenantsr   utilities.apir   vpn.choices
vpn.modelsr   r   __all__r   r   r4   r5   r6   <module>rX      sP   : : : : : : 5 5 5 5 5 5 & & & & & & < < < < < < # # # # # # U U U U U U U U U U 8 8 8 8 8 8 = = = = = = 2 2 2 2 2 2     . . . . . . . .e e e e e+ e e e6W W W W W!6 W W W W Wr5   