HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/monit.cpython-310.pyc
o

�N�g��@s�dZddlZddlZddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
d"dd�Zd"dd�Zdd�Z
dd�Zdd�Zd#dd�Zd d!�ZdS)$zM
Monit service module. This module will create a monit type
service watcher.
�N�id�reload)�id_�reload_cCstjj�d�durdSdS)N�monitT)FzQThe monit execution module cannot be loaded: the monit binary is not in the path.)�salt�utils�path�which�rr�F/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/monit.py�__virtual__sr
cC�d|��}td|dd�S)z^

    CLI Example:

    .. code-block:: bash

        salt '*' monit.start <service name>
    zmonit start �cmd.retcodeF�Zpython_shell��__salt__��name�cmdrrr�starts
	rcCr)zy
    Stops service via monit

    CLI Example:

    .. code-block:: bash

        salt '*' monit.stop <service name>
    zmonit stop rFrrrrrr�stop*�

rcCr)z~
    Restart service via monit

    CLI Example:

    .. code-block:: bash

        salt '*' monit.restart <service name>
    zmonit restart rFrrrrrr�restart9rrcCr)z�
    Unmonitor service via monit

    CLI Example:

    .. code-block:: bash

        salt '*' monit.unmonitor <service name>
    zmonit unmonitor rFrrrrrr�	unmonitorHrrcCr)z~
    monitor service via monit

    CLI Example:

    .. code-block:: bash

        salt '*' monit.monitor <service name>
    zmonit monitor rFrrrrrr�monitorWrr�c	Cs�i}d}td|���}|D]M}d|vrtddd�S|r&||vs&d|vr'q|�d�}t|�dkr[|d	��|d
|d��}}}|dkrM||krMq||vrUi||<||||<q|S)
z�
    Display a summary from monit

    CLI Example:

    .. code-block:: bash

        salt '*' monit.summary
        salt '*' monit.summary <service name>
    z
monit summary�cmd.runzdaemon is not runningF)r�resultzThe Monit daemon�'�r��r)r�
splitlines�dict�split�len�strip)	�svc_name�retr�res�line�partsZresourcerZstatus_rrr�summaryfs$
$�r-cCs�d}td|�}t�dkrd}nd}d|}dd|}|�d|��d	d
��d�}i}|dd
�D]+}|��}	i}
|	D]}|d|���}||dd���|
|<q;|
||	d��d<q1|d
kre|}
|
S|�|d�}
|
S)z�
    Display a process status from monit

    CLI Example:

    .. code-block:: bash

        salt '*' monit.status
        salt '*' monit.status <service name>
    zmonit statusrz5.18.0�!�r ZProcess� rrz

r!���NrzNo such service)r�version�replacer%r#r'�get)r(rr*Zfieldlength�	separatorZprostr�s�entries�processZpro�tmp�items�keyr)rrr�status�s*
�r<cC�d}td|dd�S)z�
    .. versionadded:: 2016.3.0

    Reload monit configuration

    CLI Example:

    .. code-block:: bash

        salt '*' monit.reload
    zmonit reloadrFrr�rrrrr��rcCs`i}d}td|�}|ddkr d|d<|d|d<d|d	<|Sd
|d<|d|d<d|d	<|S)
z�
    .. versionadded:: 2016.3.0

    Test monit configuration syntax

    CLI Example:

    .. code-block:: bash

        salt '*' monit.configtest
    zmonit -t�cmd.run_all�retcoderzSyntax ErrorZcomment�stderrFrz	Syntax OK�stdoutTr)r)r�outrrr�
configtest�srEcCs(d}td|���}|d��}|dS)z�
    .. versionadded:: 2016.3.0

    Return version from monit -V

    CLI Example:

    .. code-block:: bash

        salt '*' monit.version
    zmonit -Vrrr1)rr#r%)rrDr)rrrr2�sr2FcCsh|r!t�d�}d}td|dd�}|�|d��d�}|r|SdSd	}td
|�}|�d�d��}|S)
z�
    .. versionadded:: 2016.3.0

    Return monit unique id.

    reset : False
        Reset current id and generate a new id when it's True.

    CLI Example:

    .. code-block:: bash

        salt '*' monit.id [reset=True]
    zMonit id (?P<id>[^ ]+)zecho y|monit -rr@TrrCrFzmonit -ir�:r1)�re�compiler�search�groupr%r')�resetZ
id_patternrrDr)rrrr�s
rcCr=)z�
    .. versionadded:: 2016.3.0

    Check all services

    CLI Example:

    .. code-block:: bash

        salt '*' monit.validate
    zmonit validaterFrrr>rrr�validater?rL)r)F)�__doc__rGZsalt.utils.pathrZ__func_alias__r
rrrrrr-r<rrEr2rrLrrrr�<module>s&�

(