访问列出的粒度值
Access listed grain values
我正在尝试从状态文件中访问列出的粒度值,需要这方面的帮助。
状态文件如下
{% 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
访问的grain值如下
# salt '*' grains.item selinux
client1:
----------
selinux:
----------
enabled:
True
enforced:
Permissive
selinux
颗粒是 dictionary/map 像:
selinux:
enabled: True
enforced: Permissive
所以在州 ID 中你不能有 dictionary/map。您可以选择所需的字典键,例如 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 }}"
我正在尝试从状态文件中访问列出的粒度值,需要这方面的帮助。
状态文件如下
{% 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
访问的grain值如下
# salt '*' grains.item selinux
client1:
----------
selinux:
----------
enabled:
True
enforced:
Permissive
selinux
颗粒是 dictionary/map 像:
selinux:
enabled: True
enforced: Permissive
所以在州 ID 中你不能有 dictionary/map。您可以选择所需的字典键,例如 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 }}"