动态填充顶级文件中的状态列表
Dynamically populate list of states in top file
我正在做类似 TOP 文件中的事情:
'roles:*database*':
- match: grain
- {{ salt['pillar.get']("server:database:states") }}
在支柱中,状态是根据角色定义的:
server:
database:
states:
- module1.applySecPatch
- module2.firewallRules
我没有收到错误,并且在 TRACE 级别也没有有用的日志记录。这是动态填充状态文件列表的正确方法吗?
这个答案实际上是由 Seth House 在 Salt-users 组上回答的,只是为了其他人的利益发在这里
语法不太正确。
'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 %}
我正在做类似 TOP 文件中的事情:
'roles:*database*':
- match: grain
- {{ salt['pillar.get']("server:database:states") }}
在支柱中,状态是根据角色定义的:
server:
database:
states:
- module1.applySecPatch
- module2.firewallRules
我没有收到错误,并且在 TRACE 级别也没有有用的日志记录。这是动态填充状态文件列表的正确方法吗?
这个答案实际上是由 Seth House 在 Salt-users 组上回答的,只是为了其他人的利益发在这里
语法不太正确。
'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 %}