summaryrefslogtreecommitdiffstats
path: root/roles/os_zabbix/library/zbx_host.py
diff options
context:
space:
mode:
Diffstat (limited to 'roles/os_zabbix/library/zbx_host.py')
-rw-r--r--roles/os_zabbix/library/zbx_host.py31
1 files changed, 16 insertions, 15 deletions
diff --git a/roles/os_zabbix/library/zbx_host.py b/roles/os_zabbix/library/zbx_host.py
index d75dfdea1..12c5f3456 100644
--- a/roles/os_zabbix/library/zbx_host.py
+++ b/roles/os_zabbix/library/zbx_host.py
@@ -60,7 +60,7 @@ def get_template_ids(zapi, template_names):
for template_name in template_names:
content = zapi.get_content('template', 'get', {'search': {'host': template_name}})
if content.has_key('result'):
- template_ids.append({'templateid': content['results'][0]['templateid']})
+ template_ids.append({'templateid': content['result'][0]['templateid']})
return template_ids
def main():
@@ -71,20 +71,20 @@ def main():
module = AnsibleModule(
argument_spec=dict(
server=dict(default='https://localhost/zabbix/api_jsonrpc.php', type='str'),
- user=dict(default=None, type='str'),
- password=dict(default=None, type='str'),
+ user=dict(default=os.environ['ZABBIX_USER'], type='str'),
+ password=dict(default=os.environ['ZABBIX_PASSWORD'], type='str'),
name=dict(default=None, type='str'),
hostgroup_names=dict(default=[], type='list'),
template_names=dict(default=[], type='list'),
debug=dict(default=False, type='bool'),
state=dict(default='present', type='str'),
- interfaces=dict(default=[], type='list'),
+ interfaces=dict(default=None, type='list'),
),
#supports_check_mode=True
)
- user = module.params.get('user', os.environ['ZABBIX_USER'])
- passwd = module.params.get('password', os.environ['ZABBIX_PASSWORD'])
+ user = module.params['user']
+ passwd = module.params['password']
zapi = ZabbixAPI(ZabbixConnection(module.params['server'], user, passwd, module.params['debug']))
@@ -113,16 +113,17 @@ def main():
module.exit_json(changed=True, results=content['result'], state="absent")
if state == 'present':
+ ifs = module.params['interfaces'] or [{'type': 1, # interface type, 1 = agent
+ 'main': 1, # default interface? 1 = true
+ 'useip': 1, # default interface? 1 = true
+ 'ip': '127.0.0.1', # default interface? 1 = true
+ 'dns': '', # dns for host
+ 'port': '10050', # port for interface? 10050
+ }]
params = {'host': hname,
- 'groups': get_group_ids(zapi, module.params('hostgroup_names')),
- 'templates': get_template_ids(zapi, module.params('template_names')),
- 'interfaces': module.params.get('interfaces', [{'type': 1, # interface type, 1 = agent
- 'main': 1, # default interface? 1 = true
- 'useip': 1, # default interface? 1 = true
- 'ip': '127.0.0.1', # default interface? 1 = true
- 'dns': '', # dns for host
- 'port': '10050', # port for interface? 10050
- }])
+ 'groups': get_group_ids(zapi, module.params['hostgroup_names']),
+ 'templates': get_template_ids(zapi, module.params['template_names']),
+ 'interfaces': ifs,
}
if not exists(content):