salt.modules.zabbix

Warning

This module will be removed from Salt in version 3009 in favor of the zabbix Salt Extension.

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(**connection_args)

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:

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

New in version 2017.7.0.

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.

CLI Example:

salt '*' zabbix.compare_params new_zabbix_object_dict existing_zabbix_onject_dict
salt.modules.zabbix.configuration_import(config_file, rules=None, file_format='xml', **connection_args)

New in version 2017.7.0.

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, **connection_args)

New in version 2017.7.0.

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

CLI Example:

salt '*' zabbix.get_object_id_by_params object_type params=zabbix_api_query_parameters_dict
salt.modules.zabbix.get_zabbix_id_mapper()

New in version 2017.7.0.

Make ZABBIX_ID_MAPPER constant available to state modules.

Returns:

ZABBIX_ID_MAPPER

CLI Example:

salt '*' zabbix.get_zabbix_id_mapper
salt.modules.zabbix.host_create(host, groups, interfaces, **connection_args)

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, **connection_args)

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:

salt '*' zabbix.host_delete 10106
salt.modules.zabbix.host_exists(host=None, hostid=None, name=None, node=None, nodeids=None, **connection_args)

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:

salt '*' zabbix.host_exists 'Zabbix server'
salt.modules.zabbix.host_get(host=None, name=None, hostids=None, **connection_args)

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:

salt '*' zabbix.host_get 'Zabbix server'
salt.modules.zabbix.host_inventory_get(hostids, **connection_args)

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 -- ID of the host to query

  • _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 inventory fields, populated or not, False if host inventory is disabled or on failure.

CLI Example:

salt '*' zabbix.host_inventory_get 101054
salt.modules.zabbix.host_inventory_set(hostid, **connection_args)

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:

salt '*' zabbix.host_inventory_set 101054 asset_tag=jml3322 type=vm clear_old=True
salt.modules.zabbix.host_list(**connection_args)

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:

salt '*' zabbix.host_list
salt.modules.zabbix.host_update(hostid, **connection_args)

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:

salt '*' zabbix.host_update 10084 name='Zabbix server2'
salt.modules.zabbix.hostgroup_create(name, **connection_args)

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:

salt '*' zabbix.hostgroup_create MyNewGroup
salt.modules.zabbix.hostgroup_delete(hostgroupids, **connection_args)

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:

salt '*' zabbix.hostgroup_delete 23
salt.modules.zabbix.hostgroup_exists(name=None, groupid=None, node=None, nodeids=None, **connection_args)

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:

salt '*' zabbix.hostgroup_exists MyNewGroup
salt.modules.zabbix.hostgroup_get(name=None, groupids=None, hostids=None, **connection_args)

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:

salt '*' zabbix.hostgroup_get MyNewGroup
salt.modules.zabbix.hostgroup_list(**connection_args)

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:

salt '*' zabbix.hostgroup_list
salt.modules.zabbix.hostgroup_update(groupid, name=None, **connection_args)

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:

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, **connection_args)

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:

salt '*' zabbix.hostinterface_create 10105 192.193.194.197
salt.modules.zabbix.hostinterface_delete(interfaceids, **connection_args)

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:

salt '*' zabbix.hostinterface_delete 50
salt.modules.zabbix.hostinterface_get(hostids, **connection_args)

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:

salt '*' zabbix.hostinterface_get 101054
salt.modules.zabbix.hostinterface_update(interfaceid, **connection_args)

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:

salt '*' zabbix.hostinterface_update 6 ip_=0.0.0.2
salt.modules.zabbix.mediatype_create(name, mediatype, **connection_args)

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, **connection_args)

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:

salt '*' zabbix.mediatype_delete 3
salt.modules.zabbix.mediatype_get(name=None, mediatypeids=None, **connection_args)

Retrieve mediatypes according to the given parameters.

Parameters:
  • name -- Name or description of the mediatype

  • mediatypeids -- ids of the mediatypes

  • connection_args (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:

salt '*' zabbix.mediatype_get name='Email'
salt '*' zabbix.mediatype_get mediatypeids="['1', '2', '3']"
salt.modules.zabbix.mediatype_update(mediatypeid, name=False, mediatype=False, **connection_args)

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:

salt '*' zabbix.usergroup_update 8 name="Email update"
salt.modules.zabbix.run_query(method, params, **connection_args)

Send Zabbix API call

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

  • params -- parameters required for specific method

  • connection_args (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:

salt '*' zabbix.run_query proxy.create '{"host": "zabbixproxy.domain.com", "status": "5"}'
salt.modules.zabbix.substitute_params(input_object, extend_params=None, filter_key='name', **kwargs)

New in version 2017.7.0.

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

CLI Example:

salt '*' zabbix.substitute_params '{"query_object": "object_name", "query_name": "specific_object_name"}'
salt.modules.zabbix.template_get(name=None, host=None, templateids=None, **connection_args)

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

  • connection_args (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:

salt '*' zabbix.template_get name='Template OS Linux'
salt '*' zabbix.template_get templateids="['10050', '10001']"
salt.modules.zabbix.user_addmedia(userids, active, mediatypeid, period, sendto, severity, **connection_args)

Add new media to multiple users. Available only for Zabbix version 3.4 or older.

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:

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, **connection_args)

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:

salt '*' zabbix.user_create james password007 '[7, 12]' firstname='James Bond'
salt.modules.zabbix.user_delete(users, **connection_args)

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:

salt '*' zabbix.user_delete 15
salt.modules.zabbix.user_deletemedia(mediaids, **connection_args)

Delete media by id. Available only for Zabbix version 3.4 or older.

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:

salt '*' zabbix.user_deletemedia 27
salt.modules.zabbix.user_exists(alias, **connection_args)

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:

salt '*' zabbix.user_exists james
salt.modules.zabbix.user_get(alias=None, userids=None, **connection_args)

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:

salt '*' zabbix.user_get james
salt.modules.zabbix.user_getmedia(userids=None, **connection_args)

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:

salt '*' zabbix.user_getmedia
salt.modules.zabbix.user_list(**connection_args)

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:

salt '*' zabbix.user_list
salt.modules.zabbix.user_update(userid, **connection_args)

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:

salt '*' zabbix.user_update 16 visible_name='James Brown'
salt.modules.zabbix.usergroup_create(name, **connection_args)

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:

salt '*' zabbix.usergroup_create GroupName
salt.modules.zabbix.usergroup_delete(usergroupids, **connection_args)

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:

salt '*' zabbix.usergroup_delete 28
salt.modules.zabbix.usergroup_exists(name=None, node=None, nodeids=None, **connection_args)

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:

salt '*' zabbix.usergroup_exists Guests
salt.modules.zabbix.usergroup_get(name=None, usrgrpids=None, userids=None, **connection_args)

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:

salt '*' zabbix.usergroup_get Guests
salt.modules.zabbix.usergroup_list(**connection_args)

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:

salt '*' zabbix.usergroup_list
salt.modules.zabbix.usergroup_update(usrgrpid, **connection_args)

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:

salt '*' zabbix.usergroup_update 8 name=guestsRenamed
salt.modules.zabbix.usermacro_create(macro, value, hostid, **connection_args)

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, **connection_args)

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, **connection_args)

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, **connection_args)

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, **connection_args)

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

  • connection_args (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:

salt '*' zabbix.usermacro_get macro='{$SNMP_COMMUNITY}'
salt.modules.zabbix.usermacro_update(hostmacroid, value, **connection_args)

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, **connection_args)

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'