Retrieve Pillar data by doing a MySQL query
MariaDB provides Python support through the MySQL Python package. Therefore, you may use this module with both MySQL or MariaDB.
This module is a concrete implementation of the sql_base ext_pillar for MySQL.
new
python-mysqldb
all
Use the 'mysql' key under ext_pillar for configuration of queries.
MySQL configuration of the MySQL returner is being used (mysql.db, mysql.user, mysql.pass, mysql.port, mysql.host) for database connection info.
Required python modules: MySQLdb
mysql:
user: 'salt'
pass: 'super_secret_password'
db: 'salt_db'
port: 3306
ssl:
cert: /etc/mysql/client-cert.pem
key: /etc/mysql/client-key.pem
ext_pillar:
- mysql:
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]
This class receives and processes the database rows from MySQL.
This function normalizes the config block into a set of queries we can use. The return is a list of consistently laid out dicts.
Execute queries against MySQL, merge and return as a dict