vagrant-vmware-free 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/.gitignore +5 -0
  2. data/.ruby-version +1 -0
  3. data/Gemfile +7 -0
  4. data/Gemfile.lock +57 -0
  5. data/LICENSE +21 -0
  6. data/README.md +10 -0
  7. data/Rakefile +3 -0
  8. data/lib/vagrant_vmware_free.rb +5 -0
  9. data/lib/vagrant_vmware_free/action.rb +214 -0
  10. data/lib/vagrant_vmware_free/action/boot.rb +23 -0
  11. data/lib/vagrant_vmware_free/action/check_accessible.rb +23 -0
  12. data/lib/vagrant_vmware_free/action/check_created.rb +21 -0
  13. data/lib/vagrant_vmware_free/action/check_guest_additions.rb +45 -0
  14. data/lib/vagrant_vmware_free/action/check_running.rb +21 -0
  15. data/lib/vagrant_vmware_free/action/check_virtualbox.rb +22 -0
  16. data/lib/vagrant_vmware_free/action/clean_machine_folder.rb +43 -0
  17. data/lib/vagrant_vmware_free/action/clear_forwarded_ports.rb +18 -0
  18. data/lib/vagrant_vmware_free/action/clear_network_interfaces.rb +31 -0
  19. data/lib/vagrant_vmware_free/action/clear_shared_folders.rb +17 -0
  20. data/lib/vagrant_vmware_free/action/created.rb +20 -0
  21. data/lib/vagrant_vmware_free/action/customize.rb +43 -0
  22. data/lib/vagrant_vmware_free/action/destroy.rb +19 -0
  23. data/lib/vagrant_vmware_free/action/destroy_unused_network_interfaces.rb +23 -0
  24. data/lib/vagrant_vmware_free/action/discard_state.rb +20 -0
  25. data/lib/vagrant_vmware_free/action/export.rb +57 -0
  26. data/lib/vagrant_vmware_free/action/forced_halt.rb +25 -0
  27. data/lib/vagrant_vmware_free/action/forward_ports.rb +89 -0
  28. data/lib/vagrant_vmware_free/action/get_network_address.rb +27 -0
  29. data/lib/vagrant_vmware_free/action/import.rb +56 -0
  30. data/lib/vagrant_vmware_free/action/is_paused.rb +20 -0
  31. data/lib/vagrant_vmware_free/action/is_running.rb +20 -0
  32. data/lib/vagrant_vmware_free/action/is_saved.rb +20 -0
  33. data/lib/vagrant_vmware_free/action/match_mac_address.rb +21 -0
  34. data/lib/vagrant_vmware_free/action/message_already_running.rb +16 -0
  35. data/lib/vagrant_vmware_free/action/message_not_created.rb +16 -0
  36. data/lib/vagrant_vmware_free/action/message_not_running.rb +16 -0
  37. data/lib/vagrant_vmware_free/action/message_will_not_destroy.rb +17 -0
  38. data/lib/vagrant_vmware_free/action/network.rb +424 -0
  39. data/lib/vagrant_vmware_free/action/package.rb +20 -0
  40. data/lib/vagrant_vmware_free/action/package_vagrantfile.rb +33 -0
  41. data/lib/vagrant_vmware_free/action/prepare_forwarded_port_collision_params.rb +35 -0
  42. data/lib/vagrant_vmware_free/action/prepare_nfs_settings.rb +69 -0
  43. data/lib/vagrant_vmware_free/action/prune_nfs_exports.rb +20 -0
  44. data/lib/vagrant_vmware_free/action/resume.rb +26 -0
  45. data/lib/vagrant_vmware_free/action/sane_defaults.rb +91 -0
  46. data/lib/vagrant_vmware_free/action/set_name.rb +52 -0
  47. data/lib/vagrant_vmware_free/action/set_network.rb +17 -0
  48. data/lib/vagrant_vmware_free/action/setup_package_files.rb +51 -0
  49. data/lib/vagrant_vmware_free/action/share_folders.rb +128 -0
  50. data/lib/vagrant_vmware_free/action/suspend.rb +20 -0
  51. data/lib/vagrant_vmware_free/action/wait_for_vm_tools.rb +19 -0
  52. data/lib/vagrant_vmware_free/config.rb +38 -0
  53. data/lib/vagrant_vmware_free/driver/base.rb +14 -0
  54. data/lib/vagrant_vmware_free/driver/fusion.rb +17 -0
  55. data/lib/vagrant_vmware_free/driver/fusion_6.rb +188 -0
  56. data/lib/vagrant_vmware_free/driver/meta.rb +122 -0
  57. data/lib/vagrant_vmware_free/driver/vix.rb +19 -0
  58. data/lib/vagrant_vmware_free/driver/vix/functions.rb +38 -0
  59. data/lib/vagrant_vmware_free/driver/vix/helpers.rb +63 -0
  60. data/lib/vagrant_vmware_free/driver/vix/types.rb +143 -0
  61. data/lib/vagrant_vmware_free/errors.rb +9 -0
  62. data/lib/vagrant_vmware_free/plugin.rb +43 -0
  63. data/lib/vagrant_vmware_free/provider.rb +62 -0
  64. data/lib/vagrant_vmware_free/util/vmx.rb +48 -0
  65. data/vagrant-vmware-free.gemspec +21 -0
  66. metadata +190 -0
@@ -0,0 +1,63 @@
1
+ module VagrantPlugins
2
+ module ProviderVMwareFree
3
+ module Driver
4
+ module VIX
5
+ def wait(job, properties=[])
6
+ prop_args, prop_pointers = create_property_list(properties)
7
+
8
+ error = VixJob_Wait(job, *prop_args)
9
+
10
+ prop_values = extract_properties(prop_pointers)
11
+
12
+ [error, prop_values]
13
+ end
14
+
15
+ def wait_with_pointers(job, properties=[])
16
+ prop_args, prop_pointers = create_property_list(properties)
17
+ error = VixJob_Wait(job, *prop_args)
18
+
19
+ [error, prop_pointers]
20
+ end
21
+
22
+ def get_properties(handle, properties=[])
23
+ prop_args, prop_pointers = create_property_list(properties)
24
+ error = Vix_GetProperties(handle, *prop_args)
25
+ prop_values = extract_properties(prop_pointers)
26
+ [error, prop_values]
27
+ end
28
+
29
+ def wait_for_vmtools(vm_handle, timeout=500)
30
+ job_handle = VixVM_WaitForToolsInGuest(vm_handle, timeout, nil, nil)
31
+ code, properties = wait(job_handle)
32
+
33
+ nil
34
+ end
35
+
36
+ private
37
+
38
+ def create_property_list(properties=[])
39
+ prop_pointers = {}
40
+ prop_values = {}
41
+ prop_args = []
42
+
43
+ properties.each do |id|
44
+ prop_pointers[id] = FFI::MemoryPointer.new :pointer
45
+ prop_args.push(:VixPropertyID, id, :pointer, prop_pointers[id])
46
+ end
47
+
48
+ [prop_args.push(:VixPropertyID, :VIX_PROPERTY_NONE), prop_pointers]
49
+ end
50
+
51
+ def extract_properties(prop_pointers)
52
+ prop_values = {}
53
+
54
+ prop_pointers.each do |id, pointer|
55
+ prop_values[id] = pointer.get_int(0)
56
+ end
57
+
58
+ prop_values
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,143 @@
1
+ require 'ffi'
2
+
3
+ module VagrantPlugins
4
+ module ProviderVMwareFree
5
+ module Driver
6
+ module VIX
7
+ enum :VIX_API_VERSION, -1
8
+
9
+ typedef :int, :VixHandle
10
+ enum :VIX_INVALID_HANDLE
11
+
12
+ enum :VixHandleType, [
13
+ :VIX_HANDLETYPE_NONE, 0,
14
+ :VIX_HANDLETYPE_HOST, 2,
15
+ :VIX_HANDLETYPE_VM , 3,
16
+ :VIX_HANDLETYPE_NETWORK, 5,
17
+ :VIX_HANDLETYPE_JOB, 6,
18
+ :VIX_HANDLETYPE_SNAPSHOT, 7,
19
+ :VIX_HANDLETYPE_PROPERTY_LIST, 9,
20
+ :VIX_HANDLETYPE_METADATA_CONTAINER, 11,
21
+ ]
22
+
23
+ typedef :uint64, :VixError
24
+
25
+ enum :VixHostOptions, [
26
+ :VIX_HOSTOPTION_VERIFY_SSL_CERT, 0x4000,
27
+ ]
28
+
29
+ typedef :pointer, :VixEventProc
30
+
31
+ enum :VixServiceProvider, [
32
+ :VIX_SERVICEPROVIDER_DEFAULT, 1,
33
+ :VIX_SERVICEPROVIDER_VMWARE_SERVER, 2,
34
+ :VIX_SERVICEPROVIDER_VMWARE_WORKSTATION, 3,
35
+ :VIX_SERVICEPROVIDER_VMWARE_PLAYER, 4,
36
+ :VIX_SERVICEPROVIDER_VMWARE_VI_SERVER, 10,
37
+ :VIX_SERVICEPROVIDER_VMWARE_WORKSTATION_SHARED, 11,
38
+ ]
39
+
40
+ enum :VixVMOpenOptions, [:VIX_VMOPEN_NORMAL]
41
+
42
+ enum :VixVMPowerOpOptions, [
43
+ :VIX_VMPOWEROP_NORMAL, 0,
44
+ :VIX_VMPOWEROP_FROM_GUEST, 0x0004,
45
+ :VIX_VMPOWEROP_SUPPRESS_SNAPSHOT_POWERON, 0x0080,
46
+ :VIX_VMPOWEROP_LAUNCH_GUI, 0x0200,
47
+ :VIX_VMPOWEROP_START_VM_PAUSED, 0x1000,
48
+ ]
49
+
50
+ enum :VixPropertyID, [
51
+ :VIX_PROPERTY_NONE, 0,
52
+
53
+ :VIX_PROPERTY_META_DATA_CONTAINER, 2,
54
+
55
+ :VIX_PROPERTY_HOST_HOSTTYPE, 50,
56
+ :VIX_PROPERTY_HOST_API_VERSION, 51,
57
+ :VIX_PROPERTY_HOST_SOFTWARE_VERSION, 52,
58
+
59
+ :VIX_PROPERTY_VM_NUM_VCPUS, 101,
60
+ :VIX_PROPERTY_VM_VMX_PATHNAME, 103,
61
+ :VIX_PROPERTY_VM_VMTEAM_PATHNAME, 105,
62
+ :VIX_PROPERTY_VM_MEMORY_SIZE, 106,
63
+ :VIX_PROPERTY_VM_READ_ONLY, 107,
64
+ :VIX_PROPERTY_VM_NAME, 108,
65
+ :VIX_PROPERTY_VM_GUESTOS, 109,
66
+ :VIX_PROPERTY_VM_IN_VMTEAM, 128,
67
+ :VIX_PROPERTY_VM_POWER_STATE, 129,
68
+ :VIX_PROPERTY_VM_TOOLS_STATE, 152,
69
+ :VIX_PROPERTY_VM_IS_RUNNING, 196,
70
+ :VIX_PROPERTY_VM_SUPPORTED_FEATURES, 197,
71
+
72
+ :VIX_PROPERTY_VM_SSL_ERROR, 293,
73
+
74
+ :VIX_PROPERTY_JOB_RESULT_ERROR_CODE, 3000,
75
+ :VIX_PROPERTY_JOB_RESULT_VM_IN_GROUP, 3001,
76
+ :VIX_PROPERTY_JOB_RESULT_USER_MESSAGE, 3002,
77
+ :VIX_PROPERTY_JOB_RESULT_EXIT_CODE, 3004,
78
+ :VIX_PROPERTY_JOB_RESULT_COMMAND_OUTPUT, 3005,
79
+ :VIX_PROPERTY_JOB_RESULT_HANDLE, 3010,
80
+ :VIX_PROPERTY_JOB_RESULT_GUEST_OBJECT_EXISTS, 3011,
81
+ :VIX_PROPERTY_JOB_RESULT_GUEST_PROGRAM_ELAPSED_TIME, 3017,
82
+ :VIX_PROPERTY_JOB_RESULT_GUEST_PROGRAM_EXIT_CODE, 3018,
83
+ :VIX_PROPERTY_JOB_RESULT_ITEM_NAME, 3035,
84
+ :VIX_PROPERTY_JOB_RESULT_FOUND_ITEM_DESCRIPTION, 3036,
85
+ :VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_COUNT, 3046,
86
+ :VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_HOST, 3048,
87
+ :VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_FLAGS, 3049,
88
+ :VIX_PROPERTY_JOB_RESULT_PROCESS_ID, 3051,
89
+ :VIX_PROPERTY_JOB_RESULT_PROCESS_OWNER, 3052,
90
+ :VIX_PROPERTY_JOB_RESULT_PROCESS_COMMAND, 3053,
91
+ :VIX_PROPERTY_JOB_RESULT_FILE_FLAGS, 3054,
92
+ :VIX_PROPERTY_JOB_RESULT_PROCESS_START_TIME, 3055,
93
+ :VIX_PROPERTY_JOB_RESULT_VM_VARIABLE_STRING, 3056,
94
+ :VIX_PROPERTY_JOB_RESULT_PROCESS_BEING_DEBUGGED, 3057,
95
+ :VIX_PROPERTY_JOB_RESULT_SCREEN_IMAGE_SIZE, 3058,
96
+ :VIX_PROPERTY_JOB_RESULT_SCREEN_IMAGE_DATA, 3059,
97
+ :VIX_PROPERTY_JOB_RESULT_FILE_SIZE, 3061,
98
+ :VIX_PROPERTY_JOB_RESULT_FILE_MOD_TIME, 3062,
99
+ :VIX_PROPERTY_JOB_RESULT_EXTRA_ERROR_INFO, 3084,
100
+
101
+ :VIX_PROPERTY_FOUND_ITEM_LOCATION, 4010,
102
+
103
+ :VIX_PROPERTY_SNAPSHOT_DISPLAYNAME, 4200,
104
+ :VIX_PROPERTY_SNAPSHOT_DESCRIPTION, 4201,
105
+ :VIX_PROPERTY_SNAPSHOT_POWERSTATE, 4205,
106
+
107
+ :VIX_PROPERTY_GUEST_SHAREDFOLDERS_SHARES_PATH, 4525,
108
+
109
+ :VIX_PROPERTY_VM_ENCRYPTION_PASSWORD, 7001,
110
+ ]
111
+
112
+ enum :VixCloneType, [
113
+ :VIX_CLONETYPE_FULL, 0,
114
+ :VIX_CLONETYPE_LINKED, 1,
115
+ ]
116
+
117
+ enum :VixPowerState, [
118
+ :VIX_POWERSTATE_POWERING_OFF, 0x0001,
119
+ :VIX_POWERSTATE_POWERED_OFF, 0x0002,
120
+ :VIX_POWERSTATE_POWERING_ON, 0x0004,
121
+ :VIX_POWERSTATE_POWERED_ON, 0x0008,
122
+ :VIX_POWERSTATE_SUSPENDING, 0x0010,
123
+ :VIX_POWERSTATE_SUSPENDED, 0x0020,
124
+ :VIX_POWERSTATE_TOOLS_RUNNING, 0x0040,
125
+ :VIX_POWERSTATE_RESETTING, 0x0080,
126
+ :VIX_POWERSTATE_BLOCKED_ON_MSG, 0x0100,
127
+ :VIX_POWERSTATE_PAUSED, 0x0200,
128
+ :VIX_POWERSTATE_RESUMING, 0x0800,
129
+ ]
130
+
131
+ enum :VixVariableType, [
132
+ :VIX_VM_GUEST_VARIABLE, 1,
133
+ :VIX_VM_CONFIG_RUNTIME_ONLY, 2,
134
+ :VIX_GUEST_ENVIRONMENT_VARIABLE, 3,
135
+ ]
136
+
137
+ enum :VixVMDeleteOptions, [
138
+ :VIX_VMDELETE_DISK_FILES, 0x0002,
139
+ ]
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,9 @@
1
+ module VagrantPlugins
2
+ module ProviderVMwareFree
3
+ module Errors
4
+ class CommandUnavailable < StandardError; end
5
+ class CommandUnavailableWindows < StandardError; end
6
+ class VMWareNotDetected < StandardError; end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,43 @@
1
+ require 'vagrant'
2
+
3
+ module VagrantPlugins
4
+ module ProviderVMwareFree
5
+ class Plugin < Vagrant.plugin('2')
6
+ name 'VMWare Worksation/Fusion provider'
7
+
8
+ description <<-EOF
9
+ Manage and control VMWare Worksation and VMWare Fusion virtual machines
10
+ EOF
11
+
12
+ provider :vmware_free do
13
+ require_relative('provider')
14
+ Provider
15
+ end
16
+
17
+ config :vmware_free, :provider do
18
+ require_relative('config')
19
+ Config
20
+ end
21
+
22
+ end
23
+
24
+ autoload :Action, File.expand_path('../action', __FILE__)
25
+ autoload :Errors, File.expand_path('../errors', __FILE__)
26
+
27
+ module Driver
28
+ autoload :VIX, File.expand_path('../driver/vix', __FILE__)
29
+ autoload :Meta, File.expand_path('../driver/meta', __FILE__)
30
+ autoload :Base, File.expand_path('../driver/base', __FILE__)
31
+ autoload :Fusion, File.expand_path('../driver/fusion', __FILE__)
32
+ autoload :Fusion_6, File.expand_path('../driver/fusion_6', __FILE__)
33
+ end
34
+
35
+ module Model
36
+ autoload :FowrardedPort, File.expand_path('../model/forwarded_port', __FILE__)
37
+ end
38
+
39
+ module Util
40
+ autoload :VMX, File.expand_path('../util/vmx', __FILE__)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,62 @@
1
+ require 'vagrant'
2
+ require 'log4r'
3
+
4
+ module VagrantPlugins
5
+ module ProviderVMwareFree
6
+ class Provider < Vagrant.plugin('2', :provider)
7
+ attr_reader :driver
8
+
9
+ def initialize(machine)
10
+ @logger = Log4r::Logger::new('vagrant::provider::vmware-free')
11
+ @machine = machine
12
+ machine_id_changed
13
+ end
14
+
15
+ def action(name)
16
+ action_method = "action_#{name}"
17
+ return Action.send(action_method) if Action.respond_to?(action_method)
18
+ nil
19
+ end
20
+
21
+ def machine_id_changed
22
+ id = @machine.id
23
+
24
+ begin
25
+ @logger.debug("Booting driver for machine #{@machine.id.inspect})")
26
+ @driver = Driver::Meta.new(id)
27
+ rescue Driver::Meta::VMNotFound
28
+ @logger.debug('VM not found')
29
+ id = nil
30
+ retry
31
+ end
32
+ end
33
+
34
+ def ssh_info
35
+ return nil if state.id == :not_created
36
+
37
+ return {
38
+ host: @driver.ip_address,
39
+ port: 22
40
+ }
41
+ end
42
+
43
+ def state
44
+ state_id = nil
45
+ state_id = :not_created if !@driver.uuid
46
+ state_id = @driver.read_state if !state_id
47
+ state_id = :unknown if !state_id
48
+
49
+ short = state_id.to_s.gsub("_", " ")
50
+ long = I18n.t("vagrant.commands.status.#{state_id}")
51
+
52
+ # Return the state
53
+ Vagrant::MachineState.new(state_id, short, long)
54
+ end
55
+
56
+ def to_s
57
+ id = @machine.id ? @machine.id : "new VM"
58
+ "VMWare (#{id})"
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,48 @@
1
+ module VagrantPlugins
2
+ module ProviderVMwareFree
3
+ module Util
4
+ module VMX
5
+ def vmx_parse(vmx)
6
+ vmx_file = File.open(vmx, 'rb')
7
+ contents = vmx_file.readlines
8
+ vmx_file.close
9
+
10
+ all_values(contents)
11
+ end
12
+
13
+ def vmx_save(vmx, values)
14
+ contents = create_vmx(values)
15
+ vmx_file = File.open(vmx, 'wb')
16
+ vmx_file.write(contents)
17
+ vmx_file.close
18
+ contents
19
+ end
20
+
21
+ private
22
+
23
+ def all_values(contents)
24
+ values = {}
25
+ contents.each do |line|
26
+ k, v = line.split('=')
27
+ k = k.strip
28
+ v = v.strip.gsub(/\"/, '')
29
+
30
+ values[k] = v
31
+ end
32
+
33
+ values
34
+ end
35
+
36
+ def create_vmx(values)
37
+ vmx = []
38
+
39
+ values.each do |k, v|
40
+ vmx.push(k + ' = "' + v + '"')
41
+ end
42
+
43
+ vmx.join("\n")
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ Gem::Specification.new do |g|
2
+ g.name = 'vagrant-vmware-free'
3
+ g.version = '0.0.1'
4
+ g.platform = Gem::Platform::RUBY
5
+ g.license = 'MIT'
6
+ g.authors = 'Ori Shavit'
7
+ g.email = 'ori@orishavit.com'
8
+ g.homepage = 'http://orishavit.com'
9
+ g.summary = 'A free VMWare Workstaion/Fusion Vagrant provider'
10
+ g.description = 'A free VMWare Workstaion/Fusion Vagrant provider'
11
+
12
+ g.add_runtime_dependency 'CFPropertyList', '~> 2.0'
13
+ g.add_runtime_dependency 'ffi', '~> 1.9.3'
14
+ g.add_development_dependency 'rake'
15
+ g.add_development_dependency 'pry'
16
+ g.add_development_dependency 'debugger'
17
+
18
+ g.files = `git ls-files`.split("\n")
19
+ g.require_path = 'lib'
20
+
21
+ end
metadata ADDED
@@ -0,0 +1,190 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vagrant-vmware-free
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ori Shavit
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-09-12 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: CFPropertyList
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '2.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '2.0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: ffi
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 1.9.3
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.9.3
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: pry
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: debugger
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ description: A free VMWare Workstaion/Fusion Vagrant provider
95
+ email: ori@orishavit.com
96
+ executables: []
97
+ extensions: []
98
+ extra_rdoc_files: []
99
+ files:
100
+ - .gitignore
101
+ - .ruby-version
102
+ - Gemfile
103
+ - Gemfile.lock
104
+ - LICENSE
105
+ - README.md
106
+ - Rakefile
107
+ - lib/vagrant_vmware_free.rb
108
+ - lib/vagrant_vmware_free/action.rb
109
+ - lib/vagrant_vmware_free/action/boot.rb
110
+ - lib/vagrant_vmware_free/action/check_accessible.rb
111
+ - lib/vagrant_vmware_free/action/check_created.rb
112
+ - lib/vagrant_vmware_free/action/check_guest_additions.rb
113
+ - lib/vagrant_vmware_free/action/check_running.rb
114
+ - lib/vagrant_vmware_free/action/check_virtualbox.rb
115
+ - lib/vagrant_vmware_free/action/clean_machine_folder.rb
116
+ - lib/vagrant_vmware_free/action/clear_forwarded_ports.rb
117
+ - lib/vagrant_vmware_free/action/clear_network_interfaces.rb
118
+ - lib/vagrant_vmware_free/action/clear_shared_folders.rb
119
+ - lib/vagrant_vmware_free/action/created.rb
120
+ - lib/vagrant_vmware_free/action/customize.rb
121
+ - lib/vagrant_vmware_free/action/destroy.rb
122
+ - lib/vagrant_vmware_free/action/destroy_unused_network_interfaces.rb
123
+ - lib/vagrant_vmware_free/action/discard_state.rb
124
+ - lib/vagrant_vmware_free/action/export.rb
125
+ - lib/vagrant_vmware_free/action/forced_halt.rb
126
+ - lib/vagrant_vmware_free/action/forward_ports.rb
127
+ - lib/vagrant_vmware_free/action/get_network_address.rb
128
+ - lib/vagrant_vmware_free/action/import.rb
129
+ - lib/vagrant_vmware_free/action/is_paused.rb
130
+ - lib/vagrant_vmware_free/action/is_running.rb
131
+ - lib/vagrant_vmware_free/action/is_saved.rb
132
+ - lib/vagrant_vmware_free/action/match_mac_address.rb
133
+ - lib/vagrant_vmware_free/action/message_already_running.rb
134
+ - lib/vagrant_vmware_free/action/message_not_created.rb
135
+ - lib/vagrant_vmware_free/action/message_not_running.rb
136
+ - lib/vagrant_vmware_free/action/message_will_not_destroy.rb
137
+ - lib/vagrant_vmware_free/action/network.rb
138
+ - lib/vagrant_vmware_free/action/package.rb
139
+ - lib/vagrant_vmware_free/action/package_vagrantfile.rb
140
+ - lib/vagrant_vmware_free/action/prepare_forwarded_port_collision_params.rb
141
+ - lib/vagrant_vmware_free/action/prepare_nfs_settings.rb
142
+ - lib/vagrant_vmware_free/action/prune_nfs_exports.rb
143
+ - lib/vagrant_vmware_free/action/resume.rb
144
+ - lib/vagrant_vmware_free/action/sane_defaults.rb
145
+ - lib/vagrant_vmware_free/action/set_name.rb
146
+ - lib/vagrant_vmware_free/action/set_network.rb
147
+ - lib/vagrant_vmware_free/action/setup_package_files.rb
148
+ - lib/vagrant_vmware_free/action/share_folders.rb
149
+ - lib/vagrant_vmware_free/action/suspend.rb
150
+ - lib/vagrant_vmware_free/action/wait_for_vm_tools.rb
151
+ - lib/vagrant_vmware_free/config.rb
152
+ - lib/vagrant_vmware_free/driver/base.rb
153
+ - lib/vagrant_vmware_free/driver/fusion.rb
154
+ - lib/vagrant_vmware_free/driver/fusion_6.rb
155
+ - lib/vagrant_vmware_free/driver/meta.rb
156
+ - lib/vagrant_vmware_free/driver/vix.rb
157
+ - lib/vagrant_vmware_free/driver/vix/functions.rb
158
+ - lib/vagrant_vmware_free/driver/vix/helpers.rb
159
+ - lib/vagrant_vmware_free/driver/vix/types.rb
160
+ - lib/vagrant_vmware_free/errors.rb
161
+ - lib/vagrant_vmware_free/plugin.rb
162
+ - lib/vagrant_vmware_free/provider.rb
163
+ - lib/vagrant_vmware_free/util/vmx.rb
164
+ - vagrant-vmware-free.gemspec
165
+ homepage: http://orishavit.com
166
+ licenses:
167
+ - MIT
168
+ post_install_message:
169
+ rdoc_options: []
170
+ require_paths:
171
+ - lib
172
+ required_ruby_version: !ruby/object:Gem::Requirement
173
+ none: false
174
+ requirements:
175
+ - - ! '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ requirements: []
185
+ rubyforge_project:
186
+ rubygems_version: 1.8.23
187
+ signing_key:
188
+ specification_version: 3
189
+ summary: A free VMWare Workstaion/Fusion Vagrant provider
190
+ test_files: []