动态填充顶级文件中的状态列表

时间:2015-12-14 19:06:23

标签: salt-stack

我在TOP文件中执行以下操作:

'roles:*database*':
    - match: grain
    - {{ salt['pillar.get']("server:database:states") }}

在支柱中,状态是根据角色定义的:

server:
  database:
    states:
      - module1.applySecPatch
      - module2.firewallRules

我没有收到错误,并且在TRACE级别也没有有用的日志记录。这是动态填充状态文件列表的正确方法吗?

1 个答案:

答案 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 %}