+
    ip  c                   s<    ^ RI t ^ RIHt ^ RIHt  ! R R]4      tR# )    N)quote)Clusterc                   s   a  ] tR t^t o RtRtRtR.tRt. ROt	Rt
RtV 3R lR ltV 3R	 lR
 ltV 3R lR ltR tRtV tR# )	saltstackz\
The saltstack cluster profile is intended to be used on saltstack
clusters (Salt Project).
Z	SaltstackZ
saltmasterTFz#salt-run --out=pprint manage.statusc                &   < V ^8  d   QhRS[ RS[/# )   outputreturn)ZstrlistZformat__classdict__   "E/usr/lib/python3.14/site-packages/sos/collector/clusters/saltstack.py__annotate__saltstack.__annotate__(   s      3 4     c                s    . p\         P                  ! VP                  R R4      4      pVP                  4        F  w  rEVP	                  V4       K  	  V# )'")jsonloadsreplaceitemsextend)selfr   ZnodesZsalt_json_outputZ_Zvalues   &&    r   _parse_manage_statusZsaltstack._parse_manage_status(   sG    ::fnnS#&>?(..0HALL 1r   c                r   )r   manage_statusr   )Zdictr   r	   r   r   r   r   /   s      t  r   c                s"   . pVP                  4        Fx  w  r4VR 8X  d)   V P                  RV R24       VP                  V4       K4  V F>  pRV R2pVP                  V P	                  V4      R,          P                  4       4       K@  	  Kz  	  V# )ZdownzNode(s) z are status down.zsalt --out=newline_values_only z grains.get fqdnr   )r   Zlog_warnr   Zappendexec_primary_cmdZstrip)r   r   Z	hostnamesstatusZminionsZminionnode_cmds   &&     r   _get_hostnames_from_grainZ#saltstack._get_hostnames_from_grain/   s    	,224OF	1BCD  )%F9& B* +  $$--h7AGGI &  5 r   c                s    < V ^8  d   QhRS[ /# )r   r   )r   r	   r   r   r   r   @   s     8 8D 8r   c                sD   V P                  V P                  4      pVR ,          ^ 8w  d   \        R4      hV P                  R4      '       d?   \        P
                  ! VR,          P                  RR4      4      pV P                  V4      # V P                  VR,          4      # )r   z-Node enumeration did not return usable outputminion_id_unresolvabler   r   r   )	r   r   Z	Exception
get_optionr   r   r   r   r   )r   Zresr      &  r   
_get_nodesZsaltstack._get_nodes@   s    ##DMM2x=AKLL??344ZZH 5 5c3 ?@F11&99((X77r   c                s(   V P                    Fs  pV^ ,          R8w  g   K  V P                  V^ ,          4      pV'       g   K5  V ;P                  R\        V4       RV^ ,           2,          un         V P	                  4       # 	  V P	                  4       # )r    r   z tgt=z
 tgt_type=)option_listr   r   r   r!   )r   ZoptionZoptr    r   	get_nodesZsaltstack.get_nodesI   sx    &&Fay44oofQi03MMuU3ZL
6!9+%NNM   '   r    N)zsalt-master))Zcompound z+Filter node list to those matching compound)Zglobr%   z/Filter node list to those matching glob pattern)Zgrainr%   z-Filter node list to those with matching grain)r   Fz\Returns the FQDN grain of each minion in the node list when the minion ID is not a hostname.)Z	nodegroupr%   z,Filter node list to those matching nodegroup)Zpillarr%   z.Filter node list to those with matching pillar)Zsubnetr%   z#Filter node list to those in subnet)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Zcluster_nameZpackagesZsos_pluginsZstrict_node_listr"   Ztargetedr   r   r   r!   r#   Z__static_attributes__Z__classdictcell__)r
   s   @r   r   r      s^     
 LH.K	K H4H  "8 8! !r   r   )r   Zshlexr   Zsos.collector.clustersr   r   r$   r   r   <module>r&      s      *A! A!r   