create_template.yml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. with_items: template.ztriggers
  56. when: template.ztriggers is defined
  57. - name: Create Discoveryrules
  58. zbx_discoveryrule:
  59. zbx_server: "{{ server }}"
  60. zbx_user: "{{ user }}"
  61. zbx_password: "{{ password }}"
  62. name: "{{ item.name }}"
  63. key: "{{ item.key }}"
  64. lifetime: "{{ item.lifetime }}"
  65. template_name: "{{ template.name }}"
  66. description: "{{ item.description | default('', True) }}"
  67. with_items: template.zdiscoveryrules
  68. when: template.zdiscoveryrules is defined
  69. - name: Create Item Prototypes
  70. zbx_itemprototype:
  71. zbx_server: "{{ server }}"
  72. zbx_user: "{{ user }}"
  73. zbx_password: "{{ password }}"
  74. name: "{{ item.name }}"
  75. key: "{{ item.key }}"
  76. discoveryrule_key: "{{ item.discoveryrule_key }}"
  77. value_type: "{{ item.value_type }}"
  78. data_type: "{{ item.data_type | default('decimal') }}"
  79. template_name: "{{ template.name }}"
  80. applications: "{{ item.applications }}"
  81. description: "{{ item.description | default('', True) }}"
  82. multiplier: "{{ item.multiplier | default('', True) }}"
  83. units: "{{ item.units | default('', True) }}"
  84. interval: "{{ item.interval | default(60, True) }}"
  85. delta: "{{ item.delta | default(0, True) }}"
  86. with_items: template.zitemprototypes
  87. when: template.zitemprototypes is defined
  88. - name: Create Trigger Prototypes
  89. zbx_triggerprototype:
  90. zbx_server: "{{ server }}"
  91. zbx_user: "{{ user }}"
  92. zbx_password: "{{ password }}"
  93. name: "{{ item.name }}"
  94. expression: "{{ item.expression }}"
  95. url: "{{ item.url | default('', True) }}"
  96. priority: "{{ item.priority | default('average', True) }}"
  97. description: "{{ item.description | default('', True) }}"
  98. with_items: template.ztriggerprototypes
  99. when: template.ztriggerprototypes is defined