import logging import salt.loader import salt.utils.saltclass as sc log = logging.getLogger(__name__) def __virtual__(): """ Only run if properly configured """ if __opts__["master_tops"].get("paulbsdclass"): return True return False def top(**kwargs): """ Compile tops """ _opts = __opts__["master_tops"]["paulbsdclass"] if "path" not in _opts: path = "/srv/saltclass" log.warning("path variable unset, using default: %s", path) else: path = _opts["path"] if "id" not in kwargs["opts"]: log.warning("Minion id not found - Returning empty dict") return {} else: minion_id = kwargs["opts"]["id"] salt_data = { "__opts__": kwargs["opts"], "__salt__": salt.loader.minion_mods(__opts__,whitelist=["saltutil", "mine", "grains"]), "__grains__": kwargs["grains"], "__pillar__": {}, "minion_id": minion_id, "path": path, } return sc.get_tops(minion_id, salt_data)