zabbix
¶
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>
- saltext.zabbix.modules.zabbix.__virtual__()[source]¶
Only load the module if all modules are imported correctly.
- saltext.zabbix.modules.zabbix.get_zabbix_id_mapper()[source]¶
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
- saltext.zabbix.modules.zabbix.substitute_params(input_object, extend_params=None, filter_key='name', **kwargs)[source]¶
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"}'
- saltext.zabbix.modules.zabbix.compare_params(defined, existing, return_old_value=False)[source]¶
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
- saltext.zabbix.modules.zabbix.get_object_id_by_params(obj, params=None, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.apiinfo_version(**connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.user_create(alias, passwd, usrgrps, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.user_delete(users, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.user_exists(alias, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.user_get(alias=None, userids=None, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.user_update(userid, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.user_getmedia(userids=None, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.user_addmedia(userids, active, mediatypeid, period, sendto, severity, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.user_deletemedia(mediaids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.user_list(**connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usergroup_create(name, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usergroup_delete(usergroupids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usergroup_exists(name=None, node=None, nodeids=None, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usergroup_get(name=None, usrgrpids=None, userids=None, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usergroup_update(usrgrpid, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usergroup_list(**connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.host_create(host, groups, interfaces, **connection_args)[source]¶
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"}'
- saltext.zabbix.modules.zabbix.host_delete(hostids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.host_exists(host=None, hostid=None, name=None, node=None, nodeids=None, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.host_get(host=None, name=None, hostids=None, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.host_update(hostid, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.host_inventory_get(hostids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.host_inventory_set(hostid, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.host_list(**connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.hostgroup_create(name, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.hostgroup_delete(hostgroupids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.hostgroup_exists(name=None, groupid=None, node=None, nodeids=None, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.hostgroup_get(name=None, groupids=None, hostids=None, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.hostgroup_update(groupid, name=None, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.hostgroup_list(**connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.hostinterface_get(hostids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.hostinterface_create(hostid, ip_, dns='', main=1, if_type=1, useip=1, port=None, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.hostinterface_delete(interfaceids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.hostinterface_update(interfaceid, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usermacro_get(macro=None, hostids=None, templateids=None, hostmacroids=None, globalmacroids=None, globalmacro=False, **connection_args)[source]¶
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}'
- saltext.zabbix.modules.zabbix.usermacro_create(macro, value, hostid, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usermacro_createglobal(macro, value, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.usermacro_delete(macroids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usermacro_deleteglobal(macroids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.usermacro_update(hostmacroid, value, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.usermacro_updateglobal(globalmacroid, value, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.mediatype_get(name=None, mediatypeids=None, **connection_args)[source]¶
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']"
- saltext.zabbix.modules.zabbix.mediatype_create(name, mediatype, **connection_args)[source]¶
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'
- saltext.zabbix.modules.zabbix.mediatype_delete(mediatypeids, **connection_args)[source]¶
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
- saltext.zabbix.modules.zabbix.mediatype_update(mediatypeid, name=False, mediatype=False, **connection_args)[source]¶
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"
- saltext.zabbix.modules.zabbix.template_get(name=None, host=None, templateids=None, **connection_args)[source]¶
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']"
- saltext.zabbix.modules.zabbix.run_query(method, params, **connection_args)[source]¶
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"}'
- saltext.zabbix.modules.zabbix.configuration_import(config_file, rules=None, file_format='xml', **connection_args)[source]¶
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}}"