HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/matchers/confirm_top.py
"""
The matcher subsystem needs a function called "confirm_top", which
takes the data passed to a top file environment and determines if that
data matches this minion.
"""

import logging

import salt.loader

log = logging.getLogger(__file__)


def confirm_top(match, data, nodegroups=None):
    """
    Takes the data passed to a top file environment and determines if the
    data matches this minion
    """
    matcher = "compound"
    for item in data:
        if isinstance(item, dict):
            if "match" in item:
                matcher = item["match"]

    matchers = salt.loader.matchers(__opts__)
    funcname = matcher + "_match.match"
    if matcher == "nodegroup":
        return matchers[funcname](match, nodegroups)
    else:
        m = matchers[funcname]
        return m(match)
    # except TypeError, KeyError:
    #     log.error("Attempting to match with unknown matcher: %s", matcher)