vagrant-startcloud 0.1.2 → 0.1.3

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.
@@ -4,20 +4,19 @@ module VagrantPlugins
4
4
  module StartCloud
5
5
  module Action
6
6
  class ConfigureSharedFolders
7
- def initialize(app, _env)
7
+ def initialize(app, env)
8
8
  @app = app
9
+ @env = env
10
+ @machine = env[:machine]
9
11
  end
10
12
 
11
13
  def call(env)
12
- machine = env[:machine]
13
- config = machine.config.startcloud
14
+ config = @machine.config.startcloud
15
+ folders = config.folders
14
16
 
15
- if config.folders&.any?
16
- env[:ui].info('Configuring shared folders...')
17
-
18
- config.folders.each do |folder|
19
- configure_folder(machine, folder)
20
- end
17
+ if folders && !folders.empty?
18
+ @machine.ui.info I18n.t('vagrant_startcloud.configuring.folders')
19
+ configure_folders(folders)
21
20
  end
22
21
 
23
22
  @app.call(env)
@@ -25,45 +24,63 @@ module VagrantPlugins
25
24
 
26
25
  private
27
26
 
28
- def configure_folder(machine, folder)
29
- mount_opts = folder['type'] == 'virtualbox' ? ['actimeo=1'] : []
27
+ def configure_folders(folders)
28
+ folders.each do |folder|
29
+ next if folder['disabled']
30
+
31
+ options = build_folder_options(folder)
30
32
 
31
- machine.config.vm.synced_folder(
32
- folder['map'],
33
- folder['to'],
33
+ begin
34
+ @machine.config.vm.synced_folder(
35
+ folder['map'],
36
+ folder['to'],
37
+ **options
38
+ )
39
+ rescue StandardError => e
40
+ @machine.ui.error I18n.t('vagrant_startcloud.errors.folder_error',
41
+ error: e.message)
42
+ end
43
+ end
44
+ end
45
+
46
+ def build_folder_options(folder)
47
+ options = {
34
48
  type: folder['type'],
35
- owner: folder['owner'] || machine.config.startcloud.settings['vagrant_user'],
36
- group: folder['group'] || machine.config.startcloud.settings['vagrant_user'],
37
- mount_options: mount_opts,
38
- automount: folder['automount'] || true,
39
- scp__args: folder['args'],
40
- rsync__args: folder['args'] || ['--verbose', '--archive', '-z', '--copy-links'],
41
- rsync__chown: folder['chown'] || false,
42
- create: folder['create'] || false,
43
- rsync__rsync_ownership: folder['rsync_ownership'] || true,
44
- disabled: folder['disabled'] || false
45
- )
49
+ owner: folder['owner'],
50
+ group: folder['group'],
51
+ mount_options: get_mount_options(folder),
52
+ automount: true
53
+ }
46
54
 
47
- # Configure syncback if enabled and scp-sync plugin is available
48
- return unless folder['syncback'] && Vagrant.has_plugin?('vagrant-scp-sync')
55
+ # Add type-specific options
56
+ case folder['type']
57
+ when 'rsync'
58
+ options.merge!(
59
+ rsync__args: folder['args'] || ['--verbose', '--archive', '-z', '--copy-links'],
60
+ rsync__chown: folder['chown'] || false,
61
+ rsync__rsync_ownership: folder['rsync_ownership'] || true
62
+ )
63
+ when 'nfs'
64
+ options[:mount_options] = ['actimeo=1'] if options[:mount_options].empty?
65
+ end
49
66
 
50
- configure_syncback(machine, folder)
67
+ # Remove nil values
68
+ options.compact
51
69
  end
52
70
 
53
- def configure_syncback(machine, folder)
54
- settings = machine.config.startcloud.settings
55
- prefix = "==> #{settings['server_id']}--#{settings['hostname']}.#{settings['domain']}:"
71
+ def get_mount_options(folder)
72
+ mount_opts = []
56
73
 
57
- machine.config.trigger.after :rsync, type: :command do |trigger|
58
- trigger.info = 'Using SCP to sync from Guest to Host'
59
- trigger.ruby do |_env, _machine|
60
- guest_path = folder['to']
61
- host_path = folder['map'].split(%r{(?<=/)[^/]*$}).last
62
- transfer_cmd = "vagrant scp :#{guest_path} #{host_path}"
63
- puts "#{prefix} #{transfer_cmd}"
64
- system(transfer_cmd)
65
- end
74
+ # Add type-specific mount options
75
+ case folder['type']
76
+ when 'nfs'
77
+ mount_opts << 'actimeo=1'
66
78
  end
79
+
80
+ # Add custom mount options if specified
81
+ mount_opts.concat(Array(folder['mount_options'])) if folder['mount_options']
82
+
83
+ mount_opts
67
84
  end
68
85
  end
69
86
  end
@@ -6,26 +6,14 @@ module VagrantPlugins
6
6
  class IsCreated
7
7
  def initialize(app, _env)
8
8
  @app = app
9
- @logger = Log4r::Logger.new('vagrant_startcloud::action::is_created')
10
9
  end
11
10
 
12
11
  def call(env)
13
- machine = env[:machine]
14
- state_id = machine.state.id
15
-
16
- @logger.debug("Checking if machine '#{machine.name}' is created (state: #{state_id})")
17
-
18
- # Consider the machine created if it's in any state other than :not_created
19
- env[:result] = state_id != :not_created
20
-
21
- @logger.info("Machine '#{machine.name}' is #{env[:result] ? '' : 'not '}created")
12
+ # Set the result to be true if the machine is created
13
+ env[:result] = env[:machine].state.id != :not_created
22
14
 
23
15
  # Call the next middleware
24
16
  @app.call(env)
25
- rescue StandardError => e
26
- @logger.error("Error checking machine state: #{e.message}")
27
- @logger.error(e.backtrace.join("\n"))
28
- raise Errors::VMConfigurationError, error: e.message
29
17
  end
30
18
  end
31
19
  end
@@ -6,26 +6,15 @@ module VagrantPlugins
6
6
  class IsVirtualBox
7
7
  def initialize(app, _env)
8
8
  @app = app
9
- @logger = Log4r::Logger.new('vagrant_startcloud::action::is_virtualbox')
10
9
  end
11
10
 
12
11
  def call(env)
13
- machine = env[:machine]
14
- provider_name = machine.provider_name
15
-
16
- @logger.debug("Checking if machine '#{machine.name}' uses VirtualBox provider (current: #{provider_name})")
17
-
18
- # Check if the provider is VirtualBox
19
- env[:result] = provider_name == :virtualbox
20
-
21
- @logger.info("Machine '#{machine.name}' is #{env[:result] ? '' : 'not '}using VirtualBox provider")
12
+ # Set the result to be true if the provider is VirtualBox
13
+ provider = env[:machine].provider_name
14
+ env[:result] = provider == :virtualbox
22
15
 
23
16
  # Call the next middleware
24
17
  @app.call(env)
25
- rescue StandardError => e
26
- @logger.error("Error checking provider: #{e.message}")
27
- @logger.error(e.backtrace.join("\n"))
28
- raise Errors::ProviderConfigurationError, error: e.message
29
18
  end
30
19
  end
31
20
  end
@@ -7,61 +7,114 @@ module VagrantPlugins
7
7
  module Action
8
8
  include Vagrant::Action::Builtin
9
9
 
10
- def self.configure_machine
11
- Vagrant::Action::Builder.new.tap do |b|
12
- b.use ConfigValidate
13
- b.use Call, IsCreated do |env, b2|
14
- unless env[:result]
15
- b2.use HandleBox
16
- b2.use Import
10
+ class << self
11
+ def configure_machine
12
+ @configure_machine ||= Vagrant::Action::Builder.new.tap do |b|
13
+ b.use ConfigValidate
14
+ b.use Call, IsCreated do |env, b2|
15
+ unless env[:result]
16
+ b2.use HandleBox
17
+ b2.use Import
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ def configure_networks
24
+ @configure_networks ||= Vagrant::Action::Builder.new.tap do |b|
25
+ b.use Call, IsVirtualBox do |env, b2|
26
+ if env[:result]
27
+ b2.use ConfigureNetworks, provider: :virtualbox
28
+ else
29
+ b2.use ConfigureNetworks, provider: :zones
30
+ end
17
31
  end
32
+ end
33
+ end
18
34
 
19
- b2.use Call, IsVirtualBox do |env2, b3|
20
- if env2[:result]
21
- b3.use ConfigureNetworks, provider: :virtualbox
35
+ def configure_providers
36
+ @configure_providers ||= Vagrant::Action::Builder.new.tap do |b|
37
+ b.use Call, IsVirtualBox do |env, b2|
38
+ if env[:result]
39
+ b2.use ConfigureProviders, provider: :virtualbox
22
40
  else
23
- b3.use ConfigureNetworks, provider: :zone
41
+ b2.use ConfigureProviders, provider: :zones
24
42
  end
25
43
  end
44
+ end
45
+ end
26
46
 
27
- b2.use Provision
47
+ def configure_shared_folders
48
+ @configure_shared_folders ||= Vagrant::Action::Builder.new.tap do |b|
49
+ b.use ConfigureSharedFolders
28
50
  end
29
51
  end
30
- end
31
52
 
32
- def self.action_halt
33
- Vagrant::Action::Builder.new.tap do |b|
34
- b.use ConfigValidate
35
- b.use Call, IsCreated do |env, b2|
36
- if env[:result]
37
- b2.use Call, IsVirtualBox do |env2, b3|
38
- if env2[:result]
39
- b3.use VagrantPlugins::ProviderVirtualBox::Action::GracefulHalt
40
- else
41
- b3.use VagrantPlugins::ProviderZone::Action::GracefulHalt
53
+ def action_up
54
+ Vagrant::Action::Builder.new.tap do |b|
55
+ b.use configure_machine
56
+ b.use configure_providers
57
+ b.use Call, IsVirtualBox do |env, b2|
58
+ if env[:result]
59
+ b2.use ConfigureDisks, provider: :virtualbox
60
+ else
61
+ b2.use ConfigureDisks, provider: :zones
62
+ end
63
+ end
64
+ b.use configure_networks
65
+ b.use configure_shared_folders
66
+ end
67
+ end
68
+
69
+ def action_reload
70
+ action_up
71
+ end
72
+
73
+ def action_halt
74
+ Vagrant::Action::Builder.new.tap do |b|
75
+ b.use ConfigValidate
76
+ b.use Call, IsCreated do |env, b2|
77
+ if env[:result]
78
+ b2.use Call, IsVirtualBox do |env2, b3|
79
+ if env2[:result]
80
+ b3.use VagrantPlugins::ProviderVirtualBox::Action::GracefulHalt
81
+ else
82
+ b3.use VagrantPlugins::ProviderZone::Action::GracefulHalt
83
+ end
42
84
  end
85
+ b2.use PowerOff
43
86
  end
44
- b2.use PowerOff
45
87
  end
46
88
  end
47
89
  end
48
- end
49
90
 
50
- def self.action_destroy
51
- Vagrant::Action::Builder.new.tap do |b|
52
- b.use ConfigValidate
53
- b.use Call, IsCreated do |env, b2|
54
- if env[:result]
55
- b2.use action_halt
56
- b2.use Call, IsVirtualBox do |env2, b3|
57
- if env2[:result]
58
- b3.use VagrantPlugins::ProviderVirtualBox::Action::Destroy
59
- else
60
- b3.use VagrantPlugins::ProviderZone::Action::Destroy
91
+ def action_destroy
92
+ Vagrant::Action::Builder.new.tap do |b|
93
+ b.use ConfigValidate
94
+ b.use Call, IsCreated do |env, b2|
95
+ if env[:result]
96
+ b2.use action_halt
97
+ b2.use Call, IsVirtualBox do |env2, b3|
98
+ if env2[:result]
99
+ b3.use VagrantPlugins::ProviderVirtualBox::Action::Destroy
100
+ else
101
+ b3.use VagrantPlugins::ProviderZone::Action::Destroy
102
+ end
61
103
  end
104
+ b2.use CleanupNetworks
105
+ b2.use ProvisionerCleanup
62
106
  end
63
- b2.use CleanupNetworks
64
- b2.use ProvisionerCleanup
107
+ end
108
+ end
109
+ end
110
+
111
+ def with_target_vms(machine_name = nil, **opts, &block)
112
+ env = opts.fetch(:env, Vagrant::Environment.new)
113
+ env.machine_names = [machine_name] if machine_name
114
+
115
+ env.batch(parallel: true) do |batch|
116
+ env.active_machines.each do |name, provider|
117
+ batch.action(env.machine(name, provider), :up, &block)
65
118
  end
66
119
  end
67
120
  end
@@ -70,20 +123,11 @@ module VagrantPlugins
70
123
  # Load middleware classes
71
124
  action_root = Pathname.new(File.expand_path('action', __dir__))
72
125
  autoload :ConfigureNetworks, action_root.join('configure_networks')
126
+ autoload :ConfigureProviders, action_root.join('configure_providers')
127
+ autoload :ConfigureSharedFolders, action_root.join('configure_shared_folders')
128
+ autoload :ConfigureDisks, action_root.join('configure_disks')
73
129
  autoload :IsCreated, action_root.join('is_created')
74
130
  autoload :IsVirtualBox, action_root.join('is_virtualbox')
75
-
76
- # Helper methods
77
- def self.with_target_vms(machine_name = nil, **opts, &block)
78
- env = opts.fetch(:env, Vagrant::Environment.new)
79
- env.machine_names = [machine_name] if machine_name
80
-
81
- env.batch(parallel: true) do |batch|
82
- env.active_machines.each do |name, provider|
83
- batch.action(env.machine(name, provider), :up, &block)
84
- end
85
- end
86
- end
87
131
  end
88
132
  end
89
133
  end
@@ -26,17 +26,16 @@ module VagrantPlugins
26
26
  def validate(_machine)
27
27
  errors = _detected_errors
28
28
 
29
- errors << I18n.t('vagrant_startcloud.config.config_not_found', path: @config_path) if @config_path && !File.exist?(@config_path)
29
+ errors << "Configuration file '#{@config_path}' does not exist" if @config_path && !File.exist?(@config_path)
30
30
 
31
31
  if @settings.empty?
32
- errors << I18n.t('vagrant_startcloud.config.no_settings')
32
+ errors << 'No settings defined in configuration'
33
33
  return { 'StartCloud configuration' => errors }
34
34
  end
35
35
 
36
36
  required_settings = %w[hostname domain server_id box]
37
37
  missing_settings = required_settings - @settings.keys
38
-
39
- errors << I18n.t('vagrant_startcloud.config.missing_required', fields: missing_settings.join(', ')) unless missing_settings.empty?
38
+ errors << "Missing required settings: #{missing_settings.join(', ')}" unless missing_settings.empty?
40
39
 
41
40
  { 'StartCloud configuration' => errors }
42
41
  end
@@ -44,21 +43,86 @@ module VagrantPlugins
44
43
  def load_config(machine)
45
44
  return unless @config_path && File.exist?(@config_path)
46
45
 
47
- config = YAML.load_file(@config_path)
48
- return unless config && config['hosts']
49
-
50
- host = config['hosts'].first
51
- @settings = host['settings'] || {}
52
- @networks = host['networks'] || []
53
- @disks = host['disks'] || {}
54
- @provisioning = host['provisioning'] || {}
55
- @folders = host['folders'] || []
56
- @roles = host['roles'] || []
57
- @vars = host['vars'] || {}
58
- @plugins = host['plugins'] || {}
59
- @zones = host['zones'] || {}
60
- rescue StandardError => e
61
- machine.ui.error(I18n.t('vagrant_startcloud.config.yaml_error', error: e.message))
46
+ begin
47
+ yaml_config = YAML.load_file(@config_path)
48
+ return unless yaml_config && yaml_config['hosts']
49
+
50
+ host = yaml_config['hosts'].first
51
+
52
+ # Load all configuration sections
53
+ @settings = host['settings'] || {}
54
+ @networks = host['networks'] || []
55
+ @disks = host['disks'] || {}
56
+ @provisioning = host['provisioning'] || {}
57
+ @folders = host['folders'] || []
58
+ @roles = host['roles'] || []
59
+ @vars = host['vars'] || {}
60
+ @plugins = host['plugins'] || {}
61
+ @zones = host['zones'] || {}
62
+
63
+ # Configure plugins if specified
64
+ configure_plugins(host['plugins']) if host['plugins']
65
+
66
+ # Configure provider-specific settings
67
+ configure_provider(machine, host) if @settings['provider_type']
68
+ rescue StandardError => e
69
+ raise Errors::YAMLParseError, _key: :yaml_error, error: e.message
70
+ end
71
+ end
72
+
73
+ private
74
+
75
+ def configure_provider(machine, host)
76
+ provider_type = @settings['provider_type'].to_sym
77
+
78
+ machine.vm.provider provider_type do |provider|
79
+ case provider_type
80
+ when :virtualbox
81
+ configure_virtualbox(provider, host)
82
+ when :zones
83
+ configure_zones(provider, host)
84
+ end
85
+ end
86
+ end
87
+
88
+ def configure_virtualbox(provider, host)
89
+ settings = host['settings']
90
+ memory = if settings['memory'].to_s =~ /gb|g/i
91
+ 1024 * settings['memory'].to_s.tr('^0-9', '').to_i
92
+ else
93
+ settings['memory'].to_s.tr('^0-9', '').to_i
94
+ end
95
+
96
+ provider.name = "#{settings['server_id']}--#{settings['hostname']}.#{settings['domain']}"
97
+ provider.gui = settings['show_console']
98
+ provider.memory = memory if memory.positive?
99
+ provider.cpus = settings['vcpus']
100
+ end
101
+
102
+ def configure_zones(provider, host)
103
+ settings = host['settings']
104
+ zones = host['zones']
105
+
106
+ provider.hostname = "#{settings['hostname']}.#{settings['domain']}"
107
+ provider.brand = zones['brand']
108
+ provider.memory = settings['memory']
109
+ provider.cpus = settings['vcpus']
110
+ end
111
+
112
+ def configure_plugins(plugins)
113
+ return unless plugins
114
+
115
+ plugins['install']&.each do |plugin|
116
+ unless Vagrant.has_plugin?(plugin['name'])
117
+ system("vagrant plugin install #{plugin['name']}" + (plugin['version'] == 'latest' ? '' : " --plugin-version #{plugin['version']}"))
118
+ end
119
+ end
120
+
121
+ return unless plugins['remove']
122
+
123
+ plugins['remove'].each do |plugin|
124
+ system("vagrant plugin uninstall #{plugin['name']}") if Vagrant.has_plugin?(plugin['name'])
125
+ end
62
126
  end
63
127
  end
64
128
  end
@@ -27,27 +27,43 @@ module VagrantPlugins
27
27
  Provisioner
28
28
  end
29
29
 
30
- # Register command
31
- command(:startcloud) do
32
- require_relative 'command'
33
- [VagrantPlugins::StartCloud::Command, { primary: true }]
30
+ # Register action hooks
31
+ action_hook(:startcloud_up, :machine_action_up) do |hook|
32
+ require_relative 'action'
33
+ hook.after(Vagrant::Action::Builtin::Provision, Action.action_up)
34
34
  end
35
35
 
36
- # Register action hooks
37
- action_hook(:startcloud_configure, :machine_action_up) do |hook|
36
+ action_hook(:startcloud_reload, :machine_action_reload) do |hook|
38
37
  require_relative 'action'
39
- hook.before(Vagrant::Action::Builtin::ConfigValidate, Action.configure_machine)
38
+ hook.after(Vagrant::Action::Builtin::Provision, Action.action_reload)
40
39
  end
41
40
 
42
- # Register provider capabilities
43
- provider_capability(:virtualbox, :configure_networks) do
44
- require_relative 'action/configure_networks'
45
- Action::ConfigureNetworks
41
+ action_hook(:startcloud_halt, :machine_action_halt) do |hook|
42
+ require_relative 'action'
43
+ hook.after(Vagrant::Action::Builtin::GracefulHalt, Action.action_halt)
44
+ end
45
+
46
+ action_hook(:startcloud_destroy, :machine_action_destroy) do |hook|
47
+ require_relative 'action'
48
+ hook.after(Vagrant::Action::Builtin::DestroyConfirm, Action.action_destroy)
46
49
  end
47
50
 
48
- provider_capability(:zones, :configure_networks) do
49
- require_relative 'action/configure_networks'
50
- Action::ConfigureNetworks
51
+ # Register provider capabilities
52
+ %i[virtualbox zones].each do |provider|
53
+ provider_capability(provider, :configure_networks) do
54
+ require_relative 'action/configure_networks'
55
+ Action::ConfigureNetworks
56
+ end
57
+
58
+ provider_capability(provider, :configure_disks) do
59
+ require_relative 'action/configure_disks'
60
+ Action::ConfigureDisks
61
+ end
62
+
63
+ provider_capability(provider, :configure_provider) do
64
+ require_relative 'action/configure_providers'
65
+ Action::ConfigureProviders
66
+ end
51
67
  end
52
68
 
53
69
  # Plugin registration
@@ -73,7 +89,6 @@ module VagrantPlugins
73
89
  c = Vagrant::Plugin::V2::Components.new
74
90
  c.configs[:top].register(:startcloud) { Config }
75
91
  c.configs[:provisioner].register(:startcloud) { Config }
76
- c.commands.register(:startcloud) { [Command, { primary: true }] }
77
92
  c.provisioners.register(:startcloud) { Provisioner }
78
93
  c
79
94
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module VagrantPlugins
4
4
  module StartCloud
5
- VERSION = '0.1.2'
5
+ VERSION = '0.1.3'
6
6
  end
7
7
  end
@@ -3,6 +3,59 @@
3
3
  require 'pathname'
4
4
  require 'i18n'
5
5
  require 'vagrant'
6
+ require 'yaml'
7
+
8
+ # Top-level module for the plugin
9
+ module StartCloud
10
+ def self.configure(config, settings_file = 'Hosts.yml')
11
+ unless File.exist?(settings_file)
12
+ raise Vagrant::Errors::VagrantError.new(
13
+ error_message: "StartCloud configuration file not found: #{settings_file}"
14
+ )
15
+ end
16
+
17
+ yaml_config = YAML.load_file(settings_file)
18
+ return unless yaml_config && yaml_config['hosts']
19
+
20
+ # Configure each VM defined in hosts
21
+ yaml_config['hosts'].each do |host|
22
+ settings = host['settings']
23
+ hostname = "#{settings['hostname']}.#{settings['domain']}"
24
+ vm_name = "#{settings['server_id']}--#{hostname}"
25
+
26
+ config.vm.define vm_name do |machine|
27
+ # Configure the StartCloud plugin first
28
+ machine.startcloud.config_path = settings_file
29
+ machine.startcloud.settings = settings
30
+ machine.startcloud.networks = host['networks'] || []
31
+ machine.startcloud.disks = host['disks'] || {}
32
+ machine.startcloud.folders = host['folders'] || []
33
+ machine.startcloud.roles = host['roles'] || []
34
+ machine.startcloud.vars = host['vars'] || {}
35
+ machine.startcloud.plugins = host['plugins'] || {}
36
+ machine.startcloud.zones = host['zones'] || {}
37
+
38
+ # Set basic VM settings
39
+ machine.vm.box = settings['box']
40
+ machine.vm.hostname = hostname
41
+ machine.vm.boot_timeout = settings['setup_wait'] if settings['setup_wait']
42
+
43
+ # Configure SSH settings
44
+ if settings['vagrant_user']
45
+ machine.ssh.username = settings['vagrant_user']
46
+ machine.ssh.private_key_path = settings['vagrant_user_private_key_path'] if settings['vagrant_user_private_key_path']
47
+ end
48
+ machine.ssh.insert_key = false
49
+ machine.ssh.forward_agent = true
50
+
51
+ # Set provider
52
+ machine.vm.provider settings['provider_type'].to_sym do |provider|
53
+ provider.name = vm_name if provider.respond_to?(:name=)
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
6
59
 
7
60
  module VagrantPlugins
8
61
  module StartCloud
@@ -12,7 +65,6 @@ module VagrantPlugins
12
65
  require lib_path.join('version')
13
66
  require lib_path.join('errors')
14
67
  require lib_path.join('config')
15
- require lib_path.join('command')
16
68
  require lib_path.join('provisioner')
17
69
  require lib_path.join('config_builder')
18
70
  require lib_path.join('action')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-startcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Gilbert
@@ -201,6 +201,7 @@ files:
201
201
  - README.md
202
202
  - lib/vagrant-startcloud.rb
203
203
  - lib/vagrant-startcloud/action.rb
204
+ - lib/vagrant-startcloud/action/configure_disks.rb
204
205
  - lib/vagrant-startcloud/action/configure_networks.rb
205
206
  - lib/vagrant-startcloud/action/configure_providers.rb
206
207
  - lib/vagrant-startcloud/action/configure_provisioners.rb