golden hour
/opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
50.98 KB
Del
OK
__pycache__
-
Del
OK
azureblob.py
13.88 KB
Del
OK
cmd_json.py
787 B
Del
OK
cmd_yaml.py
893 B
Del
OK
cmd_yamlex.py
674 B
Del
OK
cobbler.py
1.64 KB
Del
OK
confidant.py
3.29 KB
Del
OK
consul_pillar.py
11.61 KB
Del
OK
csvpillar.py
1.85 KB
Del
OK
digicert.py
1007 B
Del
OK
django_orm.py
7.74 KB
Del
OK
ec2_pillar.py
10.08 KB
Del
OK
etcd_pillar.py
4.04 KB
Del
OK
extra_minion_data_in_pillar.py
2.18 KB
Del
OK
file_tree.py
18.03 KB
Del
OK
foreman.py
3.66 KB
Del
OK
git_pillar.py
19.61 KB
Del
OK
gpg.py
560 B
Del
OK
hg_pillar.py
3.2 KB
Del
OK
hiera.py
846 B
Del
OK
http_json.py
3.37 KB
Del
OK
http_yaml.py
3.08 KB
Del
OK
libvirt.py
5.78 KB
Del
OK
makostack.py
21.99 KB
Del
OK
mongo.py
6.05 KB
Del
OK
mysql.py
3.76 KB
Del
OK
nacl.py
744 B
Del
OK
netbox.py
36.22 KB
Del
OK
neutron.py
2.41 KB
Del
OK
nodegroups.py
1.7 KB
Del
OK
pepa.py
20.99 KB
Del
OK
pillar_ldap.py
10.82 KB
Del
OK
postgres.py
2.82 KB
Del
OK
puppet.py
846 B
Del
OK
reclass_adapter.py
4 KB
Del
OK
redismod.py
3.28 KB
Del
OK
rethinkdb_pillar.py
4.71 KB
Del
OK
s3.py
14.4 KB
Del
OK
saltclass.py
1.49 KB
Del
OK
sql_base.py
16.51 KB
Del
OK
sqlcipher.py
3.42 KB
Del
OK
sqlite3.py
2.67 KB
Del
OK
stack.py
22.92 KB
Del
OK
svn_pillar.py
5.74 KB
Del
OK
varstack_pillar.py
1.1 KB
Del
OK
vault.py
6.54 KB
Del
OK
venafi.py
966 B
Del
OK
virtkey.py
586 B
Del
OK
vmware_pillar.py
16.83 KB
Del
OK
Edit: extra_minion_data_in_pillar.py
""" Add all extra minion data to the pillar. :codeauthor: Alexandru.Bleotu@morganstanley.ms.com One can filter on the keys to include in the pillar by using the ``include`` parameter. For subkeys the ':' notation is supported (i.e. 'key:subkey') The keyword ``<all>`` includes all keys. Complete example in etc/salt/master ===================================== .. code-block:: none ext_pillar: - extra_minion_data_in_pillar: include: * ext_pillar: - extra_minion_data_in_pillar: include: - key1 - key2:subkey2 ext_pillar: - extra_minion_data_in_pillar: include: <all> """ import logging # Set up logging log = logging.getLogger(__name__) __virtualname__ = "extra_minion_data_in_pillar" def __virtual__(): return __virtualname__ def ext_pillar(minion_id, pillar, include, extra_minion_data=None): def get_subtree(key, source_dict): """ Returns a subtree corresponfing to the specified key. key Key. Supports the ':' notation (e.g. 'key:subkey') source_dict Source dictionary """ ret_dict = aux_dict = {} subtree = source_dict subkeys = key.split(":") # Build an empty intermediate subtree following the subkeys for subkey in subkeys[:-1]: # The result will be built in aux_dict aux_dict[subkey] = {} aux_dict = aux_dict[subkey] if subkey not in subtree: # The subkey is not in return {} subtree = subtree[subkey] if subkeys[-1] not in subtree: # Final subkey is not in subtree return {} # Assign the subtree value to the result aux_dict[subkeys[-1]] = subtree[subkeys[-1]] return ret_dict log.trace("minion_id = %s", minion_id) log.trace("include = %s", include) log.trace("extra_minion_data = %s", extra_minion_data) data = {} if not extra_minion_data: return {} if include in ["*", "<all>"]: return extra_minion_data data = {} for key in include: data.update(get_subtree(key, extra_minion_data)) return data
Save