如何在saltstack mine.get中使用变量作为匹配项

时间:2015-07-19 09:31:20

标签: salt-stack jinja2

我正在尝试使用盐矿来获取所有minions的网络接口列表,其中包含与呈现jinja模板的minion相同的os。

我正在尝试这样的事情:

{% set variable = grains['os'] %}     
{% set dict = salt['mine.get'('os:variable','network.interfaces','grain') %}
{% for i in dict : %}
    // do stuff here

但问题是在上面的盐中会尝试将os与值“变量”匹配,而不是变量的实际值。

使用'os: {{ variable }}'也不起作用,因为{{ x }}只打印变量x的值。

在这种情况下,如何与实际操作系统匹配?

1 个答案:

答案 0 :(得分:3)

您应该尝试+连接前缀和变量名称:

{% set variable = grains['os'] %}     
{% set dict = salt['mine.get']('os:' + variable,'network.interfaces','grain') %}
{% for i in dict : %}
  # do stuff
{% endfor %}