lib/zabbixapi/classes/usergroups.rb in zabbixapi-4.1.2 vs lib/zabbixapi/classes/usergroups.rb in zabbixapi-4.2.0
- old
+ new
@@ -28,48 +28,45 @@
# @raise [HttpError] Error raised when HTTP status from Zabbix Server response is not a 200 OK.
# @return [Integer] Zabbix object id (usergroup)
def permissions(data)
permission = data[:permission] || 2
result = @client.api_request(
- method: 'usergroup.massAdd',
+ method: 'usergroup.update',
params: {
- usrgrpids: [data[:usrgrpid]],
+ usrgrpid: data[:usrgrpid],
rights: data[:hostgroupids].map { |t| { permission: permission, id: t } }
}
)
result ? result['usrgrpids'][0].to_i : nil
end
# Add users to usergroup using Zabbix API
#
+ # @deprecated Zabbix has removed massAdd in favor of update.
# @param data [Hash] Needs to include userids and usrgrpids to mass add users to groups
# @raise [ApiError] Error returned when there is a problem with the Zabbix API call.
# @raise [HttpError] Error raised when HTTP status from Zabbix Server response is not a 200 OK.
# @return [Integer] Zabbix object id (usergroup)
def add_user(data)
- result = @client.api_request(
- method: 'usergroup.massAdd',
- params: {
- usrgrpids: data[:usrgrpids],
- userids: data[:userids]
- }
- )
- result ? result['usrgrpids'][0].to_i : nil
+ update_users(data)
end
# Update users in usergroups using Zabbix API
#
# @param data [Hash] Needs to include userids and usrgrpids to mass update users in groups
# @raise [ApiError] Error returned when there is a problem with the Zabbix API call.
# @raise [HttpError] Error raised when HTTP status from Zabbix Server response is not a 200 OK.
# @return [Integer] Zabbix object id (usergroup)
def update_users(data)
- result = @client.api_request(
- method: 'usergroup.massUpdate',
- params: {
- usrgrpids: data[:usrgrpids],
- userids: data[:userids]
+ user_groups = data[:usrgrpids].map do |t|
+ {
+ usrgrpid: t,
+ userids: data[:userids],
}
+ end
+ result = @client.api_request(
+ method: 'usergroup.update',
+ params: user_groups,
)
result ? result['usrgrpids'][0].to_i : nil
end
end
end