Module: CfgConfig

Defined in:
lib/metadata/VmConfig/cfgConfig.rb

Instance Method Summary collapse

Instance Method Details

#add_item(var, value) ⇒ Object



42
43
44
# File 'lib/metadata/VmConfig/cfgConfig.rb', line 42

def add_item(var, value)
  @convertText += "#{var} = \"#{value}\"\n"
end

#convert(filename) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/metadata/VmConfig/cfgConfig.rb', line 6

def convert(filename)
  @convertText = ""
  $log.debug "Processing Windows Configuration file [#{filename}]"
  begin
    fh = File.open(filename)
    fh.each do |line|
      line.AsciiToUtf8!.strip!
      next if line.length == 0
      next if line =~ /^#.*$/
      next unless line.include?("=")
      k, v = line.split(/\s*=\s*/)
      send(k, v) if self.respond_to?(k)
    end
    return @convertText
  ensure
    fh.close
  end
end

#disk(value) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/metadata/VmConfig/cfgConfig.rb', line 34

def disk(value)
  eval(value).each do |d|
    diskProp = d.split(",")
    # scsi0:0.fileName = "Windows XP Professional x64 Edition.vmdk"
    add_item("scsi0:#{diskProp[1][-1..-1]}.fileName", File.basename(diskProp[0]))
  end
end

#memory(value) ⇒ Object



30
31
32
# File 'lib/metadata/VmConfig/cfgConfig.rb', line 30

def memory(value)
  add_item("memsize", value)
end

#name(value) ⇒ Object



25
26
27
28
# File 'lib/metadata/VmConfig/cfgConfig.rb', line 25

def name(value)
  vmName = value.gsub(/^"/, "").gsub(/"$/, "")
  add_item("displayName", vmName)
end

#vendorObject



46
47
48
# File 'lib/metadata/VmConfig/cfgConfig.rb', line 46

def vendor
  "xen"
end