1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
---
- name: Template Create Template
zbx_template:
zbx_server: "{{ server }}"
zbx_user: "{{ user }}"
zbx_password: "{{ password }}"
name: "{{ template.name }}"
register: created_template
- set_fact:
lzbx_item_applications: "{{ template.zitems | default([], True) | oo_select_keys_from_list(['applications']) | oo_flatten | unique }}"
lzbx_itemprototype_applications: "{{ template.zitemprototypes | default([], True) | oo_select_keys_from_list(['applications']) | oo_flatten | unique }}"
- name: Create Application
zbx_application:
zbx_server: "{{ server }}"
zbx_user: "{{ user }}"
zbx_password: "{{ password }}"
name: "{{ item }}"
template_name: "{{ template.name }}"
with_items:
- "{{ lzbx_item_applications }}"
- "{{ lzbx_itemprototype_applications }}"
register: created_application
when: template.zitems is defined or template.zitemprototypes is defined
- name: Create Items
zbx_item:
zbx_server: "{{ server }}"
zbx_user: "{{ user }}"
zbx_password: "{{ password }}"
key: "{{ item.key }}"
name: "{{ item.name | default(item.key, true) }}"
value_type: "{{ item.value_type | default('int') }}"
data_type: "{{ item.data_type | default('decimal') }}"
description: "{{ item.description | default('', True) }}"
multiplier: "{{ item.multiplier | default('', True) }}"
units: "{{ item.units | default('', True) }}"
template_name: "{{ template.name }}"
applications: "{{ item.applications }}"
zabbix_type: "{{ item.zabbix_type | default('trapper') }}"
interval: "{{ item.interval | default(60, True) }}"
delta: "{{ item.delta | default(0, True) }}"
with_items: template.zitems
register: created_items
when: template.zitems is defined
- name: Create Triggers
zbx_trigger:
zbx_server: "{{ server }}"
zbx_user: "{{ user }}"
zbx_password: "{{ password }}"
name: "{{ item.name }}"
description: "{{ item.description | default('', True) }}"
dependencies: "{{ item.dependencies | default([], True) }}"
expression: "{{ item.expression }}"
priority: "{{ item.priority }}"
url: "{{ item.url | default(None, True) }}"
with_items: template.ztriggers
when: template.ztriggers is defined
- name: Create Discoveryrules
zbx_discoveryrule:
zbx_server: "{{ server }}"
zbx_user: "{{ user }}"
zbx_password: "{{ password }}"
name: "{{ item.name }}"
key: "{{ item.key }}"
lifetime: "{{ item.lifetime }}"
template_name: "{{ template.name }}"
description: "{{ item.description | default('', True) }}"
with_items: template.zdiscoveryrules
when: template.zdiscoveryrules is defined
- name: Create Item Prototypes
zbx_itemprototype:
zbx_server: "{{ server }}"
zbx_user: "{{ user }}"
zbx_password: "{{ password }}"
name: "{{ item.name }}"
key: "{{ item.key }}"
discoveryrule_key: "{{ item.discoveryrule_key }}"
value_type: "{{ item.value_type }}"
data_type: "{{ item.data_type | default('decimal') }}"
template_name: "{{ template.name }}"
applications: "{{ item.applications }}"
description: "{{ item.description | default('', True) }}"
multiplier: "{{ item.multiplier | default('', True) }}"
units: "{{ item.units | default('', True) }}"
interval: "{{ item.interval | default(60, True) }}"
delta: "{{ item.delta | default(0, True) }}"
with_items: template.zitemprototypes
when: template.zitemprototypes is defined
- name: Create Trigger Prototypes
zbx_triggerprototype:
zbx_server: "{{ server }}"
zbx_user: "{{ user }}"
zbx_password: "{{ password }}"
name: "{{ item.name }}"
expression: "{{ item.expression }}"
url: "{{ item.url | default('', True) }}"
priority: "{{ item.priority | default('average', True) }}"
description: "{{ item.description | default('', True) }}"
with_items: template.ztriggerprototypes
when: template.ztriggerprototypes is defined
|