class Fission::VMConfiguration

def config_data

If there is an error, an unsuccessful Response will be returned.
configuration file, it will be represented in the Hash as an empty String.
configuration file is 'TRUE'). If a value is an empty string in the
values are represented as a String (even when the value in the
If successful, the Response's data attribute will be a Hash. All keys and
Returns a Response object with the result.

# => { 'memsize' => '384', 'ethernet0.present' => 'TRUE',... }
@vm_config.config_data.data

Exaples:

parses the key/value pairs from the configuration file (.vmx) into a Hash.
Internal: Gathers the the configuration data for the VM. This essentially
def config_data
  return Response.new :code => 1, :message => 'VM does not exist' unless @vm.exists?
  conf_file_response = @vm.conf_file
  return conf_file_response unless conf_file_response.successful?
  @conf_file_location = conf_file_response.data
  Response.new :code => 0, :data => parse_vm_config_file
end

def initialize(vm)

Returns a new VMConfiguration object

Fission::VMConfiguration.new @my_vm

Examples:

vm - An instance of VM

Internal: Creates a new VMConfiguration object. This accepts a VM object
def initialize(vm)
  @vm = vm
end

def parse_line_data(line)

characters from the beginning or end of the provided line.
second item will be the right side. This will also strip any whitespace
Returns an Array. The first item will be the left side of the '=' and the

@vm_config.parse_line_data('foo = "bar"')

Examples:

into an Array.
Internal: Splits and formats a single line from a VM configuration file
def parse_line_data(line)
  line.strip.gsub('"', '').split ' = '
end

def parse_vm_config_file

configuration file, it will be represented in the Hash as an empty String.
the conf file is 'TRUE'). If a value is an empty string in the
All keys and values are represented as a String (even when the value in
Returns a Hash.

# => { 'memsize' => '384', 'ethernet0.present' => 'TRUE',... }
@vm_config.parse_vm_config_file

Examples:

Internal: Parses the configuration file (i.e. '.vmx')
def parse_vm_config_file
  File.readlines(@conf_file_location).inject({}) do |result, line|
    data = parse_line_data(line)
    result[data[0]] = (data[1].nil? ? '' : data[1])
    result
  end
end