salt.modules.zabbix module

Support for Zabbix

optdepends
  • zabbix server

configuration

This module is not usable until the zabbix user and zabbix password are specified either in a pillar or in the minion's config file. Zabbix url should be also specified.

zabbix.user: Admin
zabbix.password: mypassword
zabbix.url: http://127.0.0.1/zabbix/api_jsonrpc.php

Connection arguments from the minion config file can be overridden on the CLI by using arguments with _connection_ prefix.

zabbix.apiinfo_version _connection_user=Admin _connection_password=zabbix _connection_url=http://host/zabbix/
codeauthor

Jiri Kotlin <jiri.kotlin@ultimum.io>

salt.modules.zabbix.apiinfo_version(**kwargs)

Retrieve the version of the Zabbix API.

New in version 2016.3.0.

Parameters
  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

On success string with Zabbix API version, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.apiinfo_version

salt.modules.zabbix.compare_params(defined, existing, return_old_value=False)

New in version 2017.7.

Compares Zabbix object definition against existing Zabbix object.

Parameters
  • defined -- Zabbix object definition taken from sls file.

  • existing -- Existing Zabbix object taken from result of an API call.

  • return_old_value -- Default False. If True, returns dict("old"=old_val, "new"=new_val) for rollback purpose.

Returns

Params that are different from existing object. Result extended by object ID can be passed directly to Zabbix API update method.

salt.modules.zabbix.configuration_import(config_file, rules=None, file_format='xml', **kwargs)

New in version 2017.7.

Imports Zabbix configuration specified in file to Zabbix server.

Parameters
  • config_file -- File with Zabbix config (local or remote)

  • rules -- Optional - Rules that have to be different from default (defaults are the same as in Zabbix web UI.)

  • file_format -- Config file format (default: xml)

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

CLI Example:

salt '*' zabbix.configuration_import salt://zabbix/config/zabbix_templates.xml         "{'screens': {'createMissing': True, 'updateExisting': True}}"
salt.modules.zabbix.get_object_id_by_params(obj, params=None, **kwargs)

New in version 2017.7.

Get ID of single Zabbix object specified by its name.

Parameters
  • obj -- Zabbix object type

  • params -- Parameters by which object is uniquely identified

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

object ID

salt.modules.zabbix.get_zabbix_id_mapper()

New in version 2017.7.

Make ZABBIX_ID_MAPPER constant available to state modules.

Returns

ZABBIX_ID_MAPPER

salt.modules.zabbix.host_create(host, groups, interfaces, **kwargs)

New in version 2016.3.0.

Create new host

Note

This function accepts all standard host properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • host -- technical name of the host

  • groups -- groupids of host groups to add the host to

  • interfaces -- interfaces to be created for the host

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

  • visible_name -- string with visible name of the host, use 'visible_name' instead of 'name' parameter to not mess with value supplied from Salt sls file.

return: ID of the created host.

CLI Example:

salt '*' zabbix.host_create technicalname 4
interfaces='{type: 1, main: 1, useip: 1, ip: "192.168.3.1", dns: "", port: 10050}'
visible_name='Host Visible Name' inventory_mode=0 inventory='{"alias": "something"}'
salt.modules.zabbix.host_delete(hostids, **kwargs)

Delete hosts.

New in version 2016.3.0.

Parameters
  • hostids -- Hosts (hostids) to delete.

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

IDs of the deleted hosts.

CLI Example: .. code-block:: bash

salt '*' zabbix.host_delete 10106

salt.modules.zabbix.host_exists(host=None, hostid=None, name=None, node=None, nodeids=None, **kwargs)

Checks if at least one host that matches the given filter criteria exists.

New in version 2016.3.0.

Parameters
  • host -- technical name of the host

  • hostids -- Hosts (hostids) to delete.

  • name -- visible name of the host

  • node -- name of the node the hosts must belong to (zabbix API < 2.4)

  • nodeids -- IDs of the node the hosts must belong to (zabbix API < 2.4)

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

IDs of the deleted hosts, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.host_exists 'Zabbix server'

salt.modules.zabbix.host_get(host=None, name=None, hostids=None, **kwargs)

New in version 2016.3.0.

Retrieve hosts according to the given parameters

Note

This function accepts all optional host.get parameters: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • host -- technical name of the host

  • name -- visible name of the host

  • hostids -- ids of the hosts

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with convenient hosts details, False if no host found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.host_get 'Zabbix server'

salt.modules.zabbix.host_inventory_get(hostids, **kwargs)

Retrieve host inventory according to the given parameters. See: https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory

New in version 2019.2.0.

Parameters
  • hostids -- Return only host interfaces used by the given hosts.

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with host interfaces details, False if no convenient host interfaces found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.host_inventory_get 101054

salt.modules.zabbix.host_inventory_set(hostid, **kwargs)

Update host inventory items NOTE: This function accepts all standard host: keyword argument names for inventory see: https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory

New in version 2019.2.0.

Parameters
  • hostid -- ID of the host to update

  • clear_old -- Set to True in order to remove all existing inventory items before setting the specified items

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

ID of the updated host, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.host_inventory_set 101054 asset_tag=jml3322 type=vm clear_old=True

salt.modules.zabbix.host_list(**kwargs)

Retrieve all hosts.

New in version 2016.3.0.

Parameters
  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with details about hosts, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.host_list

salt.modules.zabbix.host_update(hostid, **kwargs)

New in version 2016.3.0.

Update existing hosts

Note

This function accepts all standard host and host.update properties: keyword argument names differ depending on your zabbix version, see the documentation for host objects and the documentation for updating hosts.

Parameters
  • hostid -- ID of the host to update

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

  • visible_name -- string with visible name of the host, use 'visible_name' instead of 'name' parameter to not mess with value supplied from Salt sls file.

Returns

ID of the updated host.

CLI Example: .. code-block:: bash

salt '*' zabbix.host_update 10084 name='Zabbix server2'

salt.modules.zabbix.hostgroup_create(name, **kwargs)

New in version 2016.3.0.

Create a host group

Note

This function accepts all standard host group properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • name -- name of the host group

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

ID of the created host group.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostgroup_create MyNewGroup

salt.modules.zabbix.hostgroup_delete(hostgroupids, **kwargs)

Delete the host group.

New in version 2016.3.0.

Parameters
  • hostgroupids -- IDs of the host groups to delete

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

ID of the deleted host groups, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostgroup_delete 23

salt.modules.zabbix.hostgroup_exists(name=None, groupid=None, node=None, nodeids=None, **kwargs)

Checks if at least one host group that matches the given filter criteria exists.

New in version 2016.3.0.

Parameters
  • name -- names of the host groups

  • groupid -- host group IDs

  • node -- name of the node the host groups must belong to (zabbix API < 2.4)

  • nodeids -- IDs of the nodes the host groups must belong to (zabbix API < 2.4)

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

True if at least one host group exists, False if not or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostgroup_exists MyNewGroup

salt.modules.zabbix.hostgroup_get(name=None, groupids=None, hostids=None, **kwargs)

New in version 2016.3.0.

Retrieve host groups according to the given parameters

Note

This function accepts all standard hostgroup.get properities: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • name -- names of the host groups

  • groupid -- host group IDs

  • node -- name of the node the host groups must belong to

  • nodeids -- IDs of the nodes the host groups must belong to

  • hostids -- return only host groups that contain the given hosts

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with host groups details, False if no convenient host group found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostgroup_get MyNewGroup

salt.modules.zabbix.hostgroup_list(**kwargs)

Retrieve all host groups.

New in version 2016.3.0.

Parameters
  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with details about host groups, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostgroup_list

salt.modules.zabbix.hostgroup_update(groupid, name=None, **kwargs)

New in version 2016.3.0.

Update existing hosts group

Note

This function accepts all standard host group properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • groupid -- ID of the host group to update

  • name -- name of the host group

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

IDs of updated host groups.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostgroup_update 24 name='Renamed Name'

salt.modules.zabbix.hostinterface_create(hostid, ip_, dns='', main=1, if_type=1, useip=1, port=None, **kwargs)

New in version 2016.3.0.

Create new host interface

Note

This function accepts all standard host group interface: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • hostid -- ID of the host the interface belongs to

  • ip -- IP address used by the interface

  • dns -- DNS name used by the interface

  • main -- whether the interface is used as default on the host (0 - not default, 1 - default)

  • port -- port number used by the interface

  • type -- Interface type (1 - agent; 2 - SNMP; 3 - IPMI; 4 - JMX)

  • useip -- Whether the connection should be made via IP (0 - connect using host DNS name; 1 - connect using host IP address for this host interface)

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

ID of the created host interface, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostinterface_create 10105 192.193.194.197

salt.modules.zabbix.hostinterface_delete(interfaceids, **kwargs)

Delete host interface

New in version 2016.3.0.

Parameters
  • interfaceids -- IDs of the host interfaces to delete

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

ID of deleted host interfaces, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostinterface_delete 50

salt.modules.zabbix.hostinterface_get(hostids, **kwargs)

New in version 2016.3.0.

Retrieve host groups according to the given parameters

Note

This function accepts all standard hostinterface.get properities: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • hostids -- Return only host interfaces used by the given hosts.

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with host interfaces details, False if no convenient host interfaces found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostinterface_get 101054

salt.modules.zabbix.hostinterface_update(interfaceid, **kwargs)

New in version 2016.3.0.

Update host interface

Note

This function accepts all standard hostinterface: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • interfaceid -- ID of the hostinterface to update

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

ID of the updated host interface, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.hostinterface_update 6 ip_=0.0.0.2

salt.modules.zabbix.mediatype_create(name, mediatype, **kwargs)

Create new mediatype

Note

This function accepts all standard mediatype properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • mediatype -- media type - 0: email, 1: script, 2: sms, 3: Jabber, 100: Ez Texting

  • exec_path -- exec path - Required for script and Ez Texting types, see Zabbix API docs

  • gsm_modem -- exec path - Required for sms type, see Zabbix API docs

  • smtp_email -- email address from which notifications will be sent, required for email type

  • smtp_helo -- SMTP HELO, required for email type

  • smtp_server -- SMTP server, required for email type

  • status -- whether the media type is enabled - 0: enabled, 1: disabled

  • username -- authentication user, required for Jabber and Ez Texting types

  • passwd -- authentication password, required for Jabber and Ez Texting types

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

return: ID of the created mediatype.

CLI Example:

salt '*' zabbix.mediatype_create 'Email' 0 smtp_email='noreply@example.com'
smtp_server='mailserver.example.com' smtp_helo='zabbix.example.com'
salt.modules.zabbix.mediatype_delete(mediatypeids, **kwargs)

Delete mediatype

Parameters
  • interfaceids -- IDs of the mediatypes to delete

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

ID of deleted mediatype, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.mediatype_delete 3

salt.modules.zabbix.mediatype_get(name=None, mediatypeids=None, **kwargs)

Retrieve mediatypes according to the given parameters.

Parameters
  • name -- Name or description of the mediatype

  • mediatypeids -- ids of the mediatypes

  • kwargs (optional) --

    _connection_user: zabbix user (can also be set in opts or pillar, see module's docstring) _connection_password: zabbix password (can also be set in opts or pillar, see module's docstring) _connection_url: url of zabbix frontend (can also be set in opts or pillar, see module's docstring)

    all optional mediatype.get parameters: keyword argument names depends on your zabbix version, see:

    https://www.zabbix.com/documentation/2.2/manual/api/reference/mediatype/get

Returns

Array with mediatype details, False if no mediatype found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.mediatype_get name='Email' salt '*' zabbix.mediatype_get mediatypeids="['1', '2', '3']"

salt.modules.zabbix.mediatype_update(mediatypeid, name=False, mediatype=False, **kwargs)

Update existing mediatype

Note

This function accepts all standard mediatype properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • mediatypeid -- ID of the mediatype to update

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

IDs of the updated mediatypes, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.usergroup_update 8 name="Email update"

salt.modules.zabbix.run_query(method, params, **kwargs)

Send Zabbix API call

Parameters
  • method -- actual operation to perform via the API

  • params -- parameters required for specific method

  • kwargs (optional) --

    _connection_user: zabbix user (can also be set in opts or pillar, see module's docstring) _connection_password: zabbix password (can also be set in opts or pillar, see module's docstring) _connection_url: url of zabbix frontend (can also be set in opts or pillar, see module's docstring)

    all optional template.get parameters: keyword argument names depends on your zabbix version, see:

    https://www.zabbix.com/documentation/2.4/manual/api/reference/

Returns

Response from Zabbix API

CLI Example: .. code-block:: bash

salt '*' zabbix.run_query proxy.create '{"host": "zabbixproxy.domain.com", "status": "5"}'

salt.modules.zabbix.service_add(service_rootid=None, service_name=None, triggerid=None, **kwargs)

New in version Fluorine.

Create service under service with id specified as parameter.

Parameters
  • service_rootid -- Service id under which service should be added

  • service_name -- Name of new service

  • triggerid -- Optional - ID of trigger which should be watched in service

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Service details, False if service could not be added or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.service_add 11 'My service' 11111

salt.modules.zabbix.service_delete(service_id=None, **kwargs)

New in version Fluorine.

Delete service specified by id.

Parameters

service_id -- ID of service which should be deleted

Note

Service can't be deleted if it has any children.

Parameters
  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

ID of deleted service, False if service could not be deleted or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.service_delete 10

salt.modules.zabbix.service_get(service_name=None, service_rootid=None, **kwargs)

New in version Fluorine.

Get service according to name and parent service ID.

Parameters
  • service_name -- Name of the service

  • service_rootid -- ID of service parent

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Service details, False if no service found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.service_get 'My service' 11

salt.modules.zabbix.substitute_params(input_object, extend_params=None, filter_key='name', **kwargs)

New in version 2017.7.

Go through Zabbix object params specification and if needed get given object ID from Zabbix API and put it back as a value. Definition of the object is done via dict with keys "query_object" and "query_name".

Parameters
  • input_object -- Zabbix object type specified in state file

  • extend_params -- Specify query with params

  • filter_key -- Custom filtering key (default: name)

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Params structure with values converted to string for further comparison purposes

salt.modules.zabbix.template_get(name=None, host=None, templateids=None, **kwargs)

Retrieve templates according to the given parameters.

Parameters
  • host -- technical name of the template

  • name -- visible name of the template

  • hostids -- ids of the templates

  • kwargs (optional) --

    _connection_user: zabbix user (can also be set in opts or pillar, see module's docstring) _connection_password: zabbix password (can also be set in opts or pillar, see module's docstring) _connection_url: url of zabbix frontend (can also be set in opts or pillar, see module's docstring)

    all optional template.get parameters: keyword argument names depends on your zabbix version, see:

    https://www.zabbix.com/documentation/2.4/manual/api/reference/template/get

Returns

Array with convenient template details, False if no template found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.template_get name='Template OS Linux' salt '*' zabbix.template_get templateids="['10050', '10001']"

salt.modules.zabbix.triggerid_get(hostid=None, trigger_desc=None, priority=4, **kwargs)

New in version Fluorine.

Retrieve trigger ID and description based in host ID and trigger description.

Parameters
  • hostid -- ID of the host whose trigger we want to find

  • trigger_desc -- Description of trigger (trigger name) whose we want to find

  • priority -- Priority of trigger (useful if we have same name for more triggers with different priorities)

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Trigger ID and description. False if no trigger found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.triggerid_get 1111 'trigger name to find' 5

salt.modules.zabbix.user_addmedia(userids, active, mediatypeid, period, sendto, severity, **kwargs)

Add new media to multiple users.

New in version 2016.3.0.

Parameters
  • userids -- ID of the user that uses the media

  • active -- Whether the media is enabled (0 enabled, 1 disabled)

  • mediatypeid -- ID of the media type used by the media

  • period -- Time when the notifications can be sent as a time period

  • sendto -- Address, user name or other identifier of the recipient

  • severity -- Trigger severities to send notifications about

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

IDs of the created media.

CLI Example: .. code-block:: bash

salt '*' zabbix.user_addmedia 4 active=0 mediatypeid=1 period='1-7,00:00-24:00' sendto='support2@example.com' severity=63

salt.modules.zabbix.user_create(alias, passwd, usrgrps, **kwargs)

New in version 2016.3.0.

Create new zabbix user

Note

This function accepts all standard user properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • alias -- user alias

  • passwd -- user's password

  • usrgrps -- user groups to add the user to

  • _connection_user -- zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- url of zabbix frontend (can also be set in opts or pillar, see module's docstring)

  • firstname -- string with firstname of the user, use 'firstname' instead of 'name' parameter to not mess with value supplied from Salt sls file.

Returns

On success string with id of the created user.

CLI Example: .. code-block:: bash

salt '*' zabbix.user_create james password007 '[7, 12]' firstname='James Bond'

salt.modules.zabbix.user_delete(users, **kwargs)

Delete zabbix users.

New in version 2016.3.0.

Parameters
  • users -- array of users (userids) to delete

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

On success array with userids of deleted users.

CLI Example: .. code-block:: bash

salt '*' zabbix.user_delete 15

salt.modules.zabbix.user_deletemedia(mediaids, **kwargs)

Delete media by id.

New in version 2016.3.0.

Parameters
  • mediaids -- IDs of the media to delete

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

IDs of the deleted media, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.user_deletemedia 27

salt.modules.zabbix.user_exists(alias, **kwargs)

Checks if user with given alias exists.

New in version 2016.3.0.

Parameters
  • alias -- user alias

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

True if user exists, else False.

CLI Example: .. code-block:: bash

salt '*' zabbix.user_exists james

salt.modules.zabbix.user_get(alias=None, userids=None, **kwargs)

Retrieve users according to the given parameters.

New in version 2016.3.0.

Parameters
  • alias -- user alias

  • userids -- return only users with the given IDs

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with details of convenient users, False on failure of if no user found.

CLI Example: .. code-block:: bash

salt '*' zabbix.user_get james

salt.modules.zabbix.user_getmedia(userids=None, **kwargs)

New in version 2016.3.0.

Retrieve media according to the given parameters

Note

This function accepts all standard usermedia.get properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • userids -- return only media that are used by the given users

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

List of retrieved media, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.user_getmedia

salt.modules.zabbix.user_list(**kwargs)

Retrieve all of the configured users.

New in version 2016.3.0.

Parameters
  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with user details.

CLI Example: .. code-block:: bash

salt '*' zabbix.user_list

salt.modules.zabbix.user_update(userid, **kwargs)

New in version 2016.3.0.

Update existing users

Note

This function accepts all standard user properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • userid -- id of the user to update

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Id of the updated user on success.

CLI Example: .. code-block:: bash

salt '*' zabbix.user_update 16 visible_name='James Brown'

salt.modules.zabbix.usergroup_create(name, **kwargs)

New in version 2016.3.0.

Create new user group

Note

This function accepts all standard user group properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • name -- name of the user group

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

IDs of the created user groups.

CLI Example: .. code-block:: bash

salt '*' zabbix.usergroup_create GroupName

salt.modules.zabbix.usergroup_delete(usergroupids, **kwargs)

New in version 2016.3.0.

Parameters
  • usergroupids -- IDs of the user groups to delete

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

IDs of the deleted user groups.

CLI Example: .. code-block:: bash

salt '*' zabbix.usergroup_delete 28

salt.modules.zabbix.usergroup_exists(name=None, node=None, nodeids=None, **kwargs)

Checks if at least one user group that matches the given filter criteria exists

New in version 2016.3.0.

Parameters
  • name -- names of the user groups

  • node -- name of the node the user groups must belong to (This will override the nodeids parameter.)

  • nodeids -- IDs of the nodes the user groups must belong to

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

True if at least one user group that matches the given filter criteria exists, else False.

CLI Example: .. code-block:: bash

salt '*' zabbix.usergroup_exists Guests

salt.modules.zabbix.usergroup_get(name=None, usrgrpids=None, userids=None, **kwargs)

New in version 2016.3.0.

Retrieve user groups according to the given parameters

Note

This function accepts all usergroup_get properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • name -- names of the user groups

  • usrgrpids -- return only user groups with the given IDs

  • userids -- return only user groups that contain the given users

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with convenient user groups details, False if no user group found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.usergroup_get Guests

salt.modules.zabbix.usergroup_list(**kwargs)

Retrieve all enabled user groups.

New in version 2016.3.0.

Parameters
  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

Array with enabled user groups details, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.usergroup_list

salt.modules.zabbix.usergroup_update(usrgrpid, **kwargs)

New in version 2016.3.0.

Update existing user group

Note

This function accepts all standard user group properties: keyword argument names differ depending on your zabbix version, see here.

Parameters
  • usrgrpid -- ID of the user group to update.

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

Returns

IDs of the updated user group, False on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.usergroup_update 8 name=guestsRenamed

salt.modules.zabbix.usermacro_create(macro, value, hostid, **kwargs)

Create new host usermacro.

Parameters
  • macro -- name of the host usermacro

  • value -- value of the host usermacro

  • hostid -- hostid or templateid

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

return: ID of the created host usermacro.

CLI Example:

salt '*' zabbix.usermacro_create '{$SNMP_COMMUNITY}' 'public' 1
salt.modules.zabbix.usermacro_createglobal(macro, value, **kwargs)

Create new global usermacro.

Parameters
  • macro -- name of the global usermacro

  • value -- value of the global usermacro

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

return: ID of the created global usermacro.

CLI Example:

salt '*' zabbix.usermacro_createglobal '{$SNMP_COMMUNITY}' 'public'
salt.modules.zabbix.usermacro_delete(macroids, **kwargs)

Delete host usermacros.

Parameters
  • macroids -- macroids of the host usermacros

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

return: IDs of the deleted host usermacro.

CLI Example:

salt '*' zabbix.usermacro_delete 21
salt.modules.zabbix.usermacro_deleteglobal(macroids, **kwargs)

Delete global usermacros.

Parameters
  • macroids -- macroids of the global usermacros

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

return: IDs of the deleted global usermacro.

CLI Example:

salt '*' zabbix.usermacro_deleteglobal 21
salt.modules.zabbix.usermacro_get(macro=None, hostids=None, templateids=None, hostmacroids=None, globalmacroids=None, globalmacro=False, **kwargs)

Retrieve user macros according to the given parameters.

Parameters
  • macro -- name of the usermacro

  • hostids -- Return macros for the given hostids

  • templateids -- Return macros for the given templateids

  • hostmacroids -- Return macros with the given hostmacroids

  • globalmacroids -- Return macros with the given globalmacroids (implies globalmacro=True)

  • globalmacro -- if True, returns only global macros

  • kwargs (optional) -- _connection_user: zabbix user (can also be set in opts or pillar, see module's docstring) _connection_password: zabbix password (can also be set in opts or pillar, see module's docstring) _connection_url: url of zabbix frontend (can also be set in opts or pillar, see module's docstring)

Returns

Array with usermacro details, False if no usermacro found or on failure.

CLI Example: .. code-block:: bash

salt '*' zabbix.usermacro_get macro='{$SNMP_COMMUNITY}'

salt.modules.zabbix.usermacro_update(hostmacroid, value, **kwargs)

Update existing host usermacro.

Parameters
  • hostmacroid -- id of the host usermacro

  • value -- new value of the host usermacro

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

return: ID of the update host usermacro.

CLI Example:

salt '*' zabbix.usermacro_update 1 'public'
salt.modules.zabbix.usermacro_updateglobal(globalmacroid, value, **kwargs)

Update existing global usermacro.

Parameters
  • globalmacroid -- id of the host usermacro

  • value -- new value of the host usermacro

  • _connection_user -- Optional - zabbix user (can also be set in opts or pillar, see module's docstring)

  • _connection_password -- Optional - zabbix password (can also be set in opts or pillar, see module's docstring)

  • _connection_url -- Optional - url of zabbix frontend (can also be set in opts, pillar, see module's docstring)

return: ID of the update global usermacro.

CLI Example:

salt '*' zabbix.usermacro_updateglobal 1 'public'