##### SUMMARY
If a host has port set to a usermacro, the host is created successfully. On the next run, the update fails with `ValueError: invalid literal for int() with base 10: {$MACRO}`.

Tested with the latest `zabbix_host` from git.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
zabbix_host

##### ANSIBLE VERSION
latest

##### CONFIGURATION
Not relevant.

##### OS / ENVIRONMENT
Not relevant.

##### STEPS TO REPRODUCE
Have a host definition with usermacro used for port in an interface. Create the host via Ansible, then run the playbook again.

##### EXPECTED RESULTS
Success (reported as no change).

##### ACTUAL RESULTS

```paste below
Traceback (most recent call last):
  File \"/home/ansible/.ansible/tmp/ansible-tmp-1571042967.61-236562069605480/AnsiballZ_zabbix_host.py\", line 114, in <module>
    _ansiballz_main()
  File \"/home/ansible/.ansible/tmp/ansible-tmp-1571042967.61-236562069605480/AnsiballZ_zabbix_host.py\", line 106, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File \"/home/ansible/.ansible/tmp/ansible-tmp-1571042967.61-236562069605480/AnsiballZ_zabbix_host.py\", line 49, in invoke_module
    imp.load_module(__main__, mod, module, MOD_DESC)
  File \"/tmp/ansible_zabbix_host_payload_7ml4r2/__main__.py\", line 857, in <module>
  File \"/tmp/ansible_zabbix_host_payload_7ml4r2/__main__.py\", line 817, in main
  File \"/tmp/ansible_zabbix_host_payload_7ml4r2/__main__.py\", line 479, in check_all_properties
  File \"/tmp/ansible_zabbix_host_payload_7ml4r2/__main__.py\", line 437, in check_interface_properties
ValueError: invalid literal for int() with base 10: {$MACRO}
```

tls_psk, tls_issuer, tls_subject, ipmi_authtype, ipmi_privilege,
                                            ipmi_username, ipmi_password)
                host.update_inventory_mode(host_id, inventory_mode)
                host.update_inventory_zabbix(host_id, inventory_zabbix)
                module.exit_json(changed=True,
                                 result="Successfully update host %s (%s) and linked with template '%s'"
                                        % (host_name, ip, link_templates))
            else:
                module.exit_json(changed=False)
    else:
        if state == "absent":
            
            module.exit_json(changed=False)
        if not group_ids:
            module.fail_json(msg="Specify at least one group for creating host '%s'." % host_name)
        if not interfaces or (interfaces and len(interfaces) == 0):
            module.fail_json(msg="Specify at least one interface for creating host '%s'." % host_name)
        
        host_id = host.add_host(host_name, group_ids, status, interfaces, proxy_id, visible_name, description, tls_connect,
                                tls_accept, tls_psk_identity, tls_psk, tls_issuer, tls_subject, ipmi_authtype, ipmi_privilege,
                                ipmi_username, ipmi_password)
        host.link_or_clear_template(host_id, template_ids, tls_connect, tls_accept, tls_psk_identity,
                                    tls_psk, tls_issuer, tls_subject, ipmi_authtype, ipmi_privilege, ipmi_username, ipmi_password)
        host.update_inventory_mode(host_id, inventory_mode)
        host.update_inventory_zabbix(host_id, inventory_zabbix)
        module.exit_json(changed=True, result="Successfully added host %s (%s) and linked with template '%s'" % (
            host_name, ip, link_templates))
if __name__ == '__main__':
    main()