%PDF- %PDF-
Direktori : /lib/python2.7/site-packages/salt/pillar/ |
Current File : //lib/python2.7/site-packages/salt/pillar/rethinkdb_pillar.pyc |
� ���^c @@ s� d Z d d l m Z m Z m Z d d l Z y d d l Z e Z Wn e k r] e Z n Xd Z i d d 6d d 6d d 6d d 6d d 6Z d � Z e j e � Z d d d d d � Z d S( 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 ( t absolute_importt print_functiont unicode_literalsNu rethinkdbu saltu rethinkdb.hostu 28015u rethinkdb.portu rethinkdb.databaseu rethinkdb.usernameu rethinkdb.passwordc C@ s t s t St S( N( t HAS_RETHINKDBt Falset True( ( ( s@ /usr/lib/python2.7/site-packages/salt/pillar/rethinkdb_pillar.pyt __virtual__D s u pillarc C@ s� t d } t d } t d } t d } t d } t j d | | | � t j d | d | d | d | d | � } d } z� | r� t j d | | | � | r� t j | � j i | | 6� j | � j | � } qct j | � j i | | 6� j | � } ng t j d | | � | rBt j | � j | � j | � j | � } n! t j | � j | � j | � } Wd | j � r�| j � n X| j r�t | j � d k r�t j d | � i S| j j � } | r�i | | 6S| St j d � i Sd S( 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 u rethinkdb.hostu rethinkdb.portu rethinkdb.databaseu rethinkdb.usernameu rethinkdb.passwordu9 Connecting to %s:%s as user '%s' for RethinkDB ext_pillart hostt portt dbt usert passworduI ext_pillar.rethinkdb: looking up pillar. table: %s, field: %s, minion: %suI ext_pillar.rethinkdb: looking up pillar. table: %s, field: id, minion: %sNi u= ext_pillar.rethinkdb: ambiguous documents found for minion %su'