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.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -2
  3. data/Gemfile.lock +8 -2
  4. data/README.md +42 -24
  5. data/lib/core_ext/hash.rb +6 -6
  6. data/lib/core_ext/string.rb +8 -0
  7. data/lib/virtualbox/base.rb +118 -6
  8. data/lib/virtualbox/classes/appliance.rb +11 -44
  9. data/lib/virtualbox/classes/audio_adapter.rb +3 -25
  10. data/lib/virtualbox/classes/bandwidth_control.rb +5 -27
  11. data/lib/virtualbox/classes/bandwidth_group.rb +4 -21
  12. data/lib/virtualbox/classes/bios_settings.rb +12 -73
  13. data/lib/virtualbox/classes/console.rb +42 -193
  14. data/lib/virtualbox/classes/dhcp_server.rb +18 -44
  15. data/lib/virtualbox/classes/directory.rb +4 -18
  16. data/lib/virtualbox/classes/display.rb +10 -39
  17. data/lib/virtualbox/classes/emulated_usb.rb +10 -0
  18. data/lib/virtualbox/classes/event.rb +5 -23
  19. data/lib/virtualbox/classes/event_listener.rb +1 -6
  20. data/lib/virtualbox/classes/event_source.rb +7 -49
  21. data/lib/virtualbox/classes/events/bandwidth_group_changed_event.rb +1 -5
  22. data/lib/virtualbox/classes/events/clipboard_mode_changed_event.rb +1 -4
  23. data/lib/virtualbox/classes/events/cpu_changed_event.rb +2 -8
  24. data/lib/virtualbox/classes/events/cpu_execution_cap_changed_event.rb +1 -4
  25. data/lib/virtualbox/classes/events/drag_and_drop_mode_changed_event.rb +1 -4
  26. data/lib/virtualbox/classes/events/event_source_changed_event.rb +2 -9
  27. data/lib/virtualbox/classes/events/extra_data_can_change_event.rb +3 -12
  28. data/lib/virtualbox/classes/events/extra_data_changed_event.rb +3 -12
  29. data/lib/virtualbox/classes/events/guest_file_event.rb +7 -0
  30. data/lib/virtualbox/classes/events/guest_file_io_event.rb +8 -0
  31. data/lib/virtualbox/classes/events/guest_file_offset_changed_event.rb +4 -0
  32. data/lib/virtualbox/classes/events/guest_file_read_event.rb +6 -0
  33. data/lib/virtualbox/classes/events/guest_file_registered_event.rb +7 -0
  34. data/lib/virtualbox/classes/events/guest_file_state_changed_event.rb +8 -0
  35. data/lib/virtualbox/classes/events/guest_file_write_event.rb +4 -0
  36. data/lib/virtualbox/classes/events/guest_keyboard_event.rb +2 -5
  37. data/lib/virtualbox/classes/events/guest_monitor_changed_event.rb +6 -24
  38. data/lib/virtualbox/classes/events/guest_mouse_event.rb +6 -24
  39. data/lib/virtualbox/classes/events/guest_multi_touch_event.rb +12 -0
  40. data/lib/virtualbox/classes/events/guest_process_event.rb +8 -0
  41. data/lib/virtualbox/classes/events/guest_process_input_notify_event.rb +7 -0
  42. data/lib/virtualbox/classes/events/guest_process_io_event.rb +8 -0
  43. data/lib/virtualbox/classes/events/guest_process_output_event.rb +7 -0
  44. data/lib/virtualbox/classes/events/guest_process_registered_event.rb +7 -0
  45. data/lib/virtualbox/classes/events/guest_process_state_changed_event.rb +8 -0
  46. data/lib/virtualbox/classes/events/guest_property_changed_event.rb +3 -12
  47. data/lib/virtualbox/classes/events/guest_session_event.rb +7 -0
  48. data/lib/virtualbox/classes/events/guest_session_registered_event.rb +7 -0
  49. data/lib/virtualbox/classes/events/guest_session_state_changed_event.rb +9 -0
  50. data/lib/virtualbox/classes/events/guest_user_state_changed_event.rb +10 -0
  51. data/lib/virtualbox/classes/events/host_name_resolution_configuration_change_event.rb +4 -0
  52. data/lib/virtualbox/classes/events/host_pci_device_plug_event.rb +4 -16
  53. data/lib/virtualbox/classes/events/keyboard_leds_changed_event.rb +3 -12
  54. data/lib/virtualbox/classes/events/machine_data_changed_event.rb +1 -4
  55. data/lib/virtualbox/classes/events/machine_event.rb +1 -4
  56. data/lib/virtualbox/classes/events/machine_registered_event.rb +1 -4
  57. data/lib/virtualbox/classes/events/machine_state_changed_event.rb +1 -4
  58. data/lib/virtualbox/classes/events/medium_changed_event.rb +1 -5
  59. data/lib/virtualbox/classes/events/medium_registered_event.rb +3 -12
  60. data/lib/virtualbox/classes/events/mouse_capability_changed_event.rb +4 -12
  61. data/lib/virtualbox/classes/events/mouse_pointer_shape_changed_event.rb +7 -28
  62. data/lib/virtualbox/classes/events/nat_network_alter_event.rb +7 -0
  63. data/lib/virtualbox/classes/events/nat_network_changed_event.rb +9 -0
  64. data/lib/virtualbox/classes/events/nat_network_creation_deletion_event.rb +9 -0
  65. data/lib/virtualbox/classes/events/nat_network_port_forward_event.rb +16 -0
  66. data/lib/virtualbox/classes/events/nat_network_setting_event.rb +13 -0
  67. data/lib/virtualbox/classes/events/nat_network_start_stop_event.rb +9 -0
  68. data/lib/virtualbox/classes/events/nat_redirect_event.rb +8 -32
  69. data/lib/virtualbox/classes/events/network_adapter_changed_event.rb +1 -5
  70. data/lib/virtualbox/classes/events/parallel_port_changed_event.rb +1 -5
  71. data/lib/virtualbox/classes/events/reusable_event.rb +2 -9
  72. data/lib/virtualbox/classes/events/runtime_error_event.rb +3 -12
  73. data/lib/virtualbox/classes/events/serial_port_changed_event.rb +1 -5
  74. data/lib/virtualbox/classes/events/session_state_changed_event.rb +1 -4
  75. data/lib/virtualbox/classes/events/shared_folder_changed_event.rb +1 -4
  76. data/lib/virtualbox/classes/events/show_window_event.rb +1 -4
  77. data/lib/virtualbox/classes/events/snapshot_event.rb +1 -4
  78. data/lib/virtualbox/classes/events/state_changed_event.rb +1 -4
  79. data/lib/virtualbox/classes/events/storage_device_changed_event.rb +3 -8
  80. data/lib/virtualbox/classes/events/usb_device_state_changed_event.rb +3 -9
  81. data/lib/virtualbox/classes/events/v_box_svc_availability_chaged_event.rb +1 -4
  82. data/lib/virtualbox/classes/events/veto_event.rb +3 -13
  83. data/lib/virtualbox/classes/events/video_capture_changed_event.rb +4 -0
  84. data/lib/virtualbox/classes/file.rb +18 -65
  85. data/lib/virtualbox/classes/framebuffer.rb +21 -0
  86. data/lib/virtualbox/classes/framebuffer_overlay.rb +12 -0
  87. data/lib/virtualbox/classes/fs_obj_info.rb +20 -77
  88. data/lib/virtualbox/classes/guest.rb +25 -126
  89. data/lib/virtualbox/classes/guest_session.rb +48 -224
  90. data/lib/virtualbox/classes/host.rb +37 -164
  91. data/lib/virtualbox/classes/host_network_interface.rb +19 -69
  92. data/lib/virtualbox/classes/host_usb_device.rb +1 -4
  93. data/lib/virtualbox/classes/host_usb_device_filter.rb +1 -8
  94. data/lib/virtualbox/classes/host_video_input_device.rb +9 -0
  95. data/lib/virtualbox/classes/keyboard.rb +4 -20
  96. data/lib/virtualbox/classes/machine.rb +156 -908
  97. data/lib/virtualbox/classes/machine_debugger.rb +49 -0
  98. data/lib/virtualbox/classes/managed_object_ref.rb +2 -9
  99. data/lib/virtualbox/classes/medium.rb +42 -215
  100. data/lib/virtualbox/classes/medium_format.rb +5 -21
  101. data/lib/virtualbox/classes/mouse.rb +9 -28
  102. data/lib/virtualbox/classes/nat_engine.rb +14 -99
  103. data/lib/virtualbox/classes/nat_network.rb +25 -0
  104. data/lib/virtualbox/classes/network_adapter.rb +22 -163
  105. data/lib/virtualbox/classes/parallel_port.rb +5 -36
  106. data/lib/virtualbox/classes/pci_address.rb +12 -0
  107. data/lib/virtualbox/classes/performance_collector.rb +6 -42
  108. data/lib/virtualbox/classes/performance_metric.rb +8 -32
  109. data/lib/virtualbox/classes/process.rb +16 -60
  110. data/lib/virtualbox/classes/progress.rb +23 -101
  111. data/lib/virtualbox/classes/serial_port.rb +7 -52
  112. data/lib/virtualbox/classes/session.rb +5 -23
  113. data/lib/virtualbox/classes/shared_folder.rb +6 -24
  114. data/lib/virtualbox/classes/snapshot.rb +9 -35
  115. data/lib/virtualbox/classes/storage_controller.rb +10 -52
  116. data/lib/virtualbox/classes/system_properties.rb +38 -201
  117. data/lib/virtualbox/classes/token.rb +8 -0
  118. data/lib/virtualbox/classes/usb_controller.rb +3 -50
  119. data/lib/virtualbox/classes/usb_device.rb +12 -48
  120. data/lib/virtualbox/classes/usb_device_filter.rb +11 -88
  121. data/lib/virtualbox/classes/usb_device_filters.rb +11 -0
  122. data/lib/virtualbox/classes/vfs_explorer.rb +8 -42
  123. data/lib/virtualbox/classes/virtual_box.rb +48 -234
  124. data/lib/virtualbox/classes/virtual_box_error_info.rb +6 -21
  125. data/lib/virtualbox/classes/virtual_system_description.rb +6 -30
  126. data/lib/virtualbox/classes/vrde_server.rb +11 -72
  127. data/lib/virtualbox/classes/vrde_server_info.rb +15 -60
  128. data/lib/virtualbox/classes/websession_manager.rb +11 -11
  129. data/lib/virtualbox/configuration.rb +35 -0
  130. data/lib/virtualbox/exceptions.rb +28 -0
  131. data/lib/virtualbox/version.rb +3 -0
  132. data/lib/virtualbox/webservice.rb +105 -0
  133. data/lib/virtualbox-ws.rb +5 -1
  134. data/virtualbox-ws.gemspec +4 -1
  135. metadata +42 -5
  136. data/lib/virtualbox/classes/additions_facility.rb +0 -26
  137. data/lib/virtualbox/connection.rb +0 -68
@@ -0,0 +1,49 @@
1
+ module VBox
2
+ class MachineDebugger < Base
3
+
4
+ vb_attr :single_step
5
+ vb_attr :recompile_user
6
+ vb_attr :recompile_supervisor
7
+ vb_attr :execute_all_in_iem
8
+ vb_attr :patm_enabled, :force_tag => 'PATMEnabled'
9
+ vb_attr :csam_enabled, :force_tag => 'CSAMEnabled'
10
+ vb_attr :log_enabled
11
+ vb_attr :log_dbg_flags
12
+ vb_attr :log_dbg_groups
13
+ vb_attr :log_dbg_destinations
14
+ vb_attr :log_rel_flags
15
+ vb_attr :log_rel_groups
16
+ vb_attr :log_rel_destinations
17
+ vb_attr :hw_virt_ex_enabled
18
+ vb_attr :hw_virt_ex_nested_paging_enabled
19
+ vb_attr :hw_virt_ex_vpid_enabled
20
+ vb_attr :hw_virt_ex_ux_enabled
21
+ vb_attr :os_name
22
+ vb_attr :os_version
23
+ vb_attr :pae_enabled
24
+ vb_attr :virtual_time_rate
25
+ vb_attr :vm
26
+
27
+ vb_method :detect_os
28
+ vb_method :dump_guest_core
29
+ vb_method :dump_guest_stack
30
+ vb_method :dump_host_process_core
31
+ vb_method :dump_stats
32
+ vb_method :get_register
33
+ vb_method :get_registers
34
+ vb_method :get_stats
35
+ vb_method :info
36
+ vb_method :inject_nmi
37
+ vb_method :modify_log_destinations
38
+ vb_method :modify_log_flags
39
+ vb_method :modify_log_groups
40
+ vb_method :read_physical_memory
41
+ vb_method :read_virtual_memory
42
+ vb_method :reset_stats
43
+ vb_method :set_register
44
+ vb_method :set_registers
45
+ vb_method :write_physical_memory
46
+ vb_method :write_virtual_memory
47
+
48
+ end
49
+ end
@@ -1,15 +1,8 @@
1
1
  module VBox
2
2
  class ManagedObjectRef < Base
3
3
 
4
- # Methods
4
+ vb_method :get_interface_name
5
+ vb_method :release
5
6
 
6
- def get_interface_name
7
- interface_name = VBox::WebService.send_request(:i_managed_object_ref_get_interface_name, _this)
8
- interface_name[1..-1]
9
- end
10
-
11
- def release
12
- VBox::WebService.send_request(:i_managed_object_ref_release, _this)
13
- end
14
7
  end
15
8
  end
@@ -1,221 +1,48 @@
1
1
  module VBox
2
2
  class Medium < Base
3
3
 
4
- # Attributes
4
+ vb_attr :id
5
+ vb_attr :description
6
+ vb_attr :state
7
+ vb_attr :variant
8
+ vb_attr :location
9
+ vb_attr :name
10
+ vb_attr :device_type
11
+ vb_attr :host_drive
12
+ vb_attr :size
13
+ vb_attr :format
14
+ vb_attr :medium_format
15
+ vb_attr :type
16
+ vb_attr :allowed_types, :force_array => true
17
+ vb_attr :parent
18
+ vb_attr :children, :force_array => true
19
+ vb_attr :base
20
+ vb_attr :read_only
21
+ vb_attr :logical_size
22
+ vb_attr :auto_reset
23
+ vb_attr :last_access_error
24
+ vb_attr :machine_ids, :force_array => true
25
+
26
+ vb_method :clone_to
27
+ vb_method :clone_to_base
28
+ vb_method :close
29
+ vb_method :compact
30
+ vb_method :create_base_storage
31
+ vb_method :create_diff_storage
32
+ vb_method :delete_storage
33
+ vb_method :get_properties, :force_array => true
34
+ vb_method :get_property
35
+ vb_method :get_snapshot_ids, :force_array => true
36
+ vb_method :lock_read
37
+ vb_method :lock_write
38
+ vb_method :merge_to
39
+ vb_method :refresh_state
40
+ vb_method :reset
41
+ vb_method :resize
42
+ vb_method :set_ids
43
+ vb_method :set_location
44
+ vb_method :set_properties
45
+ vb_method :set_property
5
46
 
6
- def id
7
- VBox::WebService.send_request(:i_medium_get_id, _this)
8
- end
9
-
10
- def description
11
- VBox::WebService.send_request(:i_medium_get_description, _this)
12
- end
13
-
14
- def description=(description)
15
- VBox::WebService.send_request(:i_medium_set_description, _this.merge(:description => description))
16
- end
17
-
18
- def state
19
- VBox::WebService.send_request(:i_medium_get_state, _this)
20
- end
21
-
22
- def variant
23
- VBox::WebService.send_request(:i_medium_get_variant, _this)
24
- end
25
-
26
- def location
27
- VBox::WebService.send_request(:i_medium_get_location, _this)
28
- end
29
-
30
- def location=(location)
31
- VBox::WebService.send_request(:i_medium_set_location, _this.merge(:location => location))
32
- end
33
-
34
- def name
35
- VBox::WebService.send_request(:i_medium_get_name, _this)
36
- end
37
-
38
- def device_type
39
- VBox::WebService.send_request(:i_medium_get_device_type, _this)
40
- end
41
-
42
- def host_drive
43
- VBox::WebService.send_request(:i_medium_get_host_drive, _this)
44
- end
45
-
46
- def size
47
- VBox::WebService.send_request(:i_medium_get_size, _this)
48
- end
49
-
50
- def format
51
- VBox::WebService.send_request(:i_medium_get_format, _this)
52
- end
53
-
54
- def medium_format
55
- medium_format = VBox::WebService.send_request(:i_medium_get_medium_format, _this)
56
- VBox::MediumFormat.new(medium_format)
57
- end
58
-
59
- def type
60
- VBox::WebService.send_request(:i_medium_get_type, _this)
61
- end
62
-
63
- def type=(type)
64
- VBox::WebService.send_request(:i_medium_set_type, _this.merge(:type => type))
65
- end
66
-
67
- def allowed_types
68
- VBox::WebService.send_request(:i_medium_get_allowed_types, _this)
69
- end
70
-
71
- def parent
72
- parent = VBox::WebService.send_request(:i_medium_get_parent, _this)
73
- VBox::Medium.new(parent)
74
- end
75
-
76
- def children
77
- children = VBox::WebService.send_request(:i_medium_get_children, _this)
78
- children.map do |child|
79
- VBox::Medium.new(child)
80
- end
81
- end
82
-
83
- def base
84
- base = VBox::WebService.send_request(:i_medium_get_base, _this)
85
- VBox::Medium.new(base)
86
- end
87
-
88
- def read_only
89
- VBox::WebService.send_request(:i_medium_get_read_only, _this)
90
- end
91
-
92
- def logical_size
93
- VBox::WebService.send_request(:i_medium_get_logical_size, _this)
94
- end
95
-
96
- def auto_reset
97
- VBox::WebService.send_request(:i_medium_get_auto_reset, _this)
98
- end
99
-
100
- def auto_reset=(auto_reset)
101
- VBox::WebService.send_request(:i_medium_set_auto_reset, _this.merge(:auto_reset => auto_reset))
102
- end
103
-
104
- def last_access_error
105
- VBox::WebService.send_request(:i_medium_get_last_access_error, _this)
106
- end
107
-
108
- def machine_ids
109
- VBox::WebService.send_request(:i_medium_get_machine_ids, _this)
110
- end
111
-
112
- # Methods
113
-
114
- def clone_to(args={})
115
- ensure_hash args
116
- args.referize! :target, :parent
117
- VBox::WebService.send_request(:i_medium_clone_to, _this.merge(args))
118
- end
119
-
120
- def clone_to_base(args={})
121
- ensure_hash args
122
- args.referize! :target
123
- VBox::WebService.send_request(:i_medium_clone_to_base, _this.merge(args))
124
- end
125
-
126
- def close
127
- VBox::WebService.send_request(:i_medium_close, _this)
128
- end
129
-
130
- def compact
131
- progress = VBox::WebService.send_request(:i_medium_close, _this)
132
- VBox::Progress.new(progress)
133
- end
134
-
135
- def create_base_storage(args={})
136
- ensure_hash args
137
- progress = VBox::WebService.send_request(:i_medium_create_base_storage, _this.merge(args))
138
- VBox::Progress.new(progress)
139
- end
140
-
141
- def create_diff_storage(args={})
142
- ensure_hash args
143
- args.referize! :target
144
- progress = VBox::WebService.send_request(:i_medium_create_diff_storage, _this.merge(args))
145
- VBox::Progress.new(progress)
146
- end
147
-
148
- def delete_storage
149
- progress = VBox::WebService.send_request(:i_medium_delete_storage, _this)
150
- VBox::Progress.new(progress)
151
- end
152
-
153
- def get_properties(args={})
154
- ensure_hash args
155
- VBox::WebService.send_request(:i_medium_get_properties, _this.merge(args))
156
- end
157
-
158
- def get_property(args={})
159
- ensure_hash args
160
- VBox::WebService.send_request(:i_medium_get_property, _this.merge(args))
161
- end
162
-
163
- def get_snapshot_ids(args={})
164
- ensure_hash args
165
- VBox::WebService.send_request(:i_medium_get_snapshot_ids, _this.merge(args))
166
- end
167
-
168
- def lock_read
169
- VBox::WebService.send_request(:i_medium_lock_read, _this.merge(args))
170
- end
171
-
172
- def lock_write
173
- VBox::WebService.send_request(:i_medium_lock_write, _this.merge(args))
174
- end
175
-
176
- def merge_to(args={})
177
- ensure_hash args
178
- args.referize! :target
179
- progress = VBox::WebService.send_request(:i_medium_delete_storage, _this.merge(args))
180
- VBox::Progress.new(progress)
181
- end
182
-
183
- def refresh_state
184
- VBox::WebService.send_request(:i_medium_refresh_state, _this)
185
- end
186
-
187
- def reset
188
- progress = VBox::WebService.send_request(:i_medium_reset, _this)
189
- VBox::Progress.new(progress)
190
- end
191
-
192
- def resize(args={})
193
- ensure_hash args
194
- progress = VBox::WebService.send_request(:i_medium_resize, _this.merge(args))
195
- VBox::Progress.new(progress)
196
- end
197
-
198
- def set_ids(args={})
199
- ensure_hash args
200
- VBox::WebService.send_request(:i_medium_set_ids, _this.merge(args))
201
- end
202
-
203
- def set_properties(args={})
204
- ensure_hash args
205
- VBox::WebService.send_request(:i_medium_set_properties, _this.merge(args))
206
- end
207
-
208
- def set_property(args={})
209
- ensure_hash args
210
- VBox::WebService.send_request(:i_medium_set_property, _this.merge(args))
211
- end
212
-
213
- def unlock_read
214
- VBox::WebService.send_request(:i_medium_unlock_read, _this.merge(args))
215
- end
216
-
217
- def unlock_write
218
- VBox::WebService.send_request(:i_medium_unlock_write, _this.merge(args))
219
- end
220
47
  end
221
48
  end
@@ -1,28 +1,12 @@
1
1
  module VBox
2
2
  class MediumFormat < Base
3
3
 
4
- # Attributes
4
+ vb_attr :id
5
+ vb_attr :name
6
+ vb_attr :capabilities, :force_array => true
5
7
 
6
- def id
7
- VBox::WebService.send_request(:i_medium_format_get_id, _this)
8
- end
8
+ vb_method :describe_file_extensions
9
+ vb_method :describe_properties
9
10
 
10
- def name
11
- VBox::WebService.send_request(:i_medium_format_get_name, _this)
12
- end
13
-
14
- def capabilities
15
- VBox::WebService.send_request(:i_medium_format_get_name, _this)
16
- end
17
-
18
- # Methods
19
-
20
- def describe_file_extensions
21
- VBox::WebService.send_request(:i_medium_format_describe_file_extensions, _this)
22
- end
23
-
24
- def describe_properties
25
- VBox::WebService.send_request(:i_medium_format_describe_properties, _this)
26
- end
27
11
  end
28
12
  end
@@ -1,35 +1,16 @@
1
1
  module VBox
2
2
  class Mouse < Base
3
3
 
4
- # Attributes
4
+ vb_attr :absolute_supported
5
+ vb_attr :relative_supported
6
+ vb_attr :multi_touch_supported
7
+ vb_attr :needs_host_cursor
8
+ vb_attr :event_source
5
9
 
6
- def absolute_supported
7
- VBox::WebService.send_request(:i_mouse_get_absolute_supported, _this)
8
- end
10
+ vb_method :put_event_multi_touch
11
+ vb_method :put_event_multi_touch_string
12
+ vb_method :put_mouse_event
13
+ vb_method :put_mouse_event_absolute
9
14
 
10
- def relative_supported
11
- VBox::WebService.send_request(:i_mouse_get_relative_supported, _this)
12
- end
13
-
14
- def needs_host_cursor
15
- VBox::WebService.send_request(:i_mouse_get_needs_host_cursor, _this)
16
- end
17
-
18
- def event_source
19
- event_source = VBox::WebService.send_request(:i_mouse_get_event_source, _this)
20
- VBox::EventSource.new(event_source)
21
- end
22
-
23
- # Methods
24
-
25
- def put_mouse_event(args={})
26
- ensure_hash args
27
- VBox::WebService.send_request(:i_mouse_put_mouse_event, _this)
28
- end
29
-
30
- def put_mouse_event_absolute(args={})
31
- ensure_hash args
32
- VBox::WebService.send_request(:i_mouse_put_mouse_event_absolute, _this)
33
- end
34
15
  end
35
16
  end
@@ -1,105 +1,20 @@
1
1
  module VBox
2
2
  class NATEngine < Base
3
3
 
4
- # Attributes
4
+ vb_attr :network
5
+ vb_attr :host_ip
6
+ vb_attr :tftp_prefix, :force_tag => 'TFTPPrefix'
7
+ vb_attr :tftp_boot_file, :force_tag => 'TFTPBootFile'
8
+ vb_attr :tftp_next_server, :force_tag => 'TFTPNextServer'
9
+ vb_attr :alias_mode
10
+ vb_attr :dns_pass_domain, :force_tag => 'DNSPassDomain'
11
+ vb_attr :dns_proxy, :force_tag => 'DNSProxy'
12
+ vb_attr :dns_use_host_resolver, :force_tag => 'DNSUseHostResolver'
13
+ vb_attr :redirects
14
+
15
+ vb_method :add_redirect
16
+ vb_method :get_network_settings
17
+ vb_method :remove_redirct
5
18
 
6
- def network
7
- VBox::WebService.send_request(:inat_engine_get_network, _this)
8
- end
9
-
10
- def network=(network)
11
- VBox::WebService.send_request(:inat_engine_set_network, _this.merge(:network => network))
12
- end
13
-
14
- def host_ip
15
- VBox::WebService.send_request(:inat_engine_get_host_ip, _this)
16
- end
17
-
18
- def host_ip=(host_ip)
19
- VBox::WebService.send_request(:inat_engine_set_host_ip, _this.merge(:host_ip => host_ip))
20
- end
21
-
22
- def tftp_prefix
23
- VBox::WebService.send_request(:inat_engine_get_tftp_prefix, _this)
24
- end
25
-
26
- def tftp_prefix=(tftp_prefix)
27
- VBox::WebService.send_request(:inat_engine_set_tftp_prefix, _this.merge('TFTPPrefix' => tftp_prefix))
28
- end
29
-
30
- def tftp_boot_file
31
- VBox::WebService.send_request(:inat_engine_get_tftp_boot_file, _this)
32
- end
33
-
34
- def tftp_boot_file=(tftp_boot_file)
35
- VBox::WebService.send_request(:inat_engine_set_tftp_boot_file, _this.merge('TFTPBootFile' => tftp_boot_file))
36
- end
37
-
38
- def tftp_next_server
39
- VBox::WebService.send_request(:inat_engine_get_tftp_next_server, _this)
40
- end
41
-
42
- def tftp_next_server=(tftp_next_server)
43
- VBox::WebService.send_request(:inat_engine_set_tftp_next_server,
44
- _this.merge('TFTPNextServer' => tftp_next_server))
45
- end
46
-
47
- def alias_mode
48
- VBox::WebService.send_request(:inat_engine_get_alias_mode, _this)
49
- end
50
-
51
- def alias_mode=(alias_mode)
52
- VBox::WebService.send_request(:inat_engine_set_alias_mode, _this.merge(:alias_mode => alias_mode))
53
- end
54
-
55
- def dns_pass_domain
56
- VBox::WebService.send_request(:inat_engine_get_dns_pass_domain, _this)
57
- end
58
-
59
- def dns_pass_domain=(dns_pass_domain)
60
- VBox::WebService.send_request(:inat_engine_set_dns_pass_domain, _this.merge('DNSPassDomain' => dns_pass_domain))
61
- end
62
-
63
- def dns_proxy
64
- VBox::WebService.send_request(:inat_engine_get_dns_proxy, _this)
65
- end
66
-
67
- def dns_proxy=(dns_proxy)
68
- VBox::WebService.send_request(:inat_engine_set_dns_proxy, _this.merge('DNSProxy' => dns_proxy))
69
- end
70
-
71
- def dns_use_host_resolver
72
- VBox::WebService.send_request(:inat_engine_get_dns_use_host_resolver, _this)
73
- end
74
-
75
- def dns_use_host_resolver=(dns_use_host_resolver)
76
- VBox::WebService.send_request(:inat_engine_set_dns_use_host_resolver,
77
- _this.merge('DNSUseHostResolver' => dns_use_host_resolver))
78
- end
79
-
80
- def redirects
81
- VBox::WebService.send_request(:inat_engine_get_redirects, _this)
82
- end
83
-
84
- # Methods
85
-
86
- def add_redirect(args={})
87
- ensure_hash args
88
- VBox::WebService.send_request(:inat_engine_add_redirect, _this.merge(args))
89
- end
90
-
91
- def get_network_settings
92
- VBox::WebService.send_request(:inat_engine_add_redirect, _this)
93
- end
94
-
95
- def remove_redirect(args={})
96
- ensure_hash args
97
- VBox::WebService.send_request(:inat_engine_remove_redirect, _this.merge(args))
98
- end
99
-
100
- def set_network_settings(args={})
101
- ensure_hash args
102
- VBox::WebService.send_request(:inat_engine_set_network_settings, _this.merge(args))
103
- end
104
19
  end
105
20
  end
@@ -0,0 +1,25 @@
1
+ module VBox
2
+ class NATNetwork < Base
3
+
4
+ vb_attr :network_name
5
+ vb_attr :enabled
6
+ vb_attr :network
7
+ vb_attr :gateway
8
+ vb_attr :ipv6_enabled, :force_tag => 'IPv6Enabled'
9
+ vb_attr :ipv6_prefix, :force_tag => 'IPv6Prefix'
10
+ vb_attr :advertise_default_ipv6_route_enabled, :force_tag => 'advertiseDefaultIPv6RouteEnabled'
11
+ vb_attr :need_dhcp_server
12
+ vb_attr :event_source
13
+ vb_attr :port_forward_rules4
14
+ vb_attr :local_mappings
15
+ vb_attr :loopback_ip6
16
+ vb_attr :port_forward_rules6
17
+
18
+ vb_method :add_local_mapping
19
+ vb_method :add_port_forward_rule
20
+ vb_method :remove_port_forward_rule
21
+ vb_method :start
22
+ vb_method :stop
23
+
24
+ end
25
+ end