SYNOPSIS
use Zabbix::API::User;
# fetch a single user by login ("alias")
my $user = $zabbix->fetch('User', params => { filter => { alias => 'luser' } })->[0];
# and delete it
$user->delete;
DESCRIPTION
Handles CRUD for Zabbix user objects.This is a subclass of "Zabbix::API::CRUDE"; see there for inherited methods.
METHODS
- usergroups()
- Returns an arrayref of the user's usergroups (possibly empty) as Zabbix::API::UserGroup objects.
- add_to_usergroup(USERGROUP_OR_NAME)
- Takes a Zabbix::API::UserGroup instance or a valid usergroup name, and adds the current user to the group. Returns $self.
- set_usergroups(LIST_OF_USERGROUPS_OR_NAMES)
- Takes a list of Zabbix::API::UserGroup instances or valid usergroup names, and sets the user/usergroup relationship appropriately. Returns $self.
- set_password(NEW_PASSWORD)
- Sets the user's password. The modified user is not pushed automatically to the server.
- name()
- Accessor for the user's name (the ``alias'' attribute).
- collides()
- This method returns a list of users colliding (i.e. matching) this one. If there if more than one colliding user found the implementation can not know on which one to perform updates and will bail out.
EXPORTS
User types are implemented as constants:
USER_TYPE_USER USER_TYPE_ADMIN USER_TYPE_SUPERADMIN
Promote (or demote) users by setting their "$user-"data->{type}> attribute to one of these.
Nothing is exported by default; you can use the tag ":user_types" (or import by name).
BUGS AND ODDITIES
Apparently when logging in via the web page Zabbix does not care about the case of your username (e.g. ``admin'', ``Admin'' and ``ADMIN'' will all work). I have not tested this for filtering/searching/colliding users.WHERE'S THE remove_from_usergroup METHOD?
This <https://support.zabbix.com/browse/ZBX-6124> is where it is.AUTHOR
Fabrice Gabolde <[email protected]>COPYRIGHT AND LICENSE
Copyright (C) 2013 SFRThis library is free software; you can redistribute it and/or modify it under the terms of the GPLv3.