module MiqVimDump

Public Instance Methods

dumpAll() click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 77
def dumpAll
  accessors = [
    "hostSystemsByMor",
    "datacentersByMor",
    "foldersByMor",
    "resourcePoolsByMor",
    "clusterComputeResourcesByMor",
    "computeResourcesByMor",
    "virtualMachinesByMor",
    "dataStoresByMor"
  ]

  oldGi = @globalIndent
  @globalIndent = "\t\t"

  accessors.each do |a|
    puts
    puts "*" * (a.length + 1)
    puts "#{a}:"
    send(a).each do |k, o|
      puts "\t#{k}"
      dumpObj(o)
    end
  end
  @globalIndent = oldGi
end
dumpArray(a, level) click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 29
def dumpArray(a, level)
  i = 0
  a.each do |ae|
    s = ""
    s = " <#{ae.xsiType}>" if ae.respond_to?(:xsiType) && !ae.xsiType.nil?
    indentedPrint("Level#{level} (#{ae.class}), [#{i}]#{s}:", level)
    dumpObj(ae, level + 1)
    i += 1
  end
end
dumpClass(obj, level) click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 40
def dumpClass(obj, level)
  indentedPrint("*** Object type: " + obj.class.to_s, level)
  return unless obj
  if obj.kind_of?(DateTime)
    indentedPrint("Level#{level}, #{obj}:", level)
    return
  end
  obj.instance_variables.each do |ivn|
    indentedPrint("Level#{level}, #{ivn}:", level)
    dumpObj(obj.instance_variable_get(ivn), level + 1)
  end
end
dumpHash(h, level) click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 20
def dumpHash(h, level)
  h.each do |k, v|
    s = ""
    s = " <#{v.xsiType}>" if v.respond_to?(:xsiType) && !v.xsiType.nil?
    indentedPrint("Level#{level} (#{v.class}), #{k}#{s}:", level)
    dumpObj(v, level + 1)
  end
end
dumpHostInfo() click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 104
def dumpHostInfo
  inventoryHash['HostSystem'].each do |hsMor|
    # puts "*** NEW"
    prop = getMoProp(hsMor)
    dumpObj(prop)
  end
end
dumpMors() click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 70
def dumpMors
  inventoryHash.each do |t, moa|
    puts "#{t}:"
    moa.each { |mor| puts "\t#{mor}" }
  end
end
dumpObj(obj, level = 0) click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 2
def dumpObj(obj, level = 0)
  @globalIndent = "" unless @globalIndent
  @dumpToLog = false if @dumpToLog.nil?
  if level == 0 && obj.respond_to?(:xsiType) && !obj.xsiType.nil?
    indentedPrint("#{obj.class.name} <#{obj.xsiType}>:", 0)
    @globalIndent += "    "
  end
  if obj.kind_of? Array
    dumpArray(obj, level)
  elsif obj.kind_of? Hash
    dumpHash(obj, level)
  elsif obj.kind_of?(String) || obj.kind_of?(Numeric)
    indentedPrint(obj, level)
  else
    dumpClass(obj, level)
  end
end
dumpToLog=(val) click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 57
def dumpToLog=(val)
  @dumpToLog = val
end
globalIndent=(val) click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 53
def globalIndent=(val)
  @globalIndent = val
end
indentedPrint(s, i) click to toggle source
# File lib/VMwareWebService/MiqVimDump.rb, line 61
def indentedPrint(s, i)
  if @dumpToLog
    logger.debug @globalIndent + ("    " * i) + s.to_s
  else
    print @globalIndent + "    " * i
    puts s
  end
end