3 ܓi @s6ddlZddlZddlmZmZGdddeeZdS)N)PluginIndependentPluginc@s4eZdZdZdZd ZdZddZdd Zd d Z d S) SaltMasterz Salt MasterZ saltmastersysmgmt salt-mastersalt-apic Csdg|_|jdr|jdn |jd|jd|jd|j|jdddd d d d d gdddS)NZall_logsz /var/log/saltz/var/log/salt/masterz /etc/saltz/etc/salt/pki/*/*.pemzsalt-master --versionz#systemctl --full status salt-masterz systemctl --full status salt-apizsalt-key --list allz"salt-run jobs.list_jobs --out=yamlz%salt-run manage.list_state --out=yamlz)salt-run manage.list_not_state --out=yamlz!salt-run manage.joined --out=yaml)Ztimeout)collected_pillar_rootsZ get_option add_copy_specZadd_forbidden_pathadd_pillar_rootsZadd_cmd_output)selfr /usr/lib/python3.6/saltmaster.pysetups"     zSaltMaster.setupcCstjd}d}|j|r"|j|g}xh|D]`}t|dddH}ytj|jdijdg}Wntk rvg}YnX|j|WdQRXq,W||_ |j |dS) z+ Collect pilliar_roots of all salt configs z/etc/salt/master.d/*confz/etc/salt/masterrzUTF-8)encodingZ pillar_rootsbaseN) globZ path_existsappendopenyamlZ safe_loadgetAttributeErrorextendr r )r ZcfgsZmain_cfgZall_pillar_rootsZcfgfileZcfg_pillar_rootsr r rr .s      zSaltMaster.add_pillar_rootscCsVd}d}|jd||x:|jD]0}|jdr0|n|d}|j|d||qWdS)NzL(^\s*.*(pass|secret|(?s