+
    i  c                   s:    ^ RI t ^ RIHtHtHt  ! R R]]4      tR# )i    N)PluginDebianPlugin	PluginOptc                   sT   a  ] tR t^t o RtRtRtRt]! RRRR7      .t	R t
R	 tR
tV tR# )Proxmoxz
This plugin will capture information about the system's
Proxmox Virtualization Environment.

It will collect information about the cluster, nodes, pools and
storage from the Proxmox API.
zProxmox cluster informationZproxmoxoutput-formatsz@List of output formats to use for the commands separated by ":".text)ZdescZdefaultc                s,   V P                  R 4      P                  R4      p. R	Op. pV F#  pVP                  V P                  V4      4       K%  	  T P	                  V UUu. uF   pV F  pRT RVR8X  d   RMR RV 2NK  	  K"  	  upp4       R# u uppi )
r   :z
pvesh get Z r   z
--noborderZ z --output-format N)zcluster/resourceszcluster/config/nodeszcluster/optionsznodes/:id/statusznodes/:id/storageznodes/:id/networkZpoolsZstoragezstorage/:sidzcluster/ceph/statuszcluster/ceph/metadatazcluster/ceph/flags)Z
get_optionsplitextendbuild_cmd_pathsZadd_cmd_output)selfZoutput_formatsZcommandsZ	cmd_pathsZcommandZcmdZformats   &      ?/usr/lib/python3.14/site-packages/sos/report/plugins/proxmox.pysetupZProxmox.setup$   s    )9:@@E
 	GT11':;   	 !
 !( Qv/?|RH I%h( )( 
 	 
s    &B
c           
     s   VP                  R4      p. p\        R \        V4       4       R4      pVe   RP                  VRV 4      pRP                  W$^,           R 4      pV P	                  RV R24      pVR,          ^ 8X  dV   \
        P                  ! VR,          4      pV F2  p	VP                  V P                  V RV	R,           RV 24      4       K4  	  V# VP                  RP                  V4      4       V# )	z
Build command paths,
replacing dynamic attributes with data from the API

:param base_path: The base path to build from
:type base_path: str

:return: A list of paths
Z/c              3   s\   "   T F"  w  rVP                  R 4      '       g   K  Vx  K$  	  R# 5i)r   N)Z
startswith)Z.0ZiZparts   &  r   Z	<genexpr>Z*Proxmox.build_cmd_paths.<locals>.<genexpr>O   s'      2*:wq OOC0 *:s   ,
,Nz	pvesh ls z --output-format jsonZstatusZoutputZname)
r   ZnextZ	enumerateZjoinZexec_cmdjsonZloadsr   r	   Zappend)
r
   Z	base_pathZpartsZpathsZid_indexZpathZtrailing_pathZresultsZchildrenZchilds
   &&        r   r	   ZProxmox.build_cmd_pathsB   s     $ 2)E*: 2379 88E)8,-DHHUa<=%9:Mmmiv5J$KLGx A%::gh&78%ELL,,#fAeFm_Am_E &  LL%)     N)z
proxmox-ve)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Z
short_descZplugin_nameZpackagesr   Zoption_listr   r	   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      sF      /JKH 	"< 	K<! !r   r   )r   Zsos.report.pluginsr    r   r   r   r   r   r   <module>r      s      > >Tfl Tr   