Salt-api 使用除 glob 之外的其他匹配方法

Salt-api use other matching method other then glob

默认情况下,salt-api使用glob方法匹配目标minion。是否可以使用其他方式(可能是谷物、pcre 等)来查找 minions。

我试图将 tgt_type 传递给 salt-api,但没有成功。

curl -s -H "Accept: application/json" -d username='user' -d password='pwd' -d eauth='pam' -d fun='test.ping' -d tgt='127.0.0.1' -d client='local' -d tgt_type='ipcidr' localhost:8000/run   

expr_form 是您正在寻找的选项。

expr_form='ipcidr'

这在 Salt 的各个部分中很常见。

这是 Salt 中不同匹配类型的图例: http://docs.saltstack.com/en/latest/topics/targeting/compound.html

tgt_type 应该可以使用最新版本的 Salt API。称为 tgt 的类型(Minion 的 Salt 目标匹配器)。

从2017.7.0版本开始,expr_form已重命名为tgt_type

tgt_type 可以是以下之一:

  • glob - Bash glob 完成 - 默认
  • pcre - Perl 风格的正则表达式
  • list - Python 主机列表
  • grain - 基于粒度比较的匹配
  • grain_pcre - 与正则表达式的粒度比较
  • pillar - 支柱数据比较
  • pillar_pcre - Pillar 数据与正则表达式的比较
  • nodegroup - 在节点组上匹配
  • range - 使用范围服务器进行匹配
  • compound - 传递复合匹配字符串
  • ipcidr - 基于子网(CIDR 表示法)或 IPv4 地址的匹配。

更多信息请参考官方客户端功能文档: