HEX
Server: Apache
System: Linux server.enlacediseno.com 4.18.0-553.62.1.el8_10.x86_64 #1 SMP Wed Jul 16 04:08:25 EDT 2025 x86_64
User: maor (1069)
PHP: 7.3.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/matchers/range_match.py
"""
This is the default range matcher.
"""

import logging

HAS_RANGE = False
try:
    import seco.range

    HAS_RANGE = True
except ImportError:
    pass

log = logging.getLogger(__name__)


def match(tgt, opts=None, minion_id=None):
    """
    Matches based on range cluster
    """
    if not opts:
        opts = __opts__
    if HAS_RANGE:
        range_ = seco.range.Range(opts["range_server"])
        try:
            return opts["grains"]["fqdn"] in range_.expand(tgt)
        except seco.range.RangeException as exc:
            log.debug("Range exception in compound match: %s", exc)
            return False
    return False