File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/__pycache__/postgres.cpython-310.pyc
o
�N�gE � @ sz d Z ddlZddlmZ ddlmZ e�e�Zzddl Z dZ
W n ey* dZ
Y nw dd� ZG d d
� d
e�Z
dd� ZdS )
a1
Retrieve Pillar data by doing a postgres query
.. versionadded:: 2017.7.0
:maturity: new
:depends: psycopg2
:platform: all
Complete Example
================
.. code-block:: yaml
postgres:
user: 'salt'
pass: 'super_secret_password'
db: 'salt_db'
ext_pillar:
- postgres:
fromdb:
query: 'SELECT col1,col2,col3,col4,col5,col6,col7
FROM some_random_table
WHERE minion_pattern LIKE %s'
depth: 5
as_list: True
with_lists: [1,3]
� N)�contextmanager)�SqlBaseExtPillarTFc C s t sdS dS )NFT)�HAS_POSTGRES� r r �H/opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/postgres.py�__virtual__/ s r c s@ e Zd ZdZedd� �Zdd� Zedd� �Z� fdd �Z � Z
S )
�POSTGRESExtPillarzL
This class receives and processes the database rows from POSTGRES.
c C s dS )NZPOSTGRESr )�clsr r r �_db_name: s zPOSTGRESExtPillar._db_namec C s\ dddddd�}i }t �di �}|D ]}||vr%t�d|� || ||<