create_template.yml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. description: "{{ item.description | default('', True) }}"
  33. multiplier: "{{ item.multiplier | default('', True) }}"
  34. units: "{{ item.units | default('', True) }}"
  35. template_name: "{{ template.name }}"
  36. applications: "{{ item.applications }}"
  37. zabbix_type: "{{ item.zabbix_type | default('trapper') }}"
  38. interval: "{{ item.interval | default(60, True) }}"
  39. delta: "{{ item.delta | default(0, True) }}"
  40. with_items: template.zitems
  41. register: created_items
  42. when: template.zitems is defined
  43. - name: Create Triggers
  44. zbx_trigger:
  45. zbx_server: "{{ server }}"
  46. zbx_user: "{{ user }}"
  47. zbx_password: "{{ password }}"
  48. name: "{{ item.name }}"
  49. description: "{{ item.description | default('', True) }}"
  50. dependencies: "{{ item.dependencies | default([], True) }}"
  51. expression: "{{ item.expression }}"
  52. priority: "{{ item.priority }}"
  53. url: "{{ item.url | default(None, True) }}"
  54. with_items: template.ztriggers
  55. when: template.ztriggers is defined
  56. - name: Create Discoveryrules
  57. zbx_discoveryrule:
  58. zbx_server: "{{ server }}"
  59. zbx_user: "{{ user }}"
  60. zbx_password: "{{ password }}"
  61. name: "{{ item.name }}"
  62. key: "{{ item.key }}"
  63. lifetime: "{{ item.lifetime }}"
  64. template_name: "{{ template.name }}"
  65. description: "{{ item.description | default('', True) }}"
  66. with_items: template.zdiscoveryrules
  67. when: template.zdiscoveryrules is defined
  68. - name: Create Item Prototypes
  69. zbx_itemprototype:
  70. zbx_server: "{{ server }}"
  71. zbx_user: "{{ user }}"
  72. zbx_password: "{{ password }}"
  73. name: "{{ item.name }}"
  74. key: "{{ item.key }}"
  75. discoveryrule_key: "{{ item.discoveryrule_key }}"
  76. value_type: "{{ item.value_type }}"
  77. template_name: "{{ template.name }}"
  78. applications: "{{ item.applications }}"
  79. description: "{{ item.description | default('', True) }}"
  80. multiplier: "{{ item.multiplier | default('', True) }}"
  81. units: "{{ item.units | default('', True) }}"
  82. interval: "{{ item.interval | default(60, True) }}"
  83. delta: "{{ item.delta | default(0, True) }}"
  84. with_items: template.zitemprototypes
  85. when: template.zitemprototypes is defined
  86. - name: Create Trigger Prototypes
  87. zbx_triggerprototype:
  88. zbx_server: "{{ server }}"
  89. zbx_user: "{{ user }}"
  90. zbx_password: "{{ password }}"
  91. name: "{{ item.name }}"
  92. expression: "{{ item.expression }}"
  93. url: "{{ item.url | default('', True) }}"
  94. priority: "{{ item.priority | default('average', True) }}"
  95. description: "{{ item.description | default('', True) }}"
  96. with_items: template.ztriggerprototypes
  97. when: template.ztriggerprototypes is defined