+
    i  c                   s2    ^ RI HtHtHt  ! R R]]4      tR# )i    )PluginIndependentPlugin	PluginOptc                   sd   a  ] tR t^t o RtRtRtRtRt]3t	]
! RRRR7      .tR	 tR
 tR tRtV tR# )SHMclizshmcli pulls hardware information from PowerVault/Dell
Storage JBOD's attached to server.
It provides information of the adapters, emms, drives,
enclosures, fans, power supplies and the sensory data of
temp, voltage, and current sensors.
zDell Server Hardware ManagershmclizC/opt/dell/ServerHardwareManager/ServerHardwareManagerCLI/bin/shmclidebugFzcapture support debug data)ZdefaultZdescc                s    . ROpV F(  pV P                  V P                   RV 2RV 2R7       K*  	  V P                  4        V P                  4        R# )list adapters Zshmcli_suggest_filenameN)r   zlist physical enclosureszlist failed drives)add_cmd_output
shmcli_bincollect_enclosures_listcollect_drivers_list)selfsubcmdssubcmds   &  >/usr/lib/python3.14/site-packages/sos/report/plugins/shmcli.pysetupZSHMcli.setup    s_    
 F??#1VH-#*6(!3   5 
 	$$&!!#    c           	     s  a . pV P                  R4      pVR,          ^ 8X  d   VR,          P                  4        Fi  oSP                  4       p\        V4      ^8  g   K%  V^,          P	                  4       R8X  g   KC  VP                  SP                  4       ^,          4       Kk  	  \        \        V4      4      p. ROpV P                  V P                   R2RR7      pVR,          ^ 8X  EdR   VR,          P                  4       ^R  EF0  oSP                  4       o\        ;QJ d    V3R lV 4       F  '       g   K   R	M	  R
M! V3R lV 4       4      '       g   KV  SR,          pS^ ,          pV FH  pV P                   RV RV RV 2pVP                  V P                  R4      p	V P                  WR7       KJ  	  V P                  R4      '       g   K  V P                  R
R7      p
V P                   RV RV 2pVP                  V P                  R4      pRV
 2pV P                  W,           VRR7       EK3  	  R# R# )zCollect info on the enclosures z	lsscsi -gstatusoutputZDELLz list enclosuresZshmcli_list_enclosuresr   c              3   s,   <"   T F	  qS9   x  K  	  R # 5i)N )Z.0Zmlines   & r   Z	<genexpr>Z1SHMcli.collect_enclosures_list.<locals>.<genexpr>Q   s     1&QDy&s   TFr   z -a=z -enc=r   r   )Zmakez getdebugcli -a=z -outputdir=i,  )r	   ZtimeoutN)
z	list emmszlist drawerszlist emm slotszlist drive slotsz	list fanszlist temp sensorszlist voltage sensorszlist current sensorszlist power supplieszinfo enclosureii)Zexec_cmd
splitlinessplitlenZupperZappendZlistZsetcollect_cmd_outputr   Zanyreplacer
   Z
get_optionZget_cmd_output_path)r   Zmodelsresultwordsr   Zadapt_indexZ	enc_indexr   _cmd_fnameZlogpathZ_dcmdZ_dnameZ_odirr   s   &             @r   r   ZSHMcli.collect_enclosures_list0   s    {+(q x(335

JNuQx~~'76'AMM$**,q/2 6 c&k"
 ((/05 ) 
 (q x(335a;zz|31&13331&111"&r(K $QI")#'??"31VHD"(!5!%doox!H++D+J	 #*
 w//"&":":":"F$(OO#4 5''2m6)"F!&t!I".wi 8++!MF$' , ! < !r   c                s   V P                  V P                   R2RR7      pVR,          ^ 8X  d   VR,          P                  4        F{  pVP                  4       p\	        V4      ^8  g   K%  V^ ,          R	9  g   K5  V P                   RV^ ,           2pVP                  V P                  R4      pV P                  WER7       K}  	  R# R# )
zCollect info on the drives z list drivesZshmcli_list_drivesr   r   r   z info drive -d=r   N)ZWWNz---)r   r   r   r   r   r   r
   )r   r   r   r   r   r    s   &     r   r   ZSHMcli.collect_drivers_listd   s    ((|,1 ) 
 (q x(335

u:>a6"&//!2/%(L!%doox!H++D+J 6 !r   r   N)ZsystemZstorageZhardware)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Z
short_descZplugin_nameZprofilesr   Zfilesr   Zoption_listr   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      sV      0JK1H7JME 	'5/KLK$ 2hK Kr   r   N)Zsos.report.pluginsr    r   r   r   r   r   r   <module>r!      s!    D CeKV& eKr   