##### 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
template_ids = []
        template_list = self._zapi.template.get({'output': 'extend', 'hostids': host_id})
        for template in template_list:
            template_ids.append(template['templateid'])
        return template_ids
    
    def check_interface_properties(self, exist_interface_list, interfaces):
        interfaces_port_list = []
        if interfaces is not None:
            if len(interfaces) >= 1:
                for interface in interfaces:
                    interfaces_port_list.append(str(interface['port']))
        exist_interface_ports = []
        if len(exist_interface_list) >= 1:
            for exist_interface in exist_interface_list:
                exist_interface_ports.append(str(exist_interface['port']))
        if set(interfaces_port_list) != set(exist_interface_ports):
            return True
        for exist_interface in exist_interface_list:
            exit_interface_port = str(exist_interface['port'])
            for interface in interfaces:
                interface_port = str(interface['port'])
                if interface_port == exit_interface_port:
                    for key in interface.keys():
                        if str(exist_interface[key]) != str(interface[key]):
                            return True
        return False
    
    def get_host_status_by_host(self, host):