# zabbix_hostmacro – Create/update/delete Zabbix host macros

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Status

## Synopsis

- manages Zabbix host macros, it can create, update or delete them.

## Requirements

The below requirements are needed on the host that executes this module.

- python >= 2.6
- zabbix-api >= 0.5.4

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

force
boolean
added in 2.5

Choices:
- no
- yes ←

Only updates an existing macro if set to `yes`.

host_name string / required |  | Name of the host.
http_login_password string |  | Basic Auth password
http_login_user string / required |  | Basic Auth login
login_password string / required |  | Zabbix user password.
login_user string / required |  | Zabbix user name.
macro_name string / required |  | Name of the host macro without the enclosing curly braces and the leading dollar sign.
macro_value string |  | Value of the host macro. Required if state=present.
server_url string / required |  | URL of Zabbix server, with protocol (http or https). `url` is an alias for `server_url`. aliases: url

state
string

Choices:
- present ←
- absent

State of the macro.
On `present`, it will create if macro does not exist or update the macro if the associated data is different.
On `absent` will remove a macro if it exists.

timeout integer | Default: 10 | The timeout of API request (seconds).

validate_certs
boolean
added in 2.5

Choices:
- no
- yes ←

If set to False, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

## Notes

Note

- If you use login_password=zabbix, the word “zabbix” is replaced by “****” in all module output, because login_password uses `no_log`. See this FAQ for more information.

## Examples

    - name: Create new host macro or update an existing macro's value
      local_action:
        module: zabbix_hostmacro
        server_url: http://monitor.example.com
        login_user: username
        login_password: password
        host_name: ExampleHost
        macro_name: EXAMPLE.MACRO
        macro_value: Example value
        state: present

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Cove (@cove)
- Dean Hailin Song (!UNKNOWN)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.