HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/s6.cpython-310.pyc
o

�N�g?�@s�dZddlZddlZddlmZddiZddgZdZeD]Zej	�
e�r(eZnqdd	�Zd
d�Zdd
�Z
dd�Zdd�Zdd�Zdd�Zddd�Zdd�Zdd�Zdd�ZdS)a�
s6 service module

This module is compatible with the :mod:`service <salt.states.service>` states,
so it can be used to maintain services using the ``provider`` argument:

.. code-block:: yaml

    myservice:
      service:
        - running
        - provider: s6

Note that the ``enabled`` argument is not available with this provider.

:codeauthor: Marek Skrobacki <skrobul@skrobul.com>
�N)�CommandExecutionError�reload_�reloadz/servicez/etc/servicecCststd��t�d|��S)z
    build service path
    �!Could not find service directory.�/)�SERVICE_DIRr��name�r
�C/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/s6.py�
_service_path%srcC�dt|���}td|�S)zu
    Starts service via s6

    CLI Example:

    .. code-block:: bash

        salt '*' s6.start <service name>
    z
s6-svc -u �cmd.retcode�r�__salt__�r	�cmdr
r
r�start.�
rcCr
)zs
    Stops service via s6

    CLI Example:

    .. code-block:: bash

        salt '*' s6.stop <service name>
    z
s6-svc -d rrrr
r
r�stop<rrcCr
)z|
    Send a TERM to service via s6

    CLI Example:

    .. code-block:: bash

        salt '*' s6.term <service name>
    �
s6-svc -t rrrr
r
r�termJrrcCr
)z}
    Send a HUP to service via s6

    CLI Example:

    .. code-block:: bash

        salt '*' s6.reload <service name>
    z
s6-svc -h rrrr
r
rrXrcCr
)z�
    Restart service via s6. This will stop/start service

    CLI Example:

    .. code-block:: bash

        salt '*' s6.restart <service name>
    rrrrr
r
r�restartfrrcCst|�dS)z�
    Calls s6.restart() function

    CLI Example:

    .. code-block:: bash

        salt '*' s6.full_restart <service name>
    N)rrr
r
r�full_restartts
rcCsLdt|���}td|�}zt�d|��d�}W|Sty%d}Y|Sw)z�
    Return the status for a service via s6, return pid if running

    CLI Example:

    .. code-block:: bash

        salt '*' s6.status <service name>
    z
s6-svstat zcmd.run_stdoutzup \(pid (\d+)\)��)rr�re�search�group�AttributeError)r	�sigr�out�pidr
r
r�status�s
��r#cCs
|t�vS)z�
    Returns ``True`` if the specified service is available, otherwise returns
    ``False``.

    CLI Example:

    .. code-block:: bash

        salt '*' s6.available foo
    ��get_allrr
r
r�	available�s
r&cCs
|t�vS)z�
    The inverse of s6.available.
    Returns ``True`` if the specified service is not available, otherwise returns
    ``False``.

    CLI Example:

    .. code-block:: bash

        salt '*' s6.missing foo
    r$rr
r
r�missing�s
r'cCs(tstd��dd�t�t�D�}t|�S)zz
    Return a list of all available services

    CLI Example:

    .. code-block:: bash

        salt '*' s6.get_all
    rcSsg|]	}|�d�s|�qS)�.)�
startswith)�.0�dirnamer
r
r�
<listcomp>�s

��zget_all.<locals>.<listcomp>)rr�os�listdir�sorted)Zservice_listr
r
rr%�s
�r%)N)�__doc__r-rZsalt.exceptionsrZ__func_alias__ZVALID_SERVICE_DIRSrZservice_dir�path�existsrrrrrrrr#r&r'r%r
r
r
r�<module>s2��