在我们的基础架构中,我们在奴才上设置了多个谷物,包括“环境”和“应用”谷物。 当使用cli时,我们可以使用以下方法获得正确的奴才:
salt -C "G@app:middle_tier_1 and G@environment:dev" test.ping
但是,如果我们尝试使用cherrypy api,则仅在设置一个目标时才得到结果:
[{"client":"local","tgt_type":"grain","fun":"test.ping","tgt":"G@app:middle_tier_1"}]
或
[{"client":"local","tgt_type":"grain","fun":"test.ping","tgt":"G@environment:dev"}]
有1的倍数,没得到
[{"client":"local","tgt_type":"grain","fun":"test.ping","tgt":"G@app:middle_tier_1 and G@environment:dev"}]
[{"client":"local","tgt_type":"grain","fun":"test.ping","tgt":["G@app:middle_tier_1","G@environment:dev"]}]
根据文档,我可以在tgt参数中使用一个列表。
我已经相当广泛地查看了他们的文档,但没有找到这种目标定位的例子。 甚至有可能吗?如果可以,我将如何去做呢?
其他信息: 盐大师2018.3.2(氧气) salt-api 2018.3.2(氧气)
谢谢!
答案 0 :(得分:0)
如果要使用多个纹理,则tgt_type为compound
而不是grains
。
请参阅:https://docs.saltstack.com/en/latest/ref/clients/#salt-s-client-interfaces,https://docs.saltstack.com/en/latest/topics/targeting/compound.html