I am using the zabbix_hosts module.
Depending on the groups that a particular host is in, I need to link to various Zabbix templates.
So:
if a server is in dbservers I need to link it to “Template App MySQL”
if a server is in webservers I need to link it to “Template App HTTP Service”
If a server is in both groups, it needs to be linked to both the above templates.
Additionally all the servers need to be linked to “Template OS Linux”
So in the module group, the “setting link_templates:” will end up needing to be fed values such as:
link_templates:
-
Template OS Linux
-
Template App MySQL
link_templates:
-
Template OS Linux
-
Template App HTTP Service
link_templates:
-
Template OS Linux
-
Template App HTTP Service
-
Template App MySQL
Of course, this is only a small subset of the possible groups/templates.
Can someone suggest a neat way to build up the list so that I can code the task as something like:
- name: Create a new host or update an existing host’s info
local_action:
module: zabbix_host
server_url: http://zabbix.server/
login_user: ansible
login_password: ansible_password
host_name: “{{ inventory_hostname }}”
host_groups: - Linux servers
link_templates: “{{ templates_list }}”
status: enabled
state: present
interfaces:
TIA