003 File Manager
Current Path:
/usr/local/lib/python3.8/site-packages/salt/pillar
usr
/
local
/
lib
/
python3.8
/
site-packages
/
salt
/
pillar
/
📁
..
📄
__init__.py
(48.72 KB)
📁
__pycache__
📄
azureblob.py
(13.88 KB)
📄
cmd_json.py
(787 B)
📄
cmd_yaml.py
(893 B)
📄
cmd_yamlex.py
(674 B)
📄
cobbler.py
(1.64 KB)
📄
confidant.py
(3.29 KB)
📄
consul_pillar.py
(11.61 KB)
📄
csvpillar.py
(1.85 KB)
📄
digicert.py
(1007 B)
📄
django_orm.py
(7.74 KB)
📄
ec2_pillar.py
(10.12 KB)
📄
etcd_pillar.py
(2.36 KB)
📄
extra_minion_data_in_pillar.py
(2.18 KB)
📄
file_tree.py
(18.03 KB)
📄
foreman.py
(3.66 KB)
📄
git_pillar.py
(19.61 KB)
📄
gpg.py
(560 B)
📄
hg_pillar.py
(3.19 KB)
📄
hiera.py
(846 B)
📄
http_json.py
(2.43 KB)
📄
http_yaml.py
(2.43 KB)
📄
libvirt.py
(5.78 KB)
📄
makostack.py
(21.99 KB)
📄
mongo.py
(5.6 KB)
📄
mysql.py
(3.76 KB)
📄
nacl.py
(744 B)
📄
netbox.py
(29.5 KB)
📄
neutron.py
(2.41 KB)
📄
nodegroups.py
(1.7 KB)
📄
pepa.py
(20.98 KB)
📄
pillar_ldap.py
(10.95 KB)
📄
postgres.py
(2.82 KB)
📄
puppet.py
(846 B)
📄
reclass_adapter.py
(4 KB)
📄
redismod.py
(3.28 KB)
📄
rethinkdb_pillar.py
(4.71 KB)
📄
s3.py
(14.4 KB)
📄
saltclass.py
(1.49 KB)
📄
sql_base.py
(15.38 KB)
📄
sqlcipher.py
(3.42 KB)
📄
sqlite3.py
(2.67 KB)
📄
stack.py
(22.07 KB)
📄
svn_pillar.py
(5.74 KB)
📄
varstack_pillar.py
(1.1 KB)
📄
vault.py
(4.03 KB)
📄
venafi.py
(966 B)
📄
virtkey.py
(586 B)
📄
vmware_pillar.py
(16.83 KB)
Editing: 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
Upload File
Create Folder