Command line 如何使用salt测试jinja功能?

Command line 如何使用salt测试jinja功能?,command-line,salt-stack,Command Line,Salt Stack,我正在寻找一种方法来测试salt是否会以我期望的方式呈现jinja模板 如果我有一个文件template.sls包含: {% for usr in ['moe','larry','curly'] %} {{ usr }}: user.present {% endfor %} 我可以运行salt命令来显示渲染的模板吗 注意:我知道现在正在进行的是Jinja进行渲染,我可以用python对其进行模板化。但我想确保我使用的是salt使用的Jinja版本。AFAIK盐嵌入了jinja发动机 我正在

我正在寻找一种方法来测试salt是否会以我期望的方式呈现jinja模板

如果我有一个文件
template.sls
包含:

{% for usr in ['moe','larry','curly'] %}
{{ usr }}:
  user.present
{% endfor %}
我可以运行salt命令来显示渲染的模板吗

注意:我知道现在正在进行的是Jinja进行渲染,我可以用python对其进行模板化。但我想确保我使用的是salt使用的Jinja版本。AFAIK盐嵌入了jinja发动机

我正在寻找的一个示例是salt命令,其功能类似于以下ansible命令:

以下内容摘自接受的答案:

3_-Ansible(使用--check)
创建测试剧本jinja2test.yml:

---
- hosts: 127.0.0.1
  tasks:
  - name: Test jinja2template
    template: src=test.j2 dest=test.conf
然后运行它:

ansible-playbook jinja2test.yml --check --diff --connection=local
样本输出:

PLAY [127.0.0.1] **************************************************************

GATHERING FACTS ***************************************************************

ok: [127.0.0.1]

TASK: [Test jinja2template] ***************************************************
--- before: test.conf
+++ after: /Users/user/ansible/test.j2
@@ -0,0 +1,4 @@
+Mike
+Smith
+Klara
+Alex

changed: [127.0.0.1]

PLAY RECAP ********************************************************************
127.0.0.1                  : ok=2    changed=1    unreachable=0    failed=0

为了显示生成的SLS,您可以使用

这很简单,应该可以做到。 就我而言,我是这样使用它的:


salt'test01'slsutil.exesalt://blabla/test.sls “jinja | yaml”

最好、最简单的方法是使用state.show\u sls,如前所述

请查看官方文件

对于您的具体案例,这将是以下内容:

salt "your_minion" state.show_sls template.sls