HEX
Server: Apache
System: Linux sg241.singhost.net 2.6.32-896.16.1.lve1.4.51.el6.x86_64 #1 SMP Wed Jan 17 13:19:23 EST 2018 x86_64
User: honghock (909)
PHP: 8.0.30
Disabled: passthru,system,shell_exec,show_source,exec,popen,proc_open
Upload Files
File: //usr/lib/python2.7/site-packages/salt/matchers/cache_match.py
# -*- coding: utf-8 -*-
'''
This is the default cache matcher function.  It only exists for the master,
this is why there is only a ``mmatch()`` but not ``match()``.
'''
from __future__ import absolute_import, print_function, unicode_literals
import logging

import salt.utils.data     # pylint: disable=3rd-party-module-not-gated
import salt.utils.minions  # pylint: disable=3rd-party-module-not-gated

log = logging.getLogger(__name__)


def mmatch(expr,
           delimiter,
           greedy,
           search_type,
           regex_match=False,
           exact_match=False,
           opts=None):
    '''
    Helper function to search for minions in master caches
    If 'greedy' return accepted minions that matched by the condition or absent in the cache.
    If not 'greedy' return the only minions have cache data and matched by the condition.
    '''
    if not opts:
        opts = __opts__

    ckminions = salt.utils.minions.CkMinions(opts)

    return ckminions._check_cache_minions(expr, delimiter, greedy,
                                          search_type, regex_match=regex_match,
                                          exact_match=exact_match)