##### SUMMARY
[`zabbix_host`](https://docs.ansible.com/ansible/latest/modules/zabbix_host_module.html) module currently does not support specifying usermacros.

While usermacros can be added separately with [`zabbix_hostmacro`](https://docs.ansible.com/ansible/latest/modules/zabbix_hostmacro_module.html) module, that splits up the configuration and makes it very hard to maintain.

It would be great to specify macros in the host definition of `zabbix_host`.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
zabbix_host
tls_issuer, tls_subject, ipmi_authtype, ipmi_privilege, ipmi_username, ipmi_password):
        
        exist_template_id_list = self.get_host_templates_by_host_id(host_id)
        exist_template_ids = set(exist_template_id_list)
        template_ids = set(template_id_list)
        template_id_list = list(template_ids)
        
        templates_clear = exist_template_ids.difference(template_ids)
        templates_clear_list = list(templates_clear)
        request_str = {'hostid': host_id, 'templates': template_id_list, 'templates_clear': templates_clear_list,
                       'tls_connect': tls_connect, 'tls_accept': tls_accept, 'ipmi_authtype': ipmi_authtype,
                       'ipmi_privilege': ipmi_privilege, 'ipmi_username': ipmi_username, 'ipmi_password': ipmi_password}
        if tls_psk_identity is not None:
            request_str['tls_psk_identity'] = tls_psk_identity
        if tls_psk is not None:
            request_str['tls_psk'] = tls_psk
        if tls_issuer is not None:
            request_str['tls_issuer'] = tls_issuer
        if tls_subject is not None:
            request_str['tls_subject'] = tls_subject
        try:
            if self._module.check_mode:
                self._module.exit_json(changed=True)
            self._zapi.host.update(request_str)
        except Exception as e:
            self._module.fail_json(msg="Failed to link template to host: %s" % e)
    def inventory_mode_numeric(self, inventory_mode):