%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/logadm.pyc

�
���^c@@s�dZddlmZmZmZddlZddlZyddlmZWn!e	k
rqddl
mZnXddlmZddl
ZddljjZddlZddlZeje�ZdZidd6d	d
6dd6Zid
d6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d1d26Zd3�Zd4�Zed5�Zed6�Zedd7�Z ede!d8�Z"ej#d9��Z$ded:�Z%ed;�Z&dS(<u9
Module for managing Solaris logadm based log rotations.
i(tabsolute_importtprint_functiontunicode_literalsN(tquote(tsixu/etc/logadm.confucopyu-cu	localtimeu-luskip_missingu-Nuageu-Aucountu-Cupost_commandu-aupre_commandu-bu	mail_addru-euexpire_commandu-Eugroupu-gumodeu-murename_commandu-Muowneru-ouperiodu-putimestmpu-Puold_created_commandu-Rusizeu-sumax_sizeu-Sutemplateu-tuold_patternu-Tu	entrynameu-wucompress_countu-zcC@sdtdkrtStdfS(u,
    Only work on Solaris based systems
    uSolarisu	os_familyuHThe logadm execution module cannot be loaded: only available on Solaris.(t
__grains__tTruetFalse(((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pyt__virtual__4scC@s~gtj�D]\}}||kr
|^q
}|gtj�D]\}}||krA|^qA7}t|�rz|dSdS(u6
    Turn a pass argument into the correct option
    iN(toption_togglestitemstoption_flagstlentNone(targtotatres((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pyt_arg2opt=s15c	C@s�i}tjjj|d��x}xn|D]f}tjjj|�j�}|sUq(n|jd�rjq(n|jdd�}|d||d<q(WWdQX|S(u,
    Parse a logadm configuration file.
    uru#u iiN(	tsalttutilstfilestfopentstringutilst
to_unicodetstript
startswithtsplit(t	conf_filetrettifiletlinet	splitline((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pyt_parse_confFs
cC@soi}tj|�}t|�dkr+d
S|jd�rG||d<n
||d<d}xR|t|�kr�|dt|�dgkr�||jd�r�|||d<n�||tkr�t|t||<n�||tkrF|dt|�krF||dj�rt	||d�n||d|t||<|d7}nXd|kr_g|d<nd||kr�dj
||�|d	<n|dj||�|d7}qZWd|kr�dj|d�|d<nd|krd|kr|d|d<|d=n|rkx-tj
�D]}||krt||<qqWx0tj
�D]}||krEd
||<qEqEWn|S(u'
    Parse a logadm options string
    iu/ulog_fileu	entrynameiuadditional_optionsu u'{}'udditional_optionsN(tshlexRRR
RR	RRtisdigittinttformattappendtjointvaluesR(tentrytoptionst
include_unsettlog_cfgtindextname((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pyt_parse_optionsWsF

/&B


cC@sOt|�}|r-||kr-i|||6S|rGidj|�|6S|SdS(u0
    Show configuration

    conf_file : string
        path to logadm.conf, defaults to /etc/logadm.conf
    name : string
        optional show only a single entry

    CLI Example:

    .. code-block:: bash

        salt '*' logadm.show_conf
        salt '*' logadm.show_conf name=/var/log/syslog
    unot found in {}N(R!R%(RR.tcfg((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pyt	show_conf�scC@s�t|�}i}xH|D]@}t||||�}||d|krQ|dn|d<qW|r~||kr~i|||6S|r�idj|�|6S|SdS(u�
    Show parsed configuration

    .. versionadded:: 2018.3.0

    conf_file : string
        path to logadm.conf, defaults to /etc/logadm.conf
    log_file : string
        optional show only one log file
    include_unset : boolean
        include unset flags in output

    CLI Example:

    .. code-block:: bash

        salt '*' logadm.list_conf
        salt '*' logadm.list_conf log=/var/log/syslog
        salt '*' logadm.list_conf include_unset=False
    ulog_fileu	entrynameunot found in {}N(R!R/R%(Rtlog_fileR+R0t
cfg_parsedR)R,((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pyt	list_conf�s
(cC@sniid6id6}x(tj�D]\}}||d|<q!Wx(tj�D]\}}||d|<qLW|S(u�
    Show which arguments map to which flags and options.

    .. versionadded:: 2018.3.0

    CLI Example:

    .. code-block:: bash

        salt '*' logadm.show_args
    uflagsuoptions(R	R
R(tmappingtflagRtoption((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pyt	show_args�s
cK@stjjj|�}d|krD|rD|jd�rD||d<nd|kr�|rr|jd�rr||d<q�|r�|jd�r�||d<q�ntjd|�dj|�}x�|j�D]�\}}|t	j
�kr|rdj|t|��}q�|tj
�krAdj|t|�t
tj|���}q�|dkr�tjd|�q�q�Wd|kr�d|kr�d	j|t
|d��}q�dj|t
|d��}ntjd
|�td|dt�}|d
dkrtddd|d�Stdd�S(u�
    Set up pattern for logging.

    name : string
        alias for entryname
    pattern : string
        alias for log_file
    conf_file : string
        optional path to alternative configuration file
    kwargs : boolean|string|int
        optional additional flags and parameters

    .. note::
        ``name`` and ``pattern`` were kept for backwards compatibility reasons.

        ``name`` is an alias for the ``entryname`` argument, ``pattern`` is an alias
        for ``log_file``. These aliases will only be used if the ``entryname`` and
        ``log_file`` arguments are not passed.

        For a full list of arguments see ```logadm.show_args```.

    CLI Example:

    .. code-block:: bash

        salt '*' logadm.rotate myapplog pattern='/var/log/myapp/*.log' count=7
        salt '*' logadm.rotate myapplog log_file='/var/log/myapp/*.log' count=4 owner=myappd mode='0700'

    u	entrynameu/ulog_fileulogadm.rotate - kwargs: %sulogadm -f {}u{} {}u{} {} {}u0Unknown argument %s, don't know how to map this!u{} -w {}ulogadm.rotate - command: %sucmd.run_alltpython_shelluretcodeitErroruFailed in adding logtOutputustderrtResultuSuccess(RRtargstclean_kwargsRtlogtdebugR%R
R	R(RRt_quote_argsRt	text_typetwarningt__salt__Rtdict(R.tpatternRtkwargstcommandRtvaltresult((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pytrotate�s>"

		cC@s\dj||�}td|dt�}|ddkrOtddd|d	�Std
d�S(u{
    Remove log pattern from logadm

    CLI Example:

    .. code-block:: bash

      salt '*' logadm.remove myapplog
    ulogadm -f {0} -r {1}ucmd.run_allR9uretcodeiR:u2Failure in removing log. Possibly already removed?R;ustderrR<uSuccess(R%RDRRE(R.RRHRJ((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pytremoveFs
('t__doc__t
__future__RRRtloggingR"RRAtImportErrortpipestsalt.extRtsalt.utils.argsRtsalt.utils.decoratorsRt
decoratorstsalt.utils.filestsalt.utils.stringutilst	getLoggert__name__R?tdefault_confR	RRRR!RR/R
R1RR4tmemoizeR8RKRL(((s7/usr/lib/python2.7/site-packages/salt/modules/logadm.pyt<module>s^


				D&T

Zerion Mini Shell 1.0