Explorar el Código

Merge pull request #603 from kwoodson/tmp1

Adding support for prototypes and discoveryrules
Matt Woodson hace 9 años
padre
commit
8d2b270d3d

+ 0 - 2
roles/lib_zabbix/library/zbx_discoveryrule.py

@@ -183,8 +183,6 @@ def main():
             module.exit_json(changed=False, results=zab_results, state="present")
 
         # We have differences and need to update
-        module.exit_json(failed=True, changed=False, results=differences, state="present")
-
         differences[idname] = zab_results[idname]
         content = zapi.get_content(zbx_class_name, 'update', differences)
 

+ 5 - 7
roles/lib_zabbix/library/zbx_itemprototype.py

@@ -157,10 +157,8 @@ def main():
             value_type=dict(default='float', type='str'),
             delay=dict(default=60, type='int'),
             lifetime=dict(default=30, type='int'),
-            template_name=dict(default=None, required=True, type='str'),
             state=dict(default='present', type='str'),
             status=dict(default='enabled', type='str'),
-            discoveryrule_name=dict(default=None, required=True, type='str'),
             applications=dict(default=[], type='list'),
         ),
         #supports_check_mode=True
@@ -175,14 +173,14 @@ def main():
     zbx_class_name = 'itemprototype'
     idname = "itemid"
     state = module.params['state']
-    template = get_template(zapi, module.params['template_name'])
 
     # selectInterfaces doesn't appear to be working but is needed.
     content = zapi.get_content(zbx_class_name,
                                'get',
-                               {'search': {'name': module.params['name']},
+                               {'search': {'key_': module.params['key']},
                                 'selectApplications': 'applicationid',
                                 'selectDiscoveryRule': 'itemid',
+                                'templated': True,
                                })
 
     #******#
@@ -205,9 +203,9 @@ def main():
     if state == 'present':
         params = {'name': module.params['name'],
                   'key_':  module.params['key'],
-                  'hostid':  template['templateid'],
+                  'hostid':  content['result'][0]['hostid'],
                   'interfaceid': module.params['interfaceid'],
-                  'ruleid': get_rule_id(zapi, module.params['discoveryrule_name'], template['templateid']),
+                  'ruleid': content['result'][0]['discoveryRule']['itemid'],
                   'type': get_type(module.params['ztype']),
                   'value_type': get_value_type(module.params['value_type']),
                   'applications': get_app_ids(zapi, module.params['applications']),
@@ -226,7 +224,7 @@ def main():
             content = zapi.get_content(zbx_class_name, 'create', params)
 
             if content.has_key('error'):
-                module.exit_json(failed=True, changed=True, results=content['error'], state="present")
+                module.exit_json(failed=True, changed=False, results=content['error'], state="present")
 
             module.exit_json(changed=True, results=content['result'], state='present')