我不确定我是否正确写这个,但我希望我能通过匹配谷物键然后按值(或子键:值)过滤来得到过滤的例子 . 我担心的是,未来某个时候可能会添加另一个谷物,并且filter_by会错误地拾取 . 以下示例......
谷物示例列表:
Host1
role:
webserver
secondary:
none
Host2
role:
appserver1
secondary:
appserver2
Host3
role:
appserver1
appserver2
secondary:
none
示例 Map 文件:
{% set java = salt['grains.filter_by']({
'default': {
'target': '/some/default/file/path',
},
'appserver1': {
'target': '/app/server1/path',
},
'appserver2': {
'target': '/app/server2/path',
},
},
default='default'
)%}
在这个例子中,想象次要是未来添加的额外谷物 . 添加此二级谷物后,mapfile会为Host2选择什么?我知道这不是最好的例子,但是在代码审查我写的一些状态时出现了这个问题,而且我对如何定位谷物键没有一个好的答案 . 在这种情况下,我想要定位谷物'角色'并过滤该谷物中的值 . 我该怎么办?
1 回答
我在文档中完全错过了这个,直到我多次阅读它们为止...
解决方案是添加颗粒值以进行过滤,如下所示: