class Nexpose::MultiTenantUser
Attributes
auth_source_id[RW]
email[RW]
enabled[RW]
full_name[RW]
id[RW]
password[RW]
silo_access[RW]
superuser[RW]
user_name[RW]
Public Class Methods
load(connection, user_id)
click to toggle source
# File lib/nexpose/multi_tenant_user.rb, line 150 def self.load(connection, user_id) r = connection.execute(connection.make_xml('MultiTenantUserConfigRequest', { 'user-id' => user_id }), '1.2') if r.success r.res.elements.each('MultiTenantUserConfigResponse/MultiTenantUserConfig') do |config| return MultiTenantUser.parse(config) end end nil end
new(&block)
click to toggle source
# File lib/nexpose/multi_tenant_user.rb, line 75 def initialize(&block) instance_eval(&block) if block_given? @silo_access = Array(@silo_access) end
parse(xml)
click to toggle source
# File lib/nexpose/multi_tenant_user.rb, line 136 def self.parse(xml) new do |user| user.id = xml.attributes['id'].to_i user.full_name = xml.attributes['full-name'] user.user_name = xml.attributes['user-name'] user.email = xml.attributes['email'] user.superuser = xml.attributes['superuser'].to_s.chomp.eql?('true') user.enabled = xml.attributes['enabled'].to_s.chomp.eql?('true') user.auth_source_id = xml.attributes['authsrcid'].to_i user.silo_access = [] xml.elements.each('SiloAccesses/SiloAccess') { |access| user.silo_access << SiloAccess.parse(access) } end end
Public Instance Methods
as_xml()
click to toggle source
# File lib/nexpose/multi_tenant_user.rb, line 113 def as_xml xml = REXML::Element.new('MultiTenantUserConfig') xml.add_attributes({ 'id' => @id, 'full-name' => @full_name, 'user-name' => @user_name, 'authsrcid' => @auth_source_id, 'email' => @email, 'password' => @password, 'superuser' => @superuser, 'enabled' => @enabled }) siloaccesses = xml.add_element('SiloAccesses') @silo_access.each { |silo_access| siloaccesses.add_element(silo_access.as_xml) } xml end
create(connection)
click to toggle source
Saves this silo user to a Nexpose
console.
@param [Connection] connection Connection
to console where this silo user will be saved. @return [String] User
ID assigned to this configuration, if successful.
# File lib/nexpose/multi_tenant_user.rb, line 106 def create(connection) xml = connection.make_xml('MultiTenantUserCreateRequest') xml.add_element(as_xml) r = connection.execute(xml, '1.2') @id = r.attributes['user-id'] if r.success end
delete(connection)
click to toggle source
# File lib/nexpose/multi_tenant_user.rb, line 128 def delete(connection) connection.delete_silo_user(@id) end
save(connection)
click to toggle source
# File lib/nexpose/multi_tenant_user.rb, line 81 def save(connection) if @id update(connection) else create(connection) end end
to_xml()
click to toggle source
# File lib/nexpose/multi_tenant_user.rb, line 132 def to_xml as_xml.to_s end
update(connection)
click to toggle source
Updates this silo user on a Nexpose
console.
@param [Connection] connection Connection
to console where this silo user will be saved. @return [String] User
ID assigned to this configuration, if successful.
# File lib/nexpose/multi_tenant_user.rb, line 94 def update(connection) xml = connection.make_xml('MultiTenantUserUpdateRequest') xml.add_element(as_xml) r = connection.execute(xml, '1.2') @id = r.attributes['user-id'] if r.success end