我在TOP文件中执行以下操作:
'roles:*database*':
- match: grain
- {{ salt['pillar.get']("server:database:states") }}
在支柱中,状态是根据角色定义的:
server:
database:
states:
- module1.applySecPatch
- module2.firewallRules
我没有收到错误,并且在TRACE级别也没有有用的日志记录。这是动态填充状态文件列表的正确方法吗?
答案 0 :(得分:1)
这个答案实际上是由Salt-users组的Seth House回答的,只是为了其他人的利益而在这里发帖
语法不太正确。
'roles:*database*':
- match: grain
- {{ salt['pillar.get']("server:database:states") }}
会产生不正确的错误,如:
'roles:*database*':
- match: grain
- ['module1.applySecPatch', 'module2.firewallRules']
你需要一个循环。更像是这样:
'roles:*database*':
- match: grain
{% for file in salt['pillar.get']("server:database:states") %}
- {{ file }}
{% endfor %}