Class: Asteroid::Provider::VirtualBox

Inherits:
Object
  • Object
show all
Defined in:
lib/asteroid/provider/virtual_box.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ VirtualBox

Returns a new instance of VirtualBox.



16
17
# File 'lib/asteroid/provider/virtual_box.rb', line 16

def initialize(options = {})
end

Class Method Details

.typeObject



19
20
21
# File 'lib/asteroid/provider/virtual_box.rb', line 19

def self.type
  :virtual_box
end

Instance Method Details

#destroy_instance(instance) ⇒ Object



38
39
# File 'lib/asteroid/provider/virtual_box.rb', line 38

def destroy_instance(instance)
end

#instancesObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/asteroid/provider/virtual_box.rb', line 23

def instances
  instances = `VBoxManage list vms`.split /\n/
  instances.map do |line|
    matches = line.match /\"(\S+)\" {(\S+)}/
    name, uuid = matches[0], matches[1]
    ip_address = `VBoxManage guestproperty get "#{uuid}" "/VirtualBox/GuestInfo/Net/0/V4/IP" | awk '{ print $2 }'`
    {
      id: uuid,
      name: name,
      ip_address: ip_address,
      provider: self
    }
  end
end