class Chef::Provisioning::VboxDriver::Driver
Public Class Methods
canonicalize_url(driver_url, config)
click to toggle source
generated by script, required by API.
# File lib/chef/provisioning/vbox_driver/driver.rb, line 10 def self.canonicalize_url(driver_url, config) [ "vbox:#{driver_url} [vboxmanage]", config ] end
from_url(driver_url, config)
click to toggle source
generated by script, required by API.
# File lib/chef/provisioning/vbox_driver/driver.rb, line 15 def self.from_url(driver_url, config) Driver.new(driver_url, config) end
Public Instance Methods
allocate_machine(action_handler, machine_spec, machine_options)
click to toggle source
# File lib/chef/provisioning/vbox_driver/driver.rb, line 24 def allocate_machine(action_handler, machine_spec, machine_options) if machine_spec.reference if !vbox.server_exists?(machine_spec.reference['server_id']) action_handler.perform_action "Machine #{machine_spec.reference['server_id']} does not exist. Recreating ..." do machine_spec.reference = nil end end end if !machine_spec.reference action_handler.perform_action "Creating server #{machine_spec.name} with options #{machine_options}" do private_key = get_private_key('bootstrapkey') server_id = Vbox.create_server(machine_spec.name, machine_options) machine_spec.reference = { 'driver_version' => Vbox::VERSION, 'server_id' => server_id } end end end