class FreeipaEasy::User

Attributes

cookies[R]
password[R]
url[R]
user[R]

Public Class Methods

new(url, user, password) click to toggle source
# File lib/freeipa_easy/user.rb, line 6
def initialize(url, user, password)
  @url = url
  @user = user
  @password = password
end

Public Instance Methods

add_user(first_name, last_name, login, mail, password) click to toggle source
# File lib/freeipa_easy/user.rb, line 23
def add_user(first_name, last_name, login, mail, password)
  begin
  cn = first_name + " " + last_name
  if (password.class.to_s.eql?("TrueClass"))
  payload = {"method":"user_add",
  "params":[[login],
  {"cn": cn, "mail": mail, "givenname": first_name, "sn": last_name, "random": password}],
  "id":0}
  else
  payload = {"method":"user_add",
  "params":[[login],
  {"cn": cn, "mail": mail, "givenname": first_name, "sn": last_name, "userpasswd": password}],
  "id":0}
  end
  data_json = RestClient::Request.execute(method: :post, 
  url: @url +'/ipa/session/json',
  :verify_ssl => false, 
  :cookies => @cookies,
  :payload => payload.to_json,
  :headers => {:content_type => :json, :accept =>:json,
  :Referer => url + '/ipa'})
  data = JSON.parse(data_json)
  rescue Exception => e
    puts "#{e.class}" +": " +  "#{e.message}"
  end
  unless data["result"]["result"]["randompassword"].nil?
   return data["result"]["result"]["randompassword"]
  else
  return data["error"]
  end
end
authentication_password() click to toggle source
# File lib/freeipa_easy/user.rb, line 12
def authentication_password
  begin
  login_freeipa = RestClient::Request.execute(method: :post, url: url+'/ipa/session/login_password', :verify_ssl => false, :payload => "user=#{@user}&password=#{@password}",
  :headers => {:Referer => url+'/ipa'})
  @cookies = login_freeipa.cookies
  rescue Exception => e
    puts "#{e.class}" +": " +  "#{e.message}"
  end
  true
end
delete_user(login) click to toggle source
# File lib/freeipa_easy/user.rb, line 55
def delete_user(login)
  begin
  payload = {"id": 0, "method": "user_del", "params": [[[login]],{ }]}
  data_json = RestClient::Request.execute(method: :post,
  url: @url +'/ipa/session/json',
  :verify_ssl => false,
  :cookies => @cookies,
  :payload => payload.to_json,
  :headers => {:content_type => :json, :accept =>:json,
  :Referer => url + '/ipa'})
  data = JSON.parse(data_json)
  rescue Exception => e
    puts "#{e.class}" +": " +  "#{e.message}"
  end
  data["error"]
end
disable_user(login) click to toggle source
# File lib/freeipa_easy/user.rb, line 89
def disable_user(login)
  begin
  payload = {"id": 0, "method": "user_disable", "params": [[login], {}]}
  data_json = RestClient::Request.execute(method: :post,
  url: @url +'/ipa/session/json',
  :verify_ssl => false,
  :cookies => @cookies,
  :payload => payload.to_json,
  :headers => {:content_type => :json, :accept =>:json,
  :Referer => url + '/ipa'})
  data = JSON.parse(data_json)
  rescue Exception => e
    puts "#{e.class}" +": " +  "#{e.message}"
  end
  data["error"]
end
enable_user(login) click to toggle source
# File lib/freeipa_easy/user.rb, line 123
def enable_user(login)
  begin
  payload = {"id": 0, "method": "user_enable", "params": [[login], {}]}
  data_json = RestClient::Request.execute(method: :post,
  url: @url +'/ipa/session/json',
  :verify_ssl => false,
  :cookies => @cookies,
  :payload => payload.to_json,
  :headers => {:content_type => :json, :accept =>:json,
  :Referer => url + '/ipa'})
  data = JSON.parse(data_json)
  rescue Exception => e
    puts "#{e.class}" +": " +  "#{e.message}"
  end
  data["error"]
end
modify_user(login,payload_options={}) click to toggle source
# File lib/freeipa_easy/user.rb, line 140
def modify_user(login,payload_options={})
  begin
  payload_options.merge!({"all": false, "no_members": false,"raw": false,"rights": false})
  test =  {"all": false, "no_members": false,"raw": false,"rights": false}
  payload = {"id": 0, "method": "user_mod", "params": [[login], payload_options]}
  data_json = RestClient::Request.execute(method: :post,
  url: @url +'/ipa/session/json',
  :verify_ssl => false,
  :cookies => @cookies,
  :payload => payload.to_json,
  :headers => {:content_type => :json, :accept =>:json,
  :Referer => url + '/ipa'})
  data = JSON.parse(data_json)
  rescue Exception => e
    puts "#{e.class}" +": " +  "#{e.message}"
  end
 data["error"]
end
show_user(login) click to toggle source
# File lib/freeipa_easy/user.rb, line 72
def show_user(login)
  begin
  payload = {"id": 0, "method": "user_show", "params": [[login], {"all": false, "no_members": false,"raw": false,"rights": false}]}
  data_json = RestClient::Request.execute(method: :post,
  url: @url +'/ipa/session/json',
  :verify_ssl => false,
  :cookies => @cookies,
  :payload => payload.to_json,
  :headers => {:content_type => :json, :accept =>:json,
  :Referer => url + '/ipa'})
  data = JSON.parse(data_json)
  rescue Exception => e
    puts "#{e.class}" +": " +  "#{e.message}"
  end
  data["error"]
end
unlock_user(login) click to toggle source
# File lib/freeipa_easy/user.rb, line 106
def unlock_user(login)
  begin
  payload = {"id": 0, "method": "user_unlock", "params": [[login], {}]}
  data_json = RestClient::Request.execute(method: :post,
  url: @url +'/ipa/session/json',
  :verify_ssl => false,
  :cookies => @cookies,
  :payload => payload.to_json,
  :headers => {:content_type => :json, :accept =>:json,
  :Referer => url + '/ipa'})
  data = JSON.parse(data_json)
  rescue Exception => e
    puts "#{e.class}" +": " +  "#{e.message}"
  end
  data["error"]
end