class OpenvasCli::VasLscCredential

Attributes

comment[RW]
in_use[RW]
login[RW]
name[RW]
package[RW]
package_type[RW]
password[RW]
password_confirmation[RW]
public_key[RW]
type[RW]

Public Class Methods

from_xml_node(node) click to toggle source
# File lib/openvas-cli/vas_lsc_credential.rb, line 112
def self.from_xml_node(node)
  ret              = VasLscCredential.new
  ret.id           = extract_value_from("@id", node)
  ret.name         = extract_value_from("name", node)
  ret.login        = extract_value_from("login", node)
  ret.comment      = extract_value_from("comment", node)
  ret.in_use       = extract_value_from("in_use", node).to_i > 0
  ret.type         = extract_value_from("type", node)
  ret.public_key   = extract_value_from("public_key", node)
  ret.package      = extract_value_from("package", node)
  ret.package_type = extract_value_from("package/@format", node)
  
  node.xpath("targets/target").each { |t|
    ret.target_keys << extract_value_from("@id", t)
  }
  
  ret
end
get_all(options={}) click to toggle source
# File lib/openvas-cli/vas_lsc_credential.rb, line 90
def self.get_all(options={})
  params = {:sort_field => 'name'}
  params[:lsc_credential_id] = options[:id] if options[:id]
  req = Nokogiri::XML::Builder.new { |xml|
    xml.get_lsc_credentials(params)
  }
  
  ret = []

  begin
    resp = connection.send_receive(req.doc)
      
    resp.xpath("//lsc_credential").each { |cred|
      ret << from_xml_node(cred)
    }
  rescue VasExceptions::CommandException => e
    
  end
  
  ret
end

Public Instance Methods

create_or_update() click to toggle source
# File lib/openvas-cli/vas_lsc_credential.rb, line 38
def create_or_update
  if @id
    #update
    req = Nokogiri::XML::Builder.new { |xml|
      xml.modify_lsc_credential(:lsc_credential_id => @id) {
        xml.name     { xml.text(@name) }
        xml.comment  { xml.text(@comment) } if @comment
        xml.login    { xml.text(@login) }
        xml.password { xml.text(@password) } if @password
      } 
    }
  else
    #create
    req = Nokogiri::XML::Builder.new { |xml|
      xml.create_lsc_credential {
        xml.name     { xml.text(@name) }
        xml.comment  { xml.text(@comment) } if @comment
        xml.login    { xml.text(@login) }
        xml.password { xml.text(@password) } if @password
      }
    }
  end
  
  begin
    resp = VasLscCredential.connection.send_receive(req.doc)
    @id = VasLscCredential.extract_value_from("create_lsc_credential_response/@id", resp) unless @id
    
    true
  rescue VasExceptions::CommandException => e
    errors[:command_failure] << e.message
    
    nil
  end
end
delete_record() click to toggle source
# File lib/openvas-cli/vas_lsc_credential.rb, line 73
def delete_record
  return unless @id
  req = Nokogiri::XML::Builder.new { |xml|
    xml.delete_lsc_credential( :lsc_credential_id => @id )
  }
  
  begin
    VasLscCredential.connection.send_receive(req.doc)
    
    true
  rescue VasExceptions::CommandException
    errors[:command_failure] << e.message
    
    nil
  end
end
target_keys() click to toggle source
# File lib/openvas-cli/vas_lsc_credential.rb, line 30
def target_keys
  @target_keys ||= []
end
targets() click to toggle source
# File lib/openvas-cli/vas_lsc_credential.rb, line 34
def targets
  @targets ||= []
end