# 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.

  Added 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)

  Added 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)

  Added 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)

  Added 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()

  Added 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)

  Added 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.

  Added 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.

  Added 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)

  Added 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

  Added 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

  Added 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.

  Added 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)

  Added 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)

  Added 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.

  Added 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.

  Added 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)

  Added 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.

  Added 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)

  Added 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)

  Added 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

  Added 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)

  Added 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)

  Added 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)

  Added 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.

  Added 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)

  Added 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.

  Added 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.

  Added 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.

  Added 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.

  Added 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)

  Added 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.

  Added 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)

  Added 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)

  Added 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)

  Added 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

  Added 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)

  Added 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.

  Added 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)

  Added 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'