virtualbox-ws 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -2
- data/Gemfile.lock +8 -2
- data/README.md +42 -24
- data/lib/core_ext/hash.rb +6 -6
- data/lib/core_ext/string.rb +8 -0
- data/lib/virtualbox/base.rb +118 -6
- data/lib/virtualbox/classes/appliance.rb +11 -44
- data/lib/virtualbox/classes/audio_adapter.rb +3 -25
- data/lib/virtualbox/classes/bandwidth_control.rb +5 -27
- data/lib/virtualbox/classes/bandwidth_group.rb +4 -21
- data/lib/virtualbox/classes/bios_settings.rb +12 -73
- data/lib/virtualbox/classes/console.rb +42 -193
- data/lib/virtualbox/classes/dhcp_server.rb +18 -44
- data/lib/virtualbox/classes/directory.rb +4 -18
- data/lib/virtualbox/classes/display.rb +10 -39
- data/lib/virtualbox/classes/emulated_usb.rb +10 -0
- data/lib/virtualbox/classes/event.rb +5 -23
- data/lib/virtualbox/classes/event_listener.rb +1 -6
- data/lib/virtualbox/classes/event_source.rb +7 -49
- data/lib/virtualbox/classes/events/bandwidth_group_changed_event.rb +1 -5
- data/lib/virtualbox/classes/events/clipboard_mode_changed_event.rb +1 -4
- data/lib/virtualbox/classes/events/cpu_changed_event.rb +2 -8
- data/lib/virtualbox/classes/events/cpu_execution_cap_changed_event.rb +1 -4
- data/lib/virtualbox/classes/events/drag_and_drop_mode_changed_event.rb +1 -4
- data/lib/virtualbox/classes/events/event_source_changed_event.rb +2 -9
- data/lib/virtualbox/classes/events/extra_data_can_change_event.rb +3 -12
- data/lib/virtualbox/classes/events/extra_data_changed_event.rb +3 -12
- data/lib/virtualbox/classes/events/guest_file_event.rb +7 -0
- data/lib/virtualbox/classes/events/guest_file_io_event.rb +8 -0
- data/lib/virtualbox/classes/events/guest_file_offset_changed_event.rb +4 -0
- data/lib/virtualbox/classes/events/guest_file_read_event.rb +6 -0
- data/lib/virtualbox/classes/events/guest_file_registered_event.rb +7 -0
- data/lib/virtualbox/classes/events/guest_file_state_changed_event.rb +8 -0
- data/lib/virtualbox/classes/events/guest_file_write_event.rb +4 -0
- data/lib/virtualbox/classes/events/guest_keyboard_event.rb +2 -5
- data/lib/virtualbox/classes/events/guest_monitor_changed_event.rb +6 -24
- data/lib/virtualbox/classes/events/guest_mouse_event.rb +6 -24
- data/lib/virtualbox/classes/events/guest_multi_touch_event.rb +12 -0
- data/lib/virtualbox/classes/events/guest_process_event.rb +8 -0
- data/lib/virtualbox/classes/events/guest_process_input_notify_event.rb +7 -0
- data/lib/virtualbox/classes/events/guest_process_io_event.rb +8 -0
- data/lib/virtualbox/classes/events/guest_process_output_event.rb +7 -0
- data/lib/virtualbox/classes/events/guest_process_registered_event.rb +7 -0
- data/lib/virtualbox/classes/events/guest_process_state_changed_event.rb +8 -0
- data/lib/virtualbox/classes/events/guest_property_changed_event.rb +3 -12
- data/lib/virtualbox/classes/events/guest_session_event.rb +7 -0
- data/lib/virtualbox/classes/events/guest_session_registered_event.rb +7 -0
- data/lib/virtualbox/classes/events/guest_session_state_changed_event.rb +9 -0
- data/lib/virtualbox/classes/events/guest_user_state_changed_event.rb +10 -0
- data/lib/virtualbox/classes/events/host_name_resolution_configuration_change_event.rb +4 -0
- data/lib/virtualbox/classes/events/host_pci_device_plug_event.rb +4 -16
- data/lib/virtualbox/classes/events/keyboard_leds_changed_event.rb +3 -12
- data/lib/virtualbox/classes/events/machine_data_changed_event.rb +1 -4
- data/lib/virtualbox/classes/events/machine_event.rb +1 -4
- data/lib/virtualbox/classes/events/machine_registered_event.rb +1 -4
- data/lib/virtualbox/classes/events/machine_state_changed_event.rb +1 -4
- data/lib/virtualbox/classes/events/medium_changed_event.rb +1 -5
- data/lib/virtualbox/classes/events/medium_registered_event.rb +3 -12
- data/lib/virtualbox/classes/events/mouse_capability_changed_event.rb +4 -12
- data/lib/virtualbox/classes/events/mouse_pointer_shape_changed_event.rb +7 -28
- data/lib/virtualbox/classes/events/nat_network_alter_event.rb +7 -0
- data/lib/virtualbox/classes/events/nat_network_changed_event.rb +9 -0
- data/lib/virtualbox/classes/events/nat_network_creation_deletion_event.rb +9 -0
- data/lib/virtualbox/classes/events/nat_network_port_forward_event.rb +16 -0
- data/lib/virtualbox/classes/events/nat_network_setting_event.rb +13 -0
- data/lib/virtualbox/classes/events/nat_network_start_stop_event.rb +9 -0
- data/lib/virtualbox/classes/events/nat_redirect_event.rb +8 -32
- data/lib/virtualbox/classes/events/network_adapter_changed_event.rb +1 -5
- data/lib/virtualbox/classes/events/parallel_port_changed_event.rb +1 -5
- data/lib/virtualbox/classes/events/reusable_event.rb +2 -9
- data/lib/virtualbox/classes/events/runtime_error_event.rb +3 -12
- data/lib/virtualbox/classes/events/serial_port_changed_event.rb +1 -5
- data/lib/virtualbox/classes/events/session_state_changed_event.rb +1 -4
- data/lib/virtualbox/classes/events/shared_folder_changed_event.rb +1 -4
- data/lib/virtualbox/classes/events/show_window_event.rb +1 -4
- data/lib/virtualbox/classes/events/snapshot_event.rb +1 -4
- data/lib/virtualbox/classes/events/state_changed_event.rb +1 -4
- data/lib/virtualbox/classes/events/storage_device_changed_event.rb +3 -8
- data/lib/virtualbox/classes/events/usb_device_state_changed_event.rb +3 -9
- data/lib/virtualbox/classes/events/v_box_svc_availability_chaged_event.rb +1 -4
- data/lib/virtualbox/classes/events/veto_event.rb +3 -13
- data/lib/virtualbox/classes/events/video_capture_changed_event.rb +4 -0
- data/lib/virtualbox/classes/file.rb +18 -65
- data/lib/virtualbox/classes/framebuffer.rb +21 -0
- data/lib/virtualbox/classes/framebuffer_overlay.rb +12 -0
- data/lib/virtualbox/classes/fs_obj_info.rb +20 -77
- data/lib/virtualbox/classes/guest.rb +25 -126
- data/lib/virtualbox/classes/guest_session.rb +48 -224
- data/lib/virtualbox/classes/host.rb +37 -164
- data/lib/virtualbox/classes/host_network_interface.rb +19 -69
- data/lib/virtualbox/classes/host_usb_device.rb +1 -4
- data/lib/virtualbox/classes/host_usb_device_filter.rb +1 -8
- data/lib/virtualbox/classes/host_video_input_device.rb +9 -0
- data/lib/virtualbox/classes/keyboard.rb +4 -20
- data/lib/virtualbox/classes/machine.rb +156 -908
- data/lib/virtualbox/classes/machine_debugger.rb +49 -0
- data/lib/virtualbox/classes/managed_object_ref.rb +2 -9
- data/lib/virtualbox/classes/medium.rb +42 -215
- data/lib/virtualbox/classes/medium_format.rb +5 -21
- data/lib/virtualbox/classes/mouse.rb +9 -28
- data/lib/virtualbox/classes/nat_engine.rb +14 -99
- data/lib/virtualbox/classes/nat_network.rb +25 -0
- data/lib/virtualbox/classes/network_adapter.rb +22 -163
- data/lib/virtualbox/classes/parallel_port.rb +5 -36
- data/lib/virtualbox/classes/pci_address.rb +12 -0
- data/lib/virtualbox/classes/performance_collector.rb +6 -42
- data/lib/virtualbox/classes/performance_metric.rb +8 -32
- data/lib/virtualbox/classes/process.rb +16 -60
- data/lib/virtualbox/classes/progress.rb +23 -101
- data/lib/virtualbox/classes/serial_port.rb +7 -52
- data/lib/virtualbox/classes/session.rb +5 -23
- data/lib/virtualbox/classes/shared_folder.rb +6 -24
- data/lib/virtualbox/classes/snapshot.rb +9 -35
- data/lib/virtualbox/classes/storage_controller.rb +10 -52
- data/lib/virtualbox/classes/system_properties.rb +38 -201
- data/lib/virtualbox/classes/token.rb +8 -0
- data/lib/virtualbox/classes/usb_controller.rb +3 -50
- data/lib/virtualbox/classes/usb_device.rb +12 -48
- data/lib/virtualbox/classes/usb_device_filter.rb +11 -88
- data/lib/virtualbox/classes/usb_device_filters.rb +11 -0
- data/lib/virtualbox/classes/vfs_explorer.rb +8 -42
- data/lib/virtualbox/classes/virtual_box.rb +48 -234
- data/lib/virtualbox/classes/virtual_box_error_info.rb +6 -21
- data/lib/virtualbox/classes/virtual_system_description.rb +6 -30
- data/lib/virtualbox/classes/vrde_server.rb +11 -72
- data/lib/virtualbox/classes/vrde_server_info.rb +15 -60
- data/lib/virtualbox/classes/websession_manager.rb +11 -11
- data/lib/virtualbox/configuration.rb +35 -0
- data/lib/virtualbox/exceptions.rb +28 -0
- data/lib/virtualbox/version.rb +3 -0
- data/lib/virtualbox/webservice.rb +105 -0
- data/lib/virtualbox-ws.rb +5 -1
- data/virtualbox-ws.gemspec +4 -1
- metadata +42 -5
- data/lib/virtualbox/classes/additions_facility.rb +0 -26
- data/lib/virtualbox/connection.rb +0 -68
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b65ace3ebbb598bf587a6776bd4e4e309639103c
|
|
4
|
+
data.tar.gz: 318b9c8467b43c6b6de9e5e4fb056b6721d9bf80
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aa1237ee6dfd4b17e37b3f681dacd5238397501538438fd30d02092fc6f4fc83e900e164f0cbad6fdd07631a92d3614093f20e88ffdd8888d4376219d9d1e057
|
|
7
|
+
data.tar.gz: 99d997c9b0e8cf392c3b91f88c88a721b02e1690052f5c8d2fb75634f445f7b0ff9d260efba5eb8e94bbfcb4252e48e0f1c87d0340b2f4e7f304f44bca5a9704
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -7,6 +7,8 @@ This library's interface basically resembles the COM interface provided by Virtu
|
|
|
7
7
|
`add_storage_controller`
|
|
8
8
|
3. Interfaces and methods that are marked as not supported in the webservice in VirtualBox SDK Reference are not
|
|
9
9
|
supported here
|
|
10
|
+
4. WebsessionManager class is used to both connect to VirtualBox SOAP web service and to authenticate on it
|
|
11
|
+
|
|
10
12
|
|
|
11
13
|
Documentation
|
|
12
14
|
-------------
|
|
@@ -14,49 +16,64 @@ Documentation
|
|
|
14
16
|
The main source of documentation is the [VirtualBox SDK Reference](http://download.virtualbox.org/virtualbox/SDKRef.pdf)
|
|
15
17
|
|
|
16
18
|
|
|
19
|
+
Installation
|
|
20
|
+
-------
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
gem install virtualbox-ws
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Configuration
|
|
28
|
+
-------------
|
|
29
|
+
|
|
30
|
+
You can override any of these configuration defaults:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
VBox::WebService.configure do |config|
|
|
34
|
+
config.vboxweb_host = ENV['VBOXWEB_HOST'] || '127.0.0.1'
|
|
35
|
+
config.vboxweb_port = ENV['VBOXWEB_PORT'] || '18083'
|
|
36
|
+
config.vboxweb_user = ENV['VBOXWEB_USER']
|
|
37
|
+
config.vboxweb_pass = ENV['VBOXWEB_PASS']
|
|
38
|
+
config.log_level = ENV['VBOXWEB_LOGGING'] || 'ERROR'
|
|
39
|
+
end
|
|
40
|
+
```
|
|
41
|
+
Each of these configuration options can be set as environment variables.
|
|
42
|
+
|
|
43
|
+
`config.log_level` can be one of `ERROR`, `INFO`, `DEBUG`
|
|
44
|
+
|
|
45
|
+
|
|
17
46
|
Usage
|
|
18
47
|
-----
|
|
19
48
|
|
|
20
49
|
Require the gem
|
|
50
|
+
|
|
21
51
|
```
|
|
22
52
|
irb> require 'virtualbox-ws'
|
|
23
53
|
=> true
|
|
24
54
|
```
|
|
25
55
|
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
irb> VBox::WebService.connect
|
|
29
|
-
=> true
|
|
30
|
-
```
|
|
56
|
+
An instance of VBox::WebsessionManager connects to VirtualBox SOAP wen service
|
|
31
57
|
|
|
32
|
-
By default it connects to `http://127.0.0.1:18083` but host and port parameters can be passed to the connect method
|
|
33
|
-
explicitly
|
|
34
58
|
```
|
|
35
|
-
irb> VBox::
|
|
36
|
-
=>
|
|
59
|
+
irb> web_session = VBox::WebsessionManager.new
|
|
60
|
+
=> #<VBox::WebsessionManager:0x00000005deb4a8 @ref=nil>
|
|
37
61
|
```
|
|
38
62
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
=> true
|
|
44
|
-
```
|
|
45
|
-
To do anything useful on a VirtualBox installation you first have to create an instance of the VirtualBox class which
|
|
46
|
-
according to VirtualBox SDK Reference is "the main interface exposed by the product that provides virtual machine
|
|
47
|
-
management". VirtualBox instance is created upon logging on to the SOAP web service
|
|
63
|
+
The logon method will authenticate you on the web service and create an instance of the VirtualBox class
|
|
64
|
+
which according to VirtualBox SDK Reference is "the main interface exposed by the product that provides virtual machine
|
|
65
|
+
management".
|
|
66
|
+
|
|
48
67
|
```
|
|
49
|
-
irb>
|
|
50
|
-
=> #<VBox::WebsessionManager:0x00000005deb4a8 @ref=nil>
|
|
51
|
-
irb> virtual_box = web_session.logon(:username => 'user', :password => 'password')
|
|
68
|
+
irb> virtual_box = web_session.logon
|
|
52
69
|
=> #<VBox::VirtualBox:0x000000062bc8d8 @ref="47efe040fcc25df7-000000000000001d">
|
|
53
|
-
|
|
54
70
|
```
|
|
55
71
|
|
|
56
72
|
Having a VirtualBox instance we can query various VirtualBox installation info as well as create virtual machines...
|
|
73
|
+
|
|
57
74
|
```
|
|
58
75
|
irb> virtual_box.version
|
|
59
|
-
=> "4.
|
|
76
|
+
=> "4.3.0"
|
|
60
77
|
irb> machine = virtual_box.create_machine(:name => 'machine_1')
|
|
61
78
|
=> #<VBox::Machine:0x00000005841f98 @ref="47efe040fcc25df7-000000000000001e">
|
|
62
79
|
irb> virtual_box.register_machine(:machine => machine)
|
|
@@ -68,7 +85,8 @@ irb> virtual_box.register_machine(:machine => machine)
|
|
|
68
85
|
```
|
|
69
86
|
|
|
70
87
|
...and run virtual machines
|
|
88
|
+
|
|
71
89
|
```
|
|
72
|
-
irb> machine.launch_vm_process(:session => web_session.get_session_object
|
|
90
|
+
irb> machine.launch_vm_process(:session => web_session.get_session_object)
|
|
73
91
|
=> #<VBox::Progress:0x00000005934040 @ref="47efe040fcc25df7-000000000000001f">
|
|
74
92
|
```
|
data/lib/core_ext/hash.rb
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
class Hash
|
|
2
|
-
def referize!
|
|
3
|
-
|
|
4
|
-
if
|
|
5
|
-
|
|
2
|
+
def referize!
|
|
3
|
+
self.each do |key, value|
|
|
4
|
+
if value.is_a?(Array)
|
|
5
|
+
value.map! do |item|
|
|
6
6
|
item.respond_to?(:ref) ? item.ref : item
|
|
7
7
|
end
|
|
8
|
-
elsif
|
|
9
|
-
self[key] =
|
|
8
|
+
elsif value.respond_to?(:ref)
|
|
9
|
+
self[key] = value.ref
|
|
10
10
|
end
|
|
11
11
|
end
|
|
12
12
|
end
|
data/lib/core_ext/string.rb
CHANGED
data/lib/virtualbox/base.rb
CHANGED
|
@@ -13,16 +13,128 @@ module VBox
|
|
|
13
13
|
_this
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
def
|
|
17
|
-
|
|
16
|
+
def ensure_hash(args)
|
|
17
|
+
raise ArgumentError, 'Method arguments must be a hash' unless args.is_a?(Hash)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
def
|
|
21
|
-
|
|
20
|
+
def self.starts_with_acronym
|
|
21
|
+
define_method(:starts_with_acronym) {}
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
def
|
|
25
|
-
|
|
24
|
+
def self.soap_method(method_name, modifier=nil)
|
|
25
|
+
is_acronym_part = defined?(starts_with_acronym) ? '_' : ''
|
|
26
|
+
modifier_part = modifier.nil? ? '' : modifier + '_'
|
|
27
|
+
"i#{is_acronym_part}#{class_name}_#{modifier_part}#{method_name}".to_sym
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def soap_method(method_name, modifier=nil)
|
|
31
|
+
self.class.soap_method(method_name, modifier)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.class_name
|
|
35
|
+
self.name.split('::').last.to_underscore
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def class_name
|
|
39
|
+
self.class.class_name
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def integerize(value)
|
|
43
|
+
if value.is_a?(Array)
|
|
44
|
+
value.map do |item|
|
|
45
|
+
begin
|
|
46
|
+
Integer(item)
|
|
47
|
+
rescue ArgumentError
|
|
48
|
+
item
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
else
|
|
52
|
+
begin
|
|
53
|
+
Integer(value)
|
|
54
|
+
rescue ArgumentError
|
|
55
|
+
value
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def classify(result, force_array=false)
|
|
61
|
+
if force_array
|
|
62
|
+
return [] if result.nil?
|
|
63
|
+
result = result.to_a
|
|
64
|
+
|
|
65
|
+
# Will assume here that in case of force_array all the items
|
|
66
|
+
# in the array are objects of the same class
|
|
67
|
+
val = result[0]
|
|
68
|
+
else
|
|
69
|
+
val = result
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# If the result is not a string return it immediately
|
|
73
|
+
return integerize(result) unless val.is_a?(String)
|
|
74
|
+
|
|
75
|
+
# Check for a match
|
|
76
|
+
return integerize(result) if val.match(/^[0-9a-f]{16}-[0-9a-f]{16}$/).nil?
|
|
77
|
+
|
|
78
|
+
# Get VirtualBox interface name
|
|
79
|
+
class_str = ManagedObjectRef.new(val).get_interface_name
|
|
80
|
+
|
|
81
|
+
# ManagedObjectRef.get_interface_name returns nil
|
|
82
|
+
# for inexisting object reference
|
|
83
|
+
if class_str.nil?
|
|
84
|
+
result
|
|
85
|
+
else
|
|
86
|
+
if force_array
|
|
87
|
+
result.to_a.map { |item| VBox.const_get(class_str[1..-1]).new(item) }
|
|
88
|
+
else
|
|
89
|
+
VBox.const_get(class_str[1..-1]).new(result)
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def self.vb_attr(name, options={})
|
|
95
|
+
force_array = options[:force_array]
|
|
96
|
+
force_tag = options[:force_tag]
|
|
97
|
+
|
|
98
|
+
# A special case for VirtualBox methods that have lowercase 'v' in IPv6
|
|
99
|
+
if name.to_s.start_with?('ipv6') || name.to_s.include?('advertise_default_ipv6_route_enabled')
|
|
100
|
+
name = name.to_s.gsub('ipv6', 'i_pv6').to_sym
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
define_method(name) do
|
|
104
|
+
result = WebService.send_request(soap_method(name, 'get'), _this)
|
|
105
|
+
process_result(result, force_array)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
define_method("#{name}=") do |value|
|
|
109
|
+
soap_message = {force_tag ? force_tag : name => value}
|
|
110
|
+
result = WebService.send_request(soap_method(name, 'set'), _this.merge(soap_message))
|
|
111
|
+
process_result(result)
|
|
112
|
+
end if WebService.operations.include?(soap_method(name, 'set'))
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def self.vb_method(name, options={})
|
|
116
|
+
force_array = options[:force_array]
|
|
117
|
+
|
|
118
|
+
define_method(name) do |meth_args = {}|
|
|
119
|
+
ensure_hash meth_args
|
|
120
|
+
meth_args.referize!
|
|
121
|
+
result = WebService.send_request(soap_method(name), _this.merge(meth_args))
|
|
122
|
+
process_result(result, force_array)
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def process_result(result, force_array=false)
|
|
127
|
+
if force_array
|
|
128
|
+
classify(result, true)
|
|
129
|
+
else
|
|
130
|
+
if result.is_a?(Array)
|
|
131
|
+
result.map do |item|
|
|
132
|
+
item.is_a?(Hash) ? item.update(item) { |_, value| classify(value) } : classify(item)
|
|
133
|
+
end
|
|
134
|
+
else
|
|
135
|
+
classify(result)
|
|
136
|
+
end
|
|
137
|
+
end
|
|
26
138
|
end
|
|
27
139
|
end
|
|
28
140
|
end
|
|
@@ -1,49 +1,16 @@
|
|
|
1
1
|
module VBox
|
|
2
2
|
class Appliance < Base
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
virtual_system_descriptions = VBox::WebService.send_request(:i_appliance_get_virtual_system_descriptions, _this)
|
|
16
|
-
virtual_system_descriptions.map do |virtual_system_description|
|
|
17
|
-
VBox::VirtualSystemDescription.new(virtual_system_description)
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def machines
|
|
22
|
-
VBox::WebService.send_request(:i_appliance_get_machines, _this.merge)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# Methods
|
|
26
|
-
|
|
27
|
-
def create_vfs_explorer(args={})
|
|
28
|
-
ensure_hash args
|
|
29
|
-
vfs_explorer = VBox::WebService.send_request(:i_appliance_create_vfs_explorer, _this.merge(args))
|
|
30
|
-
VBox::VFSExplorer.new(vfs_explorer)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def interpret
|
|
34
|
-
VBox::WebService.send_request(:i_appliance_interpret, _this)
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def read(args={})
|
|
38
|
-
ensure_hash args
|
|
39
|
-
progress = VBox::WebService.send_request(:i_appliance_read, _this.merge(args))
|
|
40
|
-
VBox::Progress.new(progress)
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def write(args={})
|
|
44
|
-
ensure_hash args
|
|
45
|
-
progress = VBox::WebService.send_request(:i_appliance_write, _this.merge(args))
|
|
46
|
-
VBox::Progress.new(progress)
|
|
47
|
-
end
|
|
4
|
+
vb_attr :path
|
|
5
|
+
vb_attr :disks, :force_array => true
|
|
6
|
+
vb_attr :virtual_system_descriptions, :force_array => true
|
|
7
|
+
vb_attr :machines, :force_array => true
|
|
8
|
+
|
|
9
|
+
vb_method :create_vfs_explorer
|
|
10
|
+
vb_method :get_warnings, :force_array => true
|
|
11
|
+
vb_method :import_machines
|
|
12
|
+
vb_method :interpret
|
|
13
|
+
vb_method :read
|
|
14
|
+
vb_method :write
|
|
48
15
|
end
|
|
49
16
|
end
|
|
@@ -1,31 +1,9 @@
|
|
|
1
1
|
module VBox
|
|
2
2
|
class AudioAdapter < Base
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
vb_attr :enabled
|
|
5
|
+
vb_attr :audio_controller
|
|
6
|
+
vb_attr :audio_driver
|
|
5
7
|
|
|
6
|
-
def enabled
|
|
7
|
-
VBox::WebService.send_request(:i_audio_adapter_get_enabled, _this)
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def enabled=(enabled)
|
|
11
|
-
VBox::WebService.send_request(:i_audio_adapter_set_enabled, _this.merge(:enabled => enabled))
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def audo_controller
|
|
15
|
-
VBox::WebService.send_request(:i_audio_adapter_get_audo_controller, _this)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def audo_controller=(audo_controller)
|
|
19
|
-
VBox::WebService.send_request(:i_audio_adapter_set_audo_controller,
|
|
20
|
-
_this.merge(:audo_controller => audo_controller))
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def audo_driver
|
|
24
|
-
VBox::WebService.send_request(:i_audio_adapter_get_audo_driver, _this)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def audo_driver=(audo_driver)
|
|
28
|
-
VBox::WebService.send_request(:i_audio_adapter_set_audo_driver, _this.merge(:audo_driver => audo_driver))
|
|
29
|
-
end
|
|
30
8
|
end
|
|
31
9
|
end
|
|
@@ -1,34 +1,12 @@
|
|
|
1
1
|
module VBox
|
|
2
2
|
class BandwidthControl < Base
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
vb_attr :num_groups
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
vb_method :create_bandwidth_group
|
|
7
|
+
vb_method :delete_bandwidth_group
|
|
8
|
+
vb_method :get_all_bandwidth_groups, :force_array => true
|
|
9
|
+
vb_method :get_bandwidth_group
|
|
9
10
|
|
|
10
|
-
# Methods
|
|
11
|
-
|
|
12
|
-
def create_bandwidth_group(args={})
|
|
13
|
-
ensure_hash args
|
|
14
|
-
VBox::WebService.send_request(:i_bandwidth_contol_create_bandwidth_group, _this.merge(args))
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def delete_bandwidth_group(args={})
|
|
18
|
-
ensure_hash args
|
|
19
|
-
VBox::WebService.send_request(:i_bandwidth_control_delete_bandwidth_group, _this.merge(args))
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def get_all_bandwidth_groups
|
|
23
|
-
bandwidth_groups = VBox::WebService.send_request(:i_bandwidth_control_get_all_bandwidth_groups, _this)
|
|
24
|
-
bandwidth_groups.map do |bandwidth_group|
|
|
25
|
-
VBox::BandwidthGroup.new(bandwidth_group)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def get_bandwidth_group
|
|
30
|
-
bandwidth_group = VBox::WebService.send_request(:i_bandwidth_control_get_bandwidth_group, _this)
|
|
31
|
-
VBox::BandwidthGroup.new(bandwidth_group)
|
|
32
|
-
end
|
|
33
11
|
end
|
|
34
12
|
end
|
|
@@ -1,27 +1,10 @@
|
|
|
1
1
|
module VBox
|
|
2
2
|
class BandwidthGroup < Base
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
vb_attr :name
|
|
5
|
+
vb_attr :type
|
|
6
|
+
vb_attr :reference
|
|
7
|
+
vb_attr :max_bytes_per_sec
|
|
5
8
|
|
|
6
|
-
def name
|
|
7
|
-
VBox::WebService.send_request(:i_bandwidth_group_get_name, _this)
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def type
|
|
11
|
-
VBox::WebService.send_request(:i_bandwidth_group_get_type, _this)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def reference
|
|
15
|
-
VBox::WebService.send_request(:i_bandwidth_group_get_reference, _this)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def max_bytes_per_sec
|
|
19
|
-
VBox::WebService.send_request(:i_bandwidth_group_get_max_bytes_per_sec, _this)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def max_bytes_per_sec=(max_bytes_per_sec)
|
|
23
|
-
VBox::WebService.send_request(:i_bandwidth_group_get_max_bytes_per_sec,
|
|
24
|
-
_this.merge(:max_bytes_per_sec => max_bytes_per_sec))
|
|
25
|
-
end
|
|
26
9
|
end
|
|
27
10
|
end
|
|
@@ -1,79 +1,18 @@
|
|
|
1
1
|
module VBox
|
|
2
2
|
class BIOSSettings < Base
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
starts_with_acronym
|
|
5
|
+
|
|
6
|
+
vb_attr :logo_fade_in
|
|
7
|
+
vb_attr :logo_fade_out
|
|
8
|
+
vb_attr :logo_display_time
|
|
9
|
+
vb_attr :logo_image_path
|
|
10
|
+
vb_attr :boot_menu_mode
|
|
11
|
+
vb_attr :acpi_enabled, :force_tag => 'ACPIEnabled'
|
|
12
|
+
vb_attr :ioapic_enabled, :force_tag => 'IOAPICEnabled'
|
|
13
|
+
vb_attr :time_offset
|
|
14
|
+
vb_attr :pxe_debug_enabled, :force_tag => 'PXEDebugEnabled'
|
|
15
|
+
vb_attr :non_volatile_storage_file
|
|
5
16
|
|
|
6
|
-
def logo_fade_in
|
|
7
|
-
VBox::WebService.send_request(:ibios_settings_get_logo_fade_in, _this)
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def logo_fade_in=(logo_fade_in)
|
|
11
|
-
VBox::WebService.send_request(:ibios_settings_set_logo_fade_in, _this.merge(:logo_fade_in => logo_fade_in))
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def logo_fade_out
|
|
15
|
-
VBox::WebService.send_request(:ibios_settings_get_logo_fade_out, _this)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def logo_fade_out=(logo_fade_out)
|
|
19
|
-
VBox::WebService.send_request(:ibios_settings_set_logo_fade_out, _this.merge(:logo_fade_out => logo_fade_out))
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def logo_display_time
|
|
23
|
-
VBox::WebService.send_request(:ibios_settings_get_logo_display_time, _this)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def logo_display_time=(logo_display_time)
|
|
27
|
-
VBox::WebService.send_request(:ibios_settings_set_logo_display_time,
|
|
28
|
-
_this.merge(:logo_display_time => logo_display_time))
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def logo_image_path
|
|
32
|
-
VBox::WebService.send_request(:ibios_settings_get_logo_image_path, _this)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def logo_image_path=(logo_image_path)
|
|
36
|
-
VBox::WebService.send_request(:ibios_settings_set_logo_image_path, _this.merge(:logo_image_path => logo_image_path))
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def boot_menu_mode
|
|
40
|
-
VBox::WebService.send_request(:ibios_settings_get_boot_menu_mode, _this)
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def boot_menu_mode=(boot_menu_mode)
|
|
44
|
-
VBox::WebService.send_request(:ibios_settings_set_boot_menu_mode, _this.merge(:boot_menu_mode => boot_menu_mode))
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def acpi_enabled
|
|
48
|
-
VBox::WebService.send_request(:ibios_settings_get_acpi_enabled, _this)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def acpi_enabled=(acpi_enabled)
|
|
52
|
-
VBox::WebService.send_request(:ibios_settings_set_acpi_enabled, _this.merge('ACPIEnabled' => acpi_enabled))
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def ioapic_enabled
|
|
56
|
-
VBox::WebService.send_request(:ibios_settings_get_ioapic_enabled, _this)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def ioapic_enabled=(ioapic_enabled)
|
|
60
|
-
VBox::WebService.send_request(:ibios_settings_set_ioapic_enabled, _this.merge('IOAPICEnabled' => ioapic_enabled))
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def time_offset
|
|
64
|
-
VBox::WebService.send_request(:ibios_settings_get_time_offset, _this)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def time_offset=(time_offset)
|
|
68
|
-
VBox::WebService.send_request(:ibios_settings_set_time_offset, _this.merge(:time_offset => time_offset))
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def pxe_debug_enabled
|
|
72
|
-
VBox::WebService.send_request(:ibios_settings_get_pxe_debug_enabled, _this)
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
def pxe_debug_enabled=(pxe_debug_enabled)
|
|
76
|
-
VBox::WebService.send_request(:ibios_settings_set_pxe_debug_enabled, _this.merge('PXEDebugEnabled' => pxe_debug_enabled))
|
|
77
|
-
end
|
|
78
17
|
end
|
|
79
18
|
end
|