class Fission::VMConfiguration
def config_data
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)
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)
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
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