如何解决从 SaltStack 中的 load_yaml 块访问列表变量
我的状态文件如下。
{% load_yaml as test %}
value:
val1: 'string1'
val2: 'string2'
value1: ['sub1','sub2']
{% endload %}
当我尝试访问 val1 变量时,如下所示,没有问题,但无法访问 value1 列表的值。对此有任何帮助。
access val1 variable:
cmd.run:
- name: echo {{ test.value.val1 }}
按如下方式访问 value1 会引发错误。
{% set test2 = test.value1 %}
access value1 variable:
cmd.run:
- name: echo {{ test2 }}
错误为....
Data failed to compile:
-------
ID access the value1 variable in SLS is not a dictionary
-------
ID cmd.run in SLS is not a dictionary
解决方法
问题似乎出在 cmd.run
状态的缩进中。这就是错误所抱怨的。
下面的示例可以很好地访问变量,并且在状态运行时输出中会显示相应的值。
# Note the indentation below for "cmd.run"
show-val1-variable:
cmd.run:
- name: "echo {{ test.value.val1 }}"
{% set test2 = test.value1 %}
show-test2-variable:
cmd.run:
- name: "echo {{ test2 }}"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。