File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/__pycache__/sqlcipher.cpython-310.pyc
Back
o ;j� � @ s~ d Z ddlZddlmZ ddlmZ e�e�Zz ddl m Z dZW n e y, dZY nw dd � ZG d d� de�Zdd � ZdS )a Retrieve Pillar data by running a SQLCipher query .. versionadded:: 2016.3.0 Python SQLCipher support is provided by the pysqlcipher Python package. You need this module installed to query Pillar data from a SQLCipher database. This module is a concrete implementation of the sql_base ext_pillar for SQLCipher. :maturity: new :depends: pysqlcipher (for py2) or pysqlcipher3 (for py3) :platform: all Configuring the sqlcipher ext_pillar ==================================== Use the 'sqlcipher' key under ext_pillar for configuration of queries. SQLCipher database connection configuration requires the following values configured in the master config: * ``sqlcipher.database`` - The SQLCipher database to connect to. Defaults to ``'/var/lib/salt/pillar-sqlcipher.db'``. * ``sqlcipher.pass`` - The SQLCipher database decryption password. * ``sqlcipher.timeout`` - The connection timeout in seconds. Example configuration .. code-block:: yaml sqlcipher: database: /var/lib/salt/pillar-sqlcipher.db pass: strong_pass_phrase timeout: 5.0 Complete Example ================ .. code-block:: yaml sqlcipher: database: '/var/lib/salt/pillar-sqlcipher.db' pass: strong_pass_phrase timeout: 5.0 ext_pillar: - sqlcipher: fromdb: query: 'SELECT col1,col2,col3,col4,col5,col6,col7 FROM some_random_table WHERE minion_pattern LIKE ?' depth: 5 as_list: True with_lists: [1,3] � N)�contextmanager)�SqlBaseExtPillar)�dbapi2TFc C s t sdS dS )NFT)� HAS_SQLCIPHER� r r �I/opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/sqlcipher.py�__virtual__L s r c @ s0 e Zd ZdZedd� �Zdd� Zedd� �ZdS ) �SQLCipherExtPillarzM This class receives and processes the database rows from SQLCipher. c C s dS )NZ SQLCipherr )�clsr r r �_db_nameW s zSQLCipherExtPillar._db_namec C sX dddd�}i }t �di �}|D ]}||vr#t�d|� || ||<