我遇到了一些与 ansible zabbix 模块有关的问题。 我正在尝试将多个模板分配给单个主机。
我的ansible代码不起作用:
- name: Create/update Zabbix host
[...]
link_templates:
- '{{ zabbix_templates }}'
[...]
有效的代码:
- name: Create/update Zabbix host
[...]
link_templates:
- "Zabbix agent active"
- "Linux by Zabbix agent"
[...]
库存
all:
hosts:
[...]
children:
[...]-cluster:
hosts:
[...]
vars:
kubernetes_cluster: yes
cluster_name: [...]-cluster
OS: ubuntu_22
zabbix_templates:
- Zabbix agent active
- Linux by Zabbix agent
zabbix_hostgroup: Linux servers
任务本身看起来与此处提供的示例非常相似: https://docs.ansible.com/ansible/latest/collections/community/zabbix/zabbix_host_module.html * [...] = 被剪断,具有实际值,它可以工作
我收到的错误消息:
fatal: [[...]]: FAILED! => {"changed": false, "msg": "Template not found: ['Zabbix agent active', 'Linux by Zabbix agent']"}
我曾多次尝试“重新格式化”列表,例如 - '{{ zabbix_templates |地图(“from_yaml”)|列表 }}' 和其他方法,仍然没有运气。我正在寻找如何正确列出这些变量的解决方案
你的
zabbix_templates
变量已经是一个列表了,所以你只需要把它直接传递给link_templates
:
link_templates: '{{ zabbix_templates }}'