class Asteroid::Provider::VirtualBox

Public Class Methods

new(options = {}) click to toggle source
# File lib/asteroid/provider/virtual_box.rb, line 16
def initialize(options = {})
end
type() click to toggle source
# File lib/asteroid/provider/virtual_box.rb, line 19
def self.type
  :virtual_box
end

Public Instance Methods

destroy_instance(instance) click to toggle source
# File lib/asteroid/provider/virtual_box.rb, line 38
def destroy_instance(instance)
end
instances() click to toggle source
# 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