
    >Tf$                     X   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	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mZ d
dlmZ d
dlmZmZ d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j"                  Z#dS )    )gettext)serializers)*)RackRackReservationRackRoleRackType)ChoiceFieldRelatedObjectCountField)NetBoxModelSerializer)
ConfigItem)TenantSerializer)UserSerializer   )ManufacturerSerializer)LocationSerializerSiteSerializer)#RackElevationDetailFilterSerializerRackReservationSerializerRackRoleSerializerRackSerializerRackTypeSerializerc                   >    e Zd Z ed          Z G d d          ZdS )r   racksc                       e Zd ZeZg dZdZdS )RackRoleSerializer.Meta)idurldisplay_urldisplaynameslugcolordescriptiontagscustom_fieldscreatedlast_updated
rack_count)r   r   r    r!   r"   r$   r)   N)__name__
__module____qualname__r   modelfieldsbrief_fields     @/var/www/html/netbox-4.1.3/netbox/dcim/api/serializers_/racks.pyMetar      s,        
 
 
 ]r1   r3   N)r*   r+   r,   r   r)   r3   r0   r1   r2   r   r      sX         )(11J] ] ] ] ] ] ] ] ] ]r1   r   c                       e Zd Z eeddd          Z eed          Z eeddd          Z	 ee
ddd          ZdS )RackBaseSerializerTF)choicesallow_blankrequired
allow_nullr6   r8   N)r*   r+   r,   r
   RackFormFactorChoicesform_factorRackWidthChoiceswidthRackDimensionUnitChoices
outer_unitWeightUnitChoicesweight_unitr0   r1   r2   r5   r5   &   s        +%	  K K   E (	  J +!	  KKKr1   r5   c                   @    e Zd Z ed          Z G d d          ZdS )r   Tnestedc                       e Zd ZeZg dZdZdS )RackTypeSerializer.Meta)r   r   r   r    manufacturerr-   r"   r$   r<   r>   u_heightstarting_unit
desc_unitsouter_widthouter_depthr@   weight
max_weightrB   mounting_depthr$   commentsr%   r&   r'   r(   )r   r   r    rH   r-   r"   r$   N)r*   r+   r,   r	   r-   r.   r/   r0   r1   r2   r3   rG   D   s,        
 
 
 `r1   r3   N)r*   r+   r,   r   rH   r3   r0   r1   r2   r   r   ?   s`        ))  L` ` ` ` ` ` ` ` ` `r1   r   c                   R   e Zd Z ed          Z edddd          Z eddd          Z e	e
d          Z e	edd          Z eddd          Z ej        d	dd ed
          d          Z edddd          Z ed          Z ed          Z G d d          ZdS )r   TrD   FN)rE   r8   r9   defaultrE   r8   r9   r:   )r6   r7   r8   2   zFacility ID)
max_lengthr7   r9   labelrS   devices
powerfeedsc                       e Zd ZeZg dZdZdS )RackSerializer.Meta)#r   r   r   r    r!   facility_idsitelocationtenantstatusroleserial	asset_tag	rack_typer<   r>   rI   rJ   rN   rO   rB   rK   rL   rM   r@   rP   airflowr$   rQ   r%   r&   r'   r(   device_countpowerfeed_count)r   r   r    r!   r$   rf   N)r*   r+   r,   r   r-   r.   r/   r0   r1   r2   r3   r[   ~   s,        
 
 
 Wr1   r3   )r*   r+   r,   r   r]   r   r^   r   r_   r
   RackStatusChoicesr`   RackAirflowChoicesre   r   ra   r   	CharField_r\   r   rd   r   rf   rg   r3   r0   r1   r2   r   r   O   s       >  D "!	  H   F
 [!  F k"  G
   D
 (+'a  K #"	  I +*955L--l;;O	W 	W 	W 	W 	W 	W 	W 	W 	W 	Wr1   r   c                   t    e Zd Z ed          Z ed          Z eddd          Z G d d          Z	dS )r   TrD   FrT   c                       e Zd ZeZg dZdZdS )RackReservationSerializer.Meta)r   r   r   r    rackunitsr'   r(   userr_   r$   rQ   r%   r&   )r   r   r    rq   r$   rp   N)r*   r+   r,   r   r-   r.   r/   r0   r1   r2   r3   rn      s,        
 
 
 Pr1   r3   N)
r*   r+   r,   r   ro   r   rq   r   r_   r3   r0   r1   r2   r   r      s        >&&&D>&&&DTEdKKKFP P P P P P P P P Pr1   r   c                      e Zd Z ej        dd          Z ej        eej                  Z	 ej        e
e
j                  Z ej         ed                    Z ej         ed                    Z ej        e          Z ej        e          Z ej        dd          Z ej        dd          Z ej        dd          ZdS )	r   FN)r8   rS   )r6   rS   !RACK_ELEVATION_DEFAULT_UNIT_WIDTH)rS   "RACK_ELEVATION_DEFAULT_UNIT_HEIGHTT)r*   r+   r,   r   rj   qr
   DeviceFaceChoices
FACE_FRONTface RackElevationDetailRenderChoicesRENDER_JSONrenderIntegerFieldr   
unit_widthunit_height#RACK_ELEVATION_DEFAULT_LEGEND_WIDTHlegend_width#RACK_ELEVATION_DEFAULT_MARGIN_WIDTHmargin_widthexcludeBooleanFieldexpand_devicesinclude_imagesr0   r1   r2   r   r      sf       	 	 	A #;"!!,  D %[$00<  F *)
>??  J ++*
?@@  K ,;+3  L ,;+3  L 'k&  G .[-  N .[-  NNNr1   r   N)$django.utils.translationr   rk   rest_frameworkr   dcim.choicesdcim.constantsdcim.modelsr   r   r   r	   netbox.api.fieldsr
   r   netbox.api.serializersr   netbox.configr    tenancy.api.serializers_.tenantsr   users.api.serializers_.usersr   manufacturersr   sitesr   r   __all__r   r5   r   r   r   
Serializerr   r0   r1   r2   <module>r      s%   1 1 1 1 1 1 & & & & & &         A A A A A A A A A A A A B B B B B B B B 8 8 8 8 8 8 $ $ $ $ $ $ = = = = = = 7 7 7 7 7 7 1 1 1 1 1 1 5 5 5 5 5 5 5 5] ] ] ] ]. ] ] ]    .   2` ` ` ` `+ ` ` ` 8W 8W 8W 8W 8W' 8W 8W 8WvP P P P P 5 P P P$ $ $ $ $+*@ $ $ $ $ $r1   