%PDF- %PDF-
Mini Shell

Mini Shell

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

�
���^c@@sdZddlmZmZmZddlZddlZddlZddlm	Z	m
Z
mZddlm
Z
ddlZddlZddlmZddlmZeje�Zd�Zd	�Zd
dd�Zd
�Zddd�Zeddd�Zd�Zed�Z dS(u$
Module for full system inspection.
i(tabsolute_importtprint_functiontunicode_literalsN(tInspectorQueryExceptiontInspectorSnapshotExceptiontInspectorKiwiProcessorException(tsix(tCommandExecutionError(tget_error_messagecC@stjjj�odS(u)
    Only work on POSIX-like systems
    u	inspector(tsalttutilstplatformt
is_windows(((s:/usr/lib/python2.7/site-packages/salt/modules/inspector.pyt__virtual__&scC@s�d}y(ddl}|jdj|��}WnFtk
rv}ttdt�t�dt	j
|�g�|�}nXt|_t|_t
|_
|S(uU
    Get inspectlib module for the lazy loader.

    :param module:
    :return:
    iNusalt.modules.inspectlib.{0}usalt.modules.inspectlibtfromlist(tNonet	importlibt
import_moduletformattImportErrortgetattrt
__import__tglobalstlocalsRt	text_typet
__grains__t
__pillar__t__salt__(tmoduletmodRterr((s:/usr/lib/python2.7/site-packages/salt/modules/inspector.pyt_-s7			uallicK@s�td�}y@|jdtddtjjtd��j|d||�SWnPtk
rm}t|��n2t	k
r�}t
jt|��t	|��nXdS(u'
    Start node inspection and save the data to the database for further query.

    Parameters:

    * **mode**: Clarify inspection mode: configuration, payload, all (default)

      payload
        * **filter**: Comma-separated directories to track payload.

    * **priority**: (advanced) Set priority of the inspection. Default is low priority.



    CLI Example:

    .. code-block:: bash

        salt '*' inspector.inspect
        salt '*' inspector.inspect configuration
        salt '*' inspector.inspect payload filter=/opt,/ext/oracle
    u	collectortcachedirucachedirtpiddirupidfiletpriorityN(
Rt	Inspectort__opts__tostpathtdirnametrequest_snapshotRRt	Exceptiontlogterrort_get_error_message(tmodeR"tkwargst	collectortex((s:/usr/lib/python2.7/site-packages/salt/modules/inspector.pytinspectGscO@s�td�}y-|j|jd�dtd�||�SWnPtk
rZ}t|��n2tk
r�}tjt	|��t|��nXdS(ux
    Query the node for specific information.

    Parameters:

    * **scope**: Specify scope of the query.

       * **System**: Return system data.

       * **Software**: Return software information.

       * **Services**: Return known services.

       * **Identity**: Return user accounts information for this system.
          accounts
            Can be either 'local', 'remote' or 'all' (equal to "local,remote").
            Remote accounts cannot be resolved on all systems, but only
            those, which supports 'passwd -S -a'.

          disabled
            True (or False, default) to return only disabled accounts.

       * **payload**: Payload scope parameters:
          filter
            Include only results which path starts from the filter string.

          time
            Display time in Unix ticks or format according to the configured TZ (default)
            Values: ticks, tz (default)

          size
            Format size. Values: B, KB, MB, GB

          type
            Include payload type.
            Values (comma-separated): directory (or dir), link, file (default)
            Example (returns everything): type=directory,link,file

          owners
            Resolve UID/GID to an actual names or leave them numeric (default).
            Values: name (default), id

          brief
            Return just a list of payload elements, if True. Default: False.

       * **all**: Return all information (default).

    CLI Example:

    .. code-block:: bash

        salt '*' inspector.query scope=system
        salt '*' inspector.query scope=payload type=file,link filter=/etc size=Kb brief=False
    uqueryuscopeR ucachedirN(
RtQuerytgetR$RRR)R*R+R,(targsR.tqueryR0((s:/usr/lib/python2.7/site-packages/salt/modules/inspector.pyR5js7-uqcow2u/tmp/cC@s�yRtd�jdtddtjjtd�dd�j�jd|d	|�WnPtk
rs}t	|��n2t
k
r�}tjt
|��t
|��nXd
S(u 
    Build an image from a current system description.
    The image is a system image can be output in bootable ISO or QCOW2 formats.

    Node uses the image building library Kiwi to perform the actual build.

    Parameters:

    * **format**: Specifies output format: "qcow2" or "iso. Default: `qcow2`.
    * **path**: Specifies output path where to store built image. Default: `/tmp`.

    CLI Example:

    .. code-block:: bash

        salt myminion inspector.build
        salt myminion inspector.build format=iso path=/opt/builds/
    u	collectorR ucachedirR!upidfiletpidfilenameuRR&N(RR#R$R%R&R'treuse_snapshottbuildRRR)R*R+R,(RR&R0((s:/usr/lib/python2.7/site-packages/salt/modules/inspector.pyR8�s#u/tmpcC@s�tj�dkr!td��nyWtd�jddtd��}td�j�j�j|d|d	|d
|�SWnPt	k
r�}t|��n2t
k
r�}tjt
|��t
|��nXdS(u�
    Export an image description for Kiwi.

    Parameters:

    * **local**: Specifies True or False if the export has to be in the local file. Default: False.
    * **path**: If `local=True`, then specifies the path where file with the Kiwi description is written.
                Default: `/tmp`.

    CLI Example:

    .. code-block:: bash

        salt myminion inspector.export
        salt myminion inspector.export format=iso path=/opt/builds/
    urootu;In order to export system, the minion should run as "root".uqueryuallR ucachediru	collectortlocalR&RN(tgetpasstgetuserRRR2R$R#R7texportRR)R*R+R,(R9R&RtdescriptionR0((s:/usr/lib/python2.7/site-packages/salt/modules/inspector.pyR<�s"5cC@s�y=td�jdtddtjjtd��jj�SWnPtk
r^}t	|��n2t
k
r�}tjt
|��t
|��nXdS(u�
    List current description snapshots.

    CLI Example:

    .. code-block:: bash

        salt myminion inspector.snapshots
    u	collectorR ucachedirR!upidfileN(RR#R$R%R&R'tdbtlistRRR)R*R+R,(R((s:/usr/lib/python2.7/site-packages/salt/modules/inspector.pyt	snapshots�s
$cG@s�|r|rtd��ny�t�}td�jdtddtjjtd��}xE|rs|jj	�pv|D](}|jj
jtj
|��||<qwW|SWnPtk
r�}t|��n2tk
r�}tjt|��t|��nXdS(u
    Remove description snapshots from the system.

    ::parameter: all. Default: False. Remove all snapshots, if set to True.

    CLI example:

    .. code-block:: bash

        salt myminion inspector.delete <ID> <ID1> <ID2>..
        salt myminion inspector.delete all=True
    u"At least one database ID required.u	collectorR ucachedirR!upidfileN(RtdictRR#R$R%R&R'R>R?t_dbtpurgeRRRR)R*R+R,(tallt	databasestrett	inspectortdbidR((s:/usr/lib/python2.7/site-packages/salt/modules/inspector.pytdelete�s
	"&(!t__doc__t
__future__RRRtloggingR%R:t"salt.modules.inspectlib.exceptionsRRRtsalt.extRtsalt.utils.fsutilsR	tsalt.utils.platformtsalt.exceptionsRRR,t	getLoggert__name__R*R
RR1R5R8tFalseR<R@RI(((s:/usr/lib/python2.7/site-packages/salt/modules/inspector.pyt<module>s&		#	A	

Zerion Mini Shell 1.0