%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/linux_sysctl.pyo

�
���^c@@sdZddlmZmZmZddlZddlZddlZddlZddl	m
Z
ddlmZddl
mZddlZddlZddlZddlZeje�ZdZd�Zd	�Zed
�Zd�Zd�Zdd
�ZdS(u4
Module for viewing and modifying sysctl parameters
i(tabsolute_importtprint_functiontunicode_literalsN(tsix(tstring_types(tCommandExecutionErrorusysctlcC@stddkrtdfStS(u#
    Only run on Linux systems
    ukerneluLinuxuTThe linux_sysctl execution module cannot be loaded: only available on Linux systems.(t
__grains__tFalset__virtualname__(((s=/usr/lib/python2.7/site-packages/salt/modules/linux_sysctl.pyt__virtual__s
cC@s8tjjjt�r4tjjjt�dkr4dSdS(u�
    Linux hosts using systemd 207 or later ignore ``/etc/sysctl.conf`` and only
    load from ``/etc/sysctl.d/*.conf``. This function will do the proper checks
    and return a default config file which will be valid for the Minion. Hosts
    running systemd >= 207 will use ``/etc/sysctl.d/99-salt.conf``.

    CLI Example:

    .. code-block:: bash

        salt -G 'kernel:Linux' sysctl.default_config
    i�u/etc/sysctl.d/99-salt.confu/etc/sysctl.conf(tsalttutilstsystemdtbootedt__context__tversion(((s=/usr/lib/python2.7/site-packages/salt/modules/linux_sysctl.pytdefault_config(s
c
	C@s�i}|rtjj|�s"gSy�tjjj|���}x�|D]�}tjjj|�}|j	d�rDd|krDd}||kr�|j
�}n|j|d�\}}|j
�}|j�}|||<qDqDWWdQXWqt
tfk
rtjd�dSXnpd}td|d	d
�}xQ|j�D]C}|s8d|krWq8n|jdd�}	|	d||	d<q8W|S(u�
    Return a list of sysctl parameters for this minion

    config: Pull the data from the system configuration file
        instead of the live data.

    CLI Example:

    .. code-block:: bash

        salt '*' sysctl.show
    u#u=u = iNuCould not open sysctl fileu	sysctl -aucmd.run_stdouttoutput_loglevelutracei(tostpathtexistsR
Rtfilestfopentstringutilstto_strt
startswithtstriptsplittlstriptOSErrortIOErrortlogterrortNonet__salt__t
splitlines(
tconfig_filetrettfp_tlinetSPLITtkeytvaluetcmdtouttcomps((s=/usr/lib/python2.7/site-packages/salt/modules/linux_sysctl.pytshow;s6


cC@s)dj|�}td|dt�}|S(u�
    Return a single sysctl parameter for this minion

    CLI Example:

    .. code-block:: bash

        salt '*' sysctl.get net.ipv4.ip_forward
    u
sysctl -n {0}ucmd.runtpython_shell(tformatR"R(tnameR+R,((s=/usr/lib/python2.7/site-packages/salt/modules/linux_sysctl.pytgetis
cC@s�tj|�}tjr6|jdjdd��}nSt|t�rhidtd�6dtd�6}ntjdd�}|j|�}dj	|�}t
jj|�s�t
dj	|���ni}dj	||�}td	|d
t�}|d}|d}	tjd
j	tj|�tj|���}
|
j|�sVdtj|	�kr�|ddkru|	ru|	}n|}t
dj	|���n|jdd�\}}
|
||<|S(u�
    Assign a single sysctl parameter for this minion

    CLI Example:

    .. code-block:: bash

        salt '*' sysctl.assign net.ipv4.ip_forward 1
    uu./u/.u.u/u
/proc/sys/{0}usysctl {0} does not existusysctl -w {0}="{1}"ucmd.run_allR/ustdoutustderru^{0}\s+=\s+{1}$uInvalid argumenturetcodeiusysctl -w failed: {0}u = i(Rt	text_typetPY3t	translatet	maketranst
isinstancetunicodetordtstringR0RRRRR"RtretcompiletescapetmatchR(R1R*ttran_tabt
trans_argstsysctl_fileR%R+tdataR,terrtregexR tnew_namet	new_value((s=/usr/lib/python2.7/site-packages/salt/modules/linux_sysctl.pytassignxs0
	#

-%	
c	C@s�|dkrt�}nt}tjj|�s�tjj|�}tjj|�sdtj|�ny2t	j
jj|d��}|j
d�WdQXWq�ttfk
r�d}t|j|���q�Xng}y@t	j
jj|d��"}t	j
jj|j��}WdQXWn2ttfk
rHd}t|j|���nXx�|D]�}	|	jd�rx|j|	�qPnd|	kr�|j|	�qPng|	jdd	�D]}
|
j�^q�}t|d	t�rd
|d	krtjdd|d	�|d	<nt|t�r8d
|kr8tjdd|�}nt|�d
kr]|j|	�qPn||dkr�tj|d	�tj|�kr�tjt |��tj|�kr�t!||�dSdSn|jdj||��t"}qPqP|j|	�qPW|s#|jdj||��nyAt	j
jj|d��#}|j#t	j
jj$|��WdQXWn2ttfk
r�d}t|j|���nXt!||�dS(uC
    Assign and persist a simple sysctl parameter for this minion. If ``config``
    is not specified, a sensible default will be chosen using
    :mod:`sysctl.default_config <salt.modules.linux_sysctl.default_config>`.

    CLI Example:

    .. code-block:: bash

        salt '*' sysctl.persist net.ipv4.ip_forward 1
    uw+u"#
# Kernel sysctl configuration
#
NuCould not write to file: {0}uruCould not read from file: {0}u#u=iu u\s+u	iiuUpdateduAlready setu
{0} = {1}
uwb(%R!RRRRtisfiletdirnameRtmakedirsR
RRRtwriteRRRR0RBtdecodet	readlinesRtappendRRR7RR;tsubtlenRR3R2RGtTruet
writelinestencode(R1R*tconfigteditedt
sysctl_dirt_fhtmsgtnlinestconfig_dataR'tiR-((s=/usr/lib/python2.7/site-packages/salt/modules/linux_sysctl.pytpersist�sn%


+# 
"$
&
( t__doc__t
__future__RRRtloggingRR;R:tsalt.extRtsalt.ext.sixRtsalt.exceptionsRtsalt.utils.dataR
tsalt.utils.filestsalt.utils.systemdtsalt.utils.stringutilst	getLoggert__name__RRR	RRR.R2RGR!R\(((s=/usr/lib/python2.7/site-packages/salt/modules/linux_sysctl.pyt<module>s(			.		/

Zerion Mini Shell 1.0