Class: Fission::VMConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/fission/vm_configuration.rb

Instance Method Summary collapse

Constructor Details

#initialize(vm) ⇒ VMConfiguration

Internal: Creates a new VMConfiguration object. This accepts a VM object

vm - An instance of VM

Examples:

Fission::VMConfiguration.new @my_vm

Returns a new VMConfiguration object



14
15
16
# File 'lib/fission/vm_configuration.rb', line 14

def initialize(vm)
  @vm = vm
end

Instance Method Details

#config_dataObject

Internal: Gathers the the configuration data for the VM. This essentially parses the key/value pairs from the configuration file (.vmx) into a Hash.

Exaples:

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

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



32
33
34
35
36
37
38
39
40
41
# File 'lib/fission/vm_configuration.rb', line 32

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