%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyc

�
���^c@@s�dZddlmZmZmZddlZddlZddlZddlZddl	Z
ddljj
Z
ddlZ
ddlmZidd6Zeje�ZdZd�Ze
jdd	��Zd
�Zdd�Zdd�Zdd
�Zdd�Zd�Zd�Z d�Z!d�Z"d�Z#dd�Z$dd�Z%dd�Z&dd�Z'dd�Z(dd�Z)dd�Z*ddd�Z+dS(u$
The service module for FreeBSD

.. important::
    If you feel that Salt should be using this module to manage services on a
    minion, and it is using a different module (or gives an error similar to
    *'service.start' is not available*), see :ref:`here
    <module-provider-override>`.
i(tabsolute_importtunicode_literalstprint_functionN(tCommandNotFoundErrorureloadureload_uservicecC@stddkrtStdfS(u
    Only work on FreeBSD
    uosuFreeBSDuXThe freebsdservice execution module cannot be loaded: only available on FreeBSD systems.(t
__grains__t__virtualname__tFalse(((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyt__virtual__#scC@svtjjjd�}|s*td��n|rrtjjjd�}|sZtd��ndj|||�}n|S(u�
    Return full path to service command

    .. versionchanged:: 2016.3.4

    Support for jail (representing jid or jail name) keyword argument in kwargs
    userviceu'service' command not foundujexecu'jexec' command not foundu{0} {1} {2}(tsalttutilstpathtwhichRtformat(tjailtservicetjexec((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyt_cmd-s	cC@s�tjjjd�}|s*td��ntddj|��}xX|j�D]J}d�|j�D�\}}}||ks�||krP|j	d�SqPWdS(u�
    .. versionadded:: 2016.3.4

    Return the jail's root directory (path) as shown in jls

    jail
        The jid or jail name
    ujlsu'jls' command not founducmd.run_stdoutu{0} -n jid name pathcs@s(|]}|jd�dj�VqdS(u=iN(tsplittstrip(t.0tx((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pys	<genexpr>Osu/u(
RR	R
RRt__salt__Rt
splitlinesRtrstrip(R
tjlstjailstjtjidtjnameR
((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyt_get_jail_pathAs	cC@s�djt|��}|r't|�nd}xgtd|dt�j�D]I}|jdjtjj	|��rJtjj
||jtjj	��SqJWdS(u�
    Return full path to service rc script

    .. versionchanged:: 2016.3.4

    Support for jail (representing jid or jail name) keyword argument in kwargs
    u{0} -ruucmd.run_stdouttpython_shellu{0}{1}N(
RRRRRRtendswithtosR
tseptjointlstriptNone(tnameR
tcmdtprftline((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyt
_get_rcscriptVs#!&cC@s�t||�s#tjd|�tSdjt|�|�}xOtd|dt�j�D]1}d|krpqXn|jdd�\}}|SWdS(	u�
    Return rcvar

    .. versionchanged:: 2016.3.4

    Support for jail (representing jid or jail name) keyword argument in kwargs
    uService %s not foundu
{0} {1} rcvarucmd.run_stdoutRu	_enable="u=iN(
t	availabletlogterrorRRRRRRR$(R%R
R&R(trcvart_((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyt
_get_rcvarfs#cC@s�g}t|�}|r$t|�nd}x@tddj|��j�D]}|jtjj|��qJWxlt	|�D]^}||kr�qzntjj
dj||��s�qznt|d|�rz|j|�qzqzWt|�S(u�
    Return what services are set to run on boot

    .. versionchanged:: 2016.3.4

    Support for jail (representing jid or jail name) keyword argument in kwargs

    CLI Example:

    .. code-block:: bash

        salt '*' service.get_enabled
    uucmd.runu{0} -eu{0}/etc/rc.conf.d/{1}R
(
RRRRRtappendR R
tbasenametget_alltexiststenabledtsorted(R
tretRR'tsvc((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytget_enabled}s&cC@s2t|�}t|�}tt|�t|��S(u
    Return what services are available but not enabled to start at boot

    .. versionchanged:: 2016.3.4

    Support for jail (representing jid or jail name) keyword argument in kwargs

    CLI Example:

    .. code-block:: bash

        salt '*' service.get_disabled
    (R8R2R5tset(R
ten_tall_((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytget_disabled�scK@s�|jdd�}|jdd�jd�}t||�s@tSt||�}|sitjd|�tS|r�|r�t|�}n|jdtddd	d
j	|���}|s#dj	|�}t
jj|�s�t
jj
|�r�tjd|�tSt
jj||jd
d��}ng}t}	|r>d}
nd}
t
jj|�rtjjj|d���}x�|D]�}tjjj|�}|jdj	|��s�|j|�qxn|t|j�d�}
|jdj	||
|
��t}	qxWWdQXn|	sit|�dkrM|dddkrMdj	|d�|d<n|jdj	||
��ntjjj|d��<}g|D]}tjjj|�^q�}|j|�WdQXtS(u?
    Switch on/off service start at boot.

    .. versionchanged:: 2016.3.4

    Support for jail (representing jid or jail name) and chroot keyword argument
    in kwargs. chroot should be used when jail's /etc is mounted read-only and
    should point to a root directory where jail's /etc is mounted read-write.
    ujailuuchrootu/urcvar for service %s not founduconfigu
config.optionuservice.configtdefaultu{0}/etc/rc.confu{0}/etc/rc.conf.du
%s not existsu_enableuYESuNOuru{0}=iu{0}="{1}"{2}Nii����u
u{0}
u
{0}="{1}"
uw(tgetRR*RR/R+R,RRRR R
R3tisdirR"treplaceRR	tfilestfopentstringutilst
to_unicodet
startswithR0tlenRtTruetto_strt
writelines(R%tontkwargsR
tchrootR-tconfigtrcdirtnlinesteditedtvaltifileR(tresttofilet_l((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyt_switch�sT
	
&$	

&(cK@st|t|�S(u�
    Enable the named service to start at boot

    name
        service name

    config : /etc/rc.conf
        Config file for managing service. If config value is
        empty string, then /etc/rc.conf.d/<service> used.
        See man rc.conf(5) for details.

        Also service.config variable can be used to change default.

    .. versionchanged:: 2016.3.4

    jail (optional keyword argument)
        the jail's id or name

    chroot (optional keyword argument)
        the jail's chroot, if the jail's /etc is not mounted read-write

    CLI Example:

    .. code-block:: bash

        salt '*' service.enable <service name>
    (RVRG(R%RK((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytenable�scK@st|t|�S(u�
    Disable the named service to start at boot

    Arguments the same as for enable()

    .. versionchanged:: 2016.3.4

    jail (optional keyword argument)
        the jail's id or name

    chroot (optional keyword argument)
        the jail's chroot, if the jail's /etc is not mounted read-write

    CLI Example:

    .. code-block:: bash

        salt '*' service.disable <service name>
    (RVR(R%RK((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytdisablescK@s�|jdd�}t||�s5tjd|�tSdjt|�|�}x^td|dt�j�D]@}d|kr�qjn|j	dd	�\}}}|j
�dkSWtS(u5
    Return True if the named service is enabled, false otherwise

    name
        Service name

    .. versionchanged:: 2016.3.4

    Support for jail (representing jid or jail name) keyword argument in kwargs

    CLI Example:

    .. code-block:: bash

        salt '*' service.enabled <service name>
    ujailuuService %s not foundu
{0} {1} rcvarucmd.run_stdoutRu	_enable="u"iuyesutrueuonu1(uyesutrueuonu1(R>R*R+R,RRRRRRtlower(R%RKR
R&R(R.tstate((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyR4.s#cK@st||�S(u�
    Return True if the named service is enabled, false otherwise

    CLI Example:

    .. code-block:: bash

        salt '*' service.disabled <service name>
    (R4(R%RK((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytdisabledPs
cC@s|t|�kS(u�
    Check that the given service is available.

    .. versionchanged:: 2016.3.4

    jail: optional jid or jail name

    CLI Example:

    .. code-block:: bash

        salt '*' service.available sshd
    (R2(R%R
((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyR*]scC@s|t|�kS(u&
    The inverse of service.available.
    Returns ``True`` if the specified service is not available, otherwise returns
    ``False``.

    .. versionchanged:: 2016.3.4

    jail: optional jid or jail name

    CLI Example:

    .. code-block:: bash

        salt '*' service.missing sshd
    (R2(R%R
((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytmissingnscC@sbg}t|�}xCtddj|��j�D]"}|j�s2|j|�q2q2Wt|�S(u�
    Return a list of all available services

    .. versionchanged:: 2016.3.4

    jail: optional jid or jail name

    CLI Example:

    .. code-block:: bash

        salt '*' service.get_all
    ucmd.runu{0} -l(RRRRtisupperR0R5(R
R6Rtsrv((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyR2�s&cC@s-djt|�|�}td|dt�S(u�
    Start the specified service

    .. versionchanged:: 2016.3.4

    jail: optional jid or jail name

    CLI Example:

    .. code-block:: bash

        salt '*' service.start <service name>
    u{0} {1} onestartucmd.retcodeR(RRRR(R%R
R&((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytstart�scC@s-djt|�|�}td|dt�S(u�
    Stop the specified service

    .. versionchanged:: 2016.3.4

    jail: optional jid or jail name

    CLI Example:

    .. code-block:: bash

        salt '*' service.stop <service name>
    u{0} {1} onestopucmd.retcodeR(RRRR(R%R
R&((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytstop�scC@s-djt|�|�}td|dt�S(u�
    Restart the named service

    .. versionchanged:: 2016.3.4

    jail: optional jid or jail name

    CLI Example:

    .. code-block:: bash

        salt '*' service.restart <service name>
    u{0} {1} onerestartucmd.retcodeR(RRRR(R%R
R&((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytrestart�scC@s-djt|�|�}td|dt�S(u�
    Restart the named service

    .. versionchanged:: 2016.3.4

    jail: optional jid or jail name

    CLI Example:

    .. code-block:: bash

        salt '*' service.reload <service name>
    u{0} {1} onereloaducmd.retcodeR(RRRR(R%R
R&((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytreload_�scC@s�|rttd|��Sttjd|��}|rPtjt�|�}n	|g}i}xG|D]?}djt|�|�}td|dt	dt
�||<qfW|r�|S||S(u
    Return the status for a service.
    If the name contains globbing, a dict mapping service name to True/False
    values is returned.

    .. versionchanged:: 2016.3.4

    .. versionchanged:: 2018.3.0
        The service name can now be a glob (e.g. ``salt*``)

    Args:
        name (str): The name of the service to check
        sig (str): Signature to use to find the service via ps

    Returns:
        bool: True if running, False otherwise
        dict: Maps service name to True if running, False otherwise

    CLI Example:

    .. code-block:: bash

        salt '*' service.status <service name> [service signature]
    u
status.pidu\*|\?|\[.+\]u{0} {1} onestatusucmd.retcodeRtignore_retcode(tboolRtretsearchtfnmatchtfilterR2RRRRG(R%tsigR
tcontains_globbingtservicestresultsRR&((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pytstatus�s	

(,t__doc__t
__future__RRRtloggingR RgRetsalt.utils.pathRtsalt.utils.decoratorsR	t
decoratorstsalt.utils.filestsalt.exceptionsRt__func_alias__t	getLoggert__name__R+RRtmemoizeR$RRR)R/R8R<RVRWRXR4R[R*R\R2R_R`RaRbRm(((s?/usr/lib/python2.7/site-packages/salt/modules/freebsdservice.pyt<module>
sD
	
	 	H			"	


Zerion Mini Shell 1.0