create_template.yml 4.6 KB

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