如何解决访问列出的谷物值
我正在尝试从状态文件访问列出的谷物值,需要这方面的帮助。
状态文件如下
{% set list = grains['selinux'] %}
echo {{ list }}:
cmd.run
但是当我运行状态文件时出现错误。
# salt '*' state.sls list_grains
client1:
Data failed to compile:
----------
Rendering SLS 'base:list_grains' failed: mapping values are not allowed in this context
ERROR: Minions returned with non-zero exit code
[root@server ~]# vim /srv/salt/list_grains.sls
访问的粒度值如下
# salt '*' grains.item selinux
client1:
----------
selinux:
----------
enabled:
True
enforced:
Permissive
解决方法
selinux
颗粒是一个字典/地图,如:
selinux:
enabled: True
enforced: Permissive
因此,在州 ID 中,您不能拥有字典/地图。您可以选择所需的字典键,如 list.enabled
或 list.enforced
。
例如,下面的状态 ID 将输出 Permissive
:
{% set list = grains['selinux'] %}
echo {{ list.enforced }}:
cmd.run
如果你想得到完整的字典作为输出,你可以使用像test.echo
这样的模块:
{% set list = grains['selinux'] %}
show-selinux-grains:
module.run:
- name: test.echo
- text: "{{ list }}"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。