003 File Manager
Current Path:
/usr/local/lib/python3.8/site-packages/salt/matchers
usr
/
local
/
lib
/
python3.8
/
site-packages
/
salt
/
matchers
/
📁
..
📄
__init__.py
(0 B)
📁
__pycache__
📄
cache_match.py
(917 B)
📄
compound_match.py
(3.75 KB)
📄
compound_pillar_exact_match.py
(571 B)
📄
confirm_top.py
(911 B)
📄
data_match.py
(1.07 KB)
📄
glob_match.py
(444 B)
📄
grain_match.py
(606 B)
📄
grain_pcre_match.py
(665 B)
📄
ipcidr_match.py
(980 B)
📄
list_match.py
(1.35 KB)
📄
nodegroup_match.py
(750 B)
📄
pcre_match.py
(305 B)
📄
pillar_exact_match.py
(764 B)
📄
pillar_match.py
(782 B)
📄
pillar_pcre_match.py
(842 B)
📄
range_match.py
(638 B)
Editing: data_match.py
""" This is the default data matcher. """ import fnmatch import logging import salt.loader import salt.utils.data import salt.utils.minions import salt.utils.network log = logging.getLogger(__name__) def match(tgt, functions=None, opts=None, minion_id=None): """ Match based on the local data store on the minion """ if not opts: opts = __opts__ if functions is None: utils = salt.loader.utils(opts) functions = salt.loader.minion_mods(opts, utils=utils) comps = tgt.split(":") if len(comps) < 2: return False val = functions["data.getval"](comps[0]) if val is None: # The value is not defined return False if isinstance(val, list): # We are matching a single component to a single list member for member in val: if fnmatch.fnmatch(str(member).lower(), comps[1].lower()): return True return False if isinstance(val, dict): if comps[1] in val: return True return False return bool(fnmatch.fnmatch(val, comps[1]))
Upload File
Create Folder