class Fog::Compute::VirtualBox::StorageController

Attributes

machine[RW]

Public Instance Methods

attach(medium, port, device = 0) click to toggle source
# File lib/fog/virtual_box/models/compute/storage_controller.rb, line 23
def attach(medium, port, device = 0)
  requires :identity, :machine
  with_session do |session|
    session.machine.attach_device(identity, port, device, medium.device_type, medium.instance_variable_get(:@raw))
    session.machine.save_settings
  end
  true
end
destroy() click to toggle source
# File lib/fog/virtual_box/models/compute/storage_controller.rb, line 32
def destroy
  requires :identity, :machine
  with_session do |session|
    session.machine.remove_storage_controller(identity)
    session.machine.save_settings
  end
  true
end
save() click to toggle source
# File lib/fog/virtual_box/models/compute/storage_controller.rb, line 41
def save
  requires :bus, :identity, :machine
  with_session do |session|
    self.raw = session.machine.add_storage_controller(identity, bus)
    raw.port_count = 1
    session.machine.save_settings
  end
  true
end

Private Instance Methods

raw() click to toggle source
# File lib/fog/virtual_box/models/compute/storage_controller.rb, line 53
def raw
  @raw
end
raw=(new_raw) click to toggle source
# File lib/fog/virtual_box/models/compute/storage_controller.rb, line 57
def raw=(new_raw)
  @raw = new_raw
  raw_attributes = {}
  # TODO: pending my patches being accepted :bootable, 
  for key in [:bus, :controller_type, :instance, :max_devices_per_port_count, :max_port_count, :min_port_count, :port_count, :use_host_io_cache]
    raw_attributes[key] = @raw.send(key)
  end
  merge_attributes(raw_attributes)
end
session() click to toggle source
# File lib/fog/virtual_box/models/compute/storage_controller.rb, line 67
def session
  ::VirtualBox::Lib.lib.session
end
with_session() { |session| ... } click to toggle source
# File lib/fog/virtual_box/models/compute/storage_controller.rb, line 71
def with_session
  raw_machine = machine.instance_variable_get(:@raw)
  raw_machine.lock_machine(session, :write)
  yield session
  session.unlock_machine
end