# 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
# 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
# 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
# File lib/fog/virtual_box/models/compute/storage_controller.rb, line 53 def raw @raw end
# 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
# File lib/fog/virtual_box/models/compute/storage_controller.rb, line 67 def session ::VirtualBox::Lib.lib.session end
# 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