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.
maturity: | new |
---|---|
depends: | python-mysqldb |
platform: | all |
This module has an extra addition for backward compatibility.
If there's a keyword arg of mysql_query, that'll go first before other args. This legacy compatibility translates to depth 1.
We do this so that it's backward compatible with older configs. This is deprecated and slated to be removed in Boron.
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'
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]
salt.pillar.mysql.
MySQLExtPillar
¶This class receives and processes the database rows from MySQL.
extract_queries
(args, kwargs)¶This function normalizes the config block into a set of queries we can use. The return is a list of consistently laid out dicts.
salt.pillar.mysql.
ext_pillar
(minion_id, pillar, *args, **kwargs)¶Execute queries against MySQL, merge and return as a dict