
    >Tfu                        d dl mZ d dlmZ d dlmZ d dlmZ dZ ed           G d d	e                      Z	 ed           G d
 de                      Z
 ed           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          ZdS )    )extend_schema_serializer)serializers)WritableNestedSerializer)models)NestedDeviceBaySerializerNestedDeviceSerializerNestedInterfaceSerializer!NestedInterfaceTemplateSerializerNestedLocationSerializerNestedModuleBaySerializerNestedRegionSerializerNestedSiteGroupSerializer)
site_count)exclude_fieldsc                   n    e Zd Z ej        d          Z ej        dd          Z G d d          ZdS )r   T	read_onlylevelsourcer   c                   $    e Zd Zej        Zg dZdS )NestedRegionSerializer.Metaidurldisplay_urldisplaynameslugr   _depthN)__name__
__module____qualname__r   Regionmodelfields     A/var/www/html/netbox-4.1.3/netbox/dcim/api/serializers_/nested.pyMetar      s         ```r(   r*   Nr!   r"   r#   r   IntegerFieldr   r    r*   r'   r(   r)   r   r      t         *)D999J%[%WEEEFa a a a a a a a a ar(   r   c                   n    e Zd Z ej        d          Z ej        dd          Z G d d          ZdS )r   Tr   r   r   c                   $    e Zd Zej        Zg dZdS )NestedSiteGroupSerializer.Metar   N)r!   r"   r#   r   	SiteGroupr%   r&   r'   r(   r)   r*   r0   &   !         ```r(   r*   Nr+   r'   r(   r)   r   r      r-   r(   r   )
rack_countc                   n    e Zd Z ej        d          Z ej        dd          Z G d d          ZdS )r   Tr   r   r   c                   $    e Zd Zej        Zg dZdS )NestedLocationSerializer.Meta)r   r   r   r   r   r   r3   r    N)r!   r"   r#   r   Locationr%   r&   r'   r(   r)   r*   r6   2   s         ```r(   r*   N)r!   r"   r#   r   r,   r3   r    r*   r'   r(   r)   r   r   +   r-   r(   r   c                   (    e Zd Z G d d          ZdS )r   c                   $    e Zd Zej        Zg dZdS )NestedDeviceSerializer.Metar   r   r   r   r   N)r!   r"   r#   r   Devicer%   r&   r'   r(   r)   r*   r:   9   s         @@@r(   r*   Nr!   r"   r#   r*   r'   r(   r)   r   r   7   F        A A A A A A A A A Ar(   r   c                   d    e Zd Z ed          Z ej        dd          Z G d d          ZdS )r	   Tr   F)requiredr   c                   $    e Zd Zej        Zg dZdS )NestedInterfaceSerializer.Meta)r   r   r   r   devicer   cable	_occupiedN)r!   r"   r#   r   	Interfacer%   r&   r'   r(   r)   r*   rB   B   r2   r(   r*   N)	r!   r"   r#   r   rC   r   BooleanFieldrE   r*   r'   r(   r)   r	   r	   >   sp        ##d333F((%4HHHIa a a a a a a a a ar(   r	   c                   (    e Zd Z G d d          ZdS )r
   c                   $    e Zd Zej        Zg dZdS )&NestedInterfaceTemplateSerializer.Meta)r   r   r   r   N)r!   r"   r#   r   InterfaceTemplater%   r&   r'   r(   r)   r*   rJ   I   s!        (111r(   r*   Nr=   r'   r(   r)   r
   r
   G   s<        2 2 2 2 2 2 2 2 2 2r(   r
   c                   @    e Zd Z ed          Z G d d          ZdS )r   Tr   c                   $    e Zd Zej        Zg dZdS )NestedDeviceBaySerializer.Meta)r   r   r   r   rC   r   N)r!   r"   r#   r   	DeviceBayr%   r&   r'   r(   r)   r*   rN   Q   s!         JJJr(   r*   N)r!   r"   r#   r   rC   r*   r'   r(   r)   r   r   N   sY        ##d333FK K K K K K K K K Kr(   r   c                   (    e Zd Z G d d          ZdS )ModuleBayNestedModuleSerializerc                   $    e Zd Zej        Zg dZdS )$ModuleBayNestedModuleSerializer.Meta)r   r   r   r   serialN)r!   r"   r#   r   Moduler%   r&   r'   r(   r)   r*   rS   X   s         BBBr(   r*   Nr=   r'   r(   r)   rQ   rQ   V   sF        C C C C C C C C C Cr(   rQ   c                   (    e Zd Z G d d          ZdS )r   c                   $    e Zd Zej        Zg dZdS )NestedModuleBaySerializer.Metar;   N)r!   r"   r#   r   	ModuleBayr%   r&   r'   r(   r)   r*   rX   _   s!         @@@r(   r*   Nr=   r'   r(   r)   r   r   ]   r>   r(   r   N)drf_spectacular.utilsr   rest_frameworkr   netbox.api.serializersr   dcimr   __all__r   r   r   r   r	   r
   r   rQ   r   r'   r(   r)   <module>r_      s   : : : : : : & & & & & & ; ; ; ; ; ;      	 "  a a a a a5 a a a "  a a a a a 8 a a a "  a a a a a7 a a aA A A A A5 A A Aa a a a a 8 a a a2 2 2 2 2(@ 2 2 2K K K K K 8 K K KC C C C C&> C C CA A A A A 8 A A A A Ar(   