vagrant-arubacloud 0.0.4 → 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.
@@ -17,17 +17,21 @@ module VagrantPlugins
17
17
 
18
18
  def call(env)
19
19
  if env[:machine].id
20
- env[:ui].info(I18n.t('vagrant_arubacloud.halting_server'))
20
+ config = env[:machine].provider_config
21
+ arubacloud_dc = config.endpoint
22
+ env[:ui].info(" [#{arubacloud_dc}] " + I18n.t('vagrant_arubacloud.halting_server'))
21
23
  server = env[:arubacloud_compute].servers.get(env[:machine].id)
22
24
 
23
25
  # Check if the vm is already powered off
24
26
  @logger.debug("VM stopped?: #{server.stopped?}")
25
27
  if server.stopped?
26
28
  # continue the middleware
29
+ @logger.debug("VM is stopped ...")
27
30
  @app.call(env)
28
31
  else
29
32
  # Try to poweroff the VM.
30
33
  begin
34
+ @logger.debug("before make do power_off ...")
31
35
  server.power_off
32
36
  rescue Fog::ArubaCloud::Errors::VmStatus
33
37
  env[:ui].warn(I18n.t('vagrant_arubacloud.bad_state'))
@@ -40,10 +44,12 @@ module VagrantPlugins
40
44
  end
41
45
 
42
46
  # Wait for the server to be proper shut down
43
- retryable(:tries => 20, :sleep => 1) do
44
- server.wait_for(1) { stopped? }
47
+ @logger.debug("after do power_off wait status stopped .......")
48
+ env[:ui].info(" [#{arubacloud_dc}] " + I18n.t('vagrant_arubacloud.waiting_server_powered_off'))
49
+ retryable(:tries => 30, :sleep => 2) do
50
+ server.wait_for(2) { stopped? }
45
51
  end
46
- env[:ui].info(I18n.t('vagrant_arubacloud.server_powered_off'))
52
+ env[:ui].info(" [#{arubacloud_dc}] " + I18n.t('vagrant_arubacloud.server_powered_off'))
47
53
  end
48
54
  end
49
55
 
@@ -2,19 +2,48 @@ module VagrantPlugins
2
2
  module ArubaCloud
3
3
  module Action
4
4
  class ListServers
5
- def initialize(app, env)
5
+
6
+ def initialize(app, env)
6
7
  @app = app
7
- end
8
+ end
8
9
 
9
- def call(env)
10
+ def call(env )
11
+ config = env[:machine].provider_config
12
+ arubacloud_dc = config.endpoint
10
13
  compute_service = env[:arubacloud_compute]
11
- env[:ui].info ('%-20s %-20s %s' % ['Server Name', 'State', 'IPv4 address'])
12
- compute_service.servers.sort_by(&:name).each do |server|
13
- # Ask fog for the full details list
14
+
15
+ vm_in_dc = compute_service.servers
16
+ server_fnd = vm_in_dc.select{ |s| (s.id).to_i == (env[:machine].id).to_i }
17
+
18
+ if server_fnd && server_fnd.length == 1
19
+ server = server_fnd[0]
14
20
  server.get_server_details
15
- # Output the result
16
- env[:ui].info ('%-20s %-20s %s' % [server.name, server.state, server.smart_ipv4])
21
+ env[:machine].ui.info('%-6s %-20s %-8s %-12s %-14s %s' % [arubacloud_dc, server.name, server.id, server.state, Fog::ArubaCloud::Compute::Server::STATE_DES[server.state], server.smart_ipv4] )
17
22
  end
23
+
24
+ if config.reserved_status == "other"
25
+ #
26
+ # output all info relate VM found in current DC , but not found in '.vagrant' directory
27
+ #
28
+ ll = env[:machine].name.length
29
+ ui_ext = Vagrant::UI::Prefixed.new( Vagrant::UI::Colored.new, "-".center(ll) )
30
+ if server && server.name
31
+ config.reserved_list_owned << server.name
32
+ end
33
+ server_xs = vm_in_dc.select{ |s| not (config.reserved_list_owned.include? s.name)}
34
+ server_xs.sort_by(&:name).each do |server|
35
+ server.get_server_details
36
+ ui_ext.detail('%-6s %-20s %-8s %-12s %-14s %s' % [arubacloud_dc, server.name, server.id, server.state, Fog::ArubaCloud::Compute::Server::STATE_DES[server.state], server.smart_ipv4] )
37
+ end
38
+ config.reserved_list_owned = []
39
+ else
40
+ if server && server.name
41
+ config.reserved_list_owned = server.name
42
+ else
43
+ config.reserver_list_owned = ""
44
+ end
45
+ end
46
+
18
47
  @app.call(env)
19
48
  end
20
49
  end
@@ -7,10 +7,12 @@ module VagrantPlugins
7
7
  end
8
8
 
9
9
  def call(env)
10
+ config = env[:machine].provider_config
11
+ arubacloud_dc = config.endpoint
10
12
  compute_service = env[:arubacloud_compute]
11
- env[:ui].info ('%-40s %-60s %-20s %s' % ['Template Name', 'Description', 'ID', 'Hypervisor ID'])
13
+ env[:ui].info ('%-5s %-40s %-60s %-20s %s' % ['DC', 'Template Name', 'Description', 'ID', 'Hypervisor ID'])
12
14
  compute_service.templates.sort_by(&:hypervisor).each do |template|
13
- env[:ui].info ('%-40s %-60s %-20s %s' % [template.name,
15
+ env[:ui].info ('%-5s %-40s %-60s %-20s %s' % [arubacloud_dc, template.name,
14
16
  template.description,
15
17
  template.id,
16
18
  enum_hypervisor_id(template.hypervisor)])
@@ -24,7 +24,7 @@ module VagrantPlugins
24
24
  server = arubacloud.servers.get(machine.id)
25
25
  if server.nil?
26
26
  # The machine can't be found
27
- @logger.info("'Machine couldn't be found, assuming it got destroyed.")
27
+ @logger.info("Machine couldn't be found, assuming it got destroyed.")
28
28
  machine.id = nil
29
29
  nil
30
30
  else
@@ -40,4 +40,4 @@ module VagrantPlugins
40
40
  end # ReadSSHInfo
41
41
  end # Action
42
42
  end # ArubaCloud
43
- end # VagrantPlugins
43
+ end # VagrantPlugins
@@ -13,9 +13,6 @@ module VagrantPlugins
13
13
  end
14
14
 
15
15
  def call(env)
16
- # env[:ui].output(":machine_state_id: #{env[:machine_state_id]}")
17
- # env[:ui].output(":arubacloud_compute: #{env[:arubacloud_compute]}")
18
- # env[:ui].output(":machine: #{env[:machine]}")
19
16
  env[:machine_state_id] = read_state(env[:arubacloud_compute], env[:machine])
20
17
  @app.call(env)
21
18
  end
@@ -0,0 +1,59 @@
1
+ require 'log4r'
2
+ require 'vagrant/util/retryable'
3
+ require 'fog/arubacloud/error'
4
+ require 'optparse'
5
+
6
+ module VagrantPlugins
7
+ module ArubaCloud
8
+ module Action
9
+ # This stop a server, if it exists
10
+ class StartServer
11
+ include Vagrant::Util::Retryable
12
+
13
+ def initialize(app, env)
14
+ @app = app
15
+ @env = env
16
+ @logger = Log4r::Logger.new('vagrant_arubacloud::action::start_server')
17
+ end
18
+
19
+ def call(env)
20
+ if env[:machine].id
21
+ config = env[:machine].provider_config
22
+ arubacloud_dc = config.endpoint
23
+
24
+ env[:ui].info(" [#{arubacloud_dc}] " + I18n.t('vagrant_arubacloud.starting_server'))
25
+ server = env[:arubacloud_compute].servers.get(env[:machine].id)
26
+ # Check if the vm is already powered on
27
+ @logger.debug("VM ready?: #{server.ready?}")
28
+ if server.ready?
29
+ # continue the middleware
30
+ @app.call(env)
31
+ else
32
+ # Try to power-on the VM.
33
+ begin
34
+ server.power_on
35
+ rescue Fog::ArubaCloud::Errors::VmStatus
36
+ env[:ui].warn(I18n.t('vagrant_arubacloud.bad_state'))
37
+ return
38
+ rescue Fog::ArubaCloud::Errors::RequestError => e
39
+ if e.response['ResultCode'].eql? 17
40
+ env[:ui].warn(I18n.t('vagrant_arubacloud.operation_already_in_queue'))
41
+ return
42
+ end
43
+ end
44
+
45
+ # Wait for the server to be proper started and up
46
+ env[:ui].info(" [#{arubacloud_dc}] " + I18n.t('vagrant_arubacloud.waiting_server_powered_on'))
47
+ retryable(:tries => 40, :sleep => 2) do
48
+ server.wait_for(1) { ready? }
49
+ end
50
+ env[:ui].info(" [#{arubacloud_dc}] " + I18n.t('vagrant_arubacloud.server_powered_on'))
51
+ end
52
+ end
53
+
54
+ @app.call(env)
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -7,7 +7,6 @@ module VagrantPlugins
7
7
  def self.synopsis
8
8
  'query ArubaCloud for servers and templates'
9
9
  end
10
-
11
10
  def initialize(argv, env)
12
11
  @main_args, @sub_command, @sub_args = split_main_and_subcommand(argv)
13
12
  @env = env
@@ -1,3 +1,5 @@
1
+ require 'pp'
2
+
1
3
  module VagrantPlugins
2
4
  module ArubaCloud
3
5
  module Command
@@ -5,14 +7,40 @@ module VagrantPlugins
5
7
  def execute
6
8
  options = {}
7
9
  opts = OptionParser.new do |o|
8
- o.banner = 'Usage: vagrant arubacloud templates [options]'
10
+ o.banner = 'Usage: vagrant arubacloud servers [options]'
9
11
  end
10
-
11
12
  argv = parse_options(opts)
12
13
  return unless argv
13
14
 
14
- with_target_vms(argv, :provider => :arubacloud) do |machine|
15
+ vm_count = 1
16
+ vm_list = Array.new
17
+ vm_size = 0
18
+
19
+ with_target_vms(argv, :provider => :arubacloud , :plist => '1' ) do |machine|
20
+ if vm_count == 1
21
+ ll = machine.name.length
22
+ ui_ext = Vagrant::UI::Prefixed.new( Vagrant::UI::Colored.new, " "*ll )
23
+ ui_ext.opts = { :color => :white, :bold => true }
24
+ ui_ext.detail ('%-6s %-20s %-8s %-12s %-14s %s' % ['DC', 'Server Name', ' Id ', 'State Code', 'State meaning', 'IPv4 address'])
25
+ ui_ext.detail ("-" * 80)
26
+ # vm_size : how many vm are in .vagrant directory (is default)
27
+ # status : 'owned' all VM defined in my '.vagrant' directory
28
+ machine.provider_config.reserved_status = "owned"
29
+ vm_size = machine.config.vm.defined_vm_keys.length
30
+ end
31
+ if (vm_count == vm_size)
32
+ # if last element change 'status' to 'other' to output list of all external VM in current DC
33
+ # and send list all VM's ( server.name) founds in '.vagrant' directory
34
+ machine.provider_config.reserved_status = "other"
35
+ machine.provider_config.reserved_list_owned = vm_list
36
+ end
37
+
15
38
  machine.action('list_servers')
39
+ vm_count += 1
40
+ # accum in append current server-name returned by list_server only if exist
41
+ if machine.provider_config.reserved_list_owned
42
+ vm_list << machine.provider_config.reserved_list_owned
43
+ end
16
44
  end
17
45
  end
18
46
  end
@@ -0,0 +1,175 @@
1
+ require 'optparse'
2
+ require 'vagrant-arubacloud/action'
3
+ require 'fog/arubacloud'
4
+
5
+ module VagrantPlugins
6
+ module Command
7
+ class Snapshot < Vagrant.plugin('2', :command)
8
+ def self.synopsis
9
+ 'implement snapshot for vagrant-arubacloud '
10
+ end
11
+ def execute
12
+ options = {:snapop => nil, :namevm => nil}
13
+ myparser = OptionParser.new do |opts|
14
+ opts.banner = "Usage: vagrant snapshot -t [create|delete|restore|list] -n name_server"
15
+ opts.on('-n', '--name name', 'Name server of virtual machine') do |name|
16
+ options[:namevm] = name;
17
+ end
18
+ opts.on('-t', '--type type', 'Type of snapshot : create|delete|restore|list') do |type|
19
+ options[:snapop] = type;
20
+ end
21
+ opts.on('-h', '--help', 'Displays Help') do
22
+ puts opts
23
+ return
24
+ end
25
+ end
26
+
27
+ myparser.parse!
28
+
29
+ if options[:namevm] == nil
30
+ puts 'Name of VM is missing'
31
+ return
32
+ end
33
+ if options[:snapop] == nil
34
+ puts "Type of action: 'create,delete,restore,list' is missing"
35
+ return
36
+ end
37
+ ck1 = ["create", "delete", "restore", "list"].include? options[:snapop]
38
+ if !ck1
39
+ puts 'Valid option type are: create,delete,restore,list '
40
+ return
41
+ end
42
+
43
+ not_found = true
44
+ with_target_vms( nil, :provider => :arubacloud) do |machine|
45
+ # if not machine.id....
46
+ if machine.id == nil
47
+ next
48
+ end
49
+ config1 = machine.provider_config
50
+ #if no url in config....
51
+ unless config1.url
52
+ machine.ui.info(" [dc?] " + I18n.t('vagrant_arubacloud.wrong_dc'))
53
+ return
54
+ end
55
+
56
+ arubacloud_dc = config1.endpoint
57
+ myprefix = "[#{arubacloud_dc}] "
58
+ params = {
59
+ :provider => :arubacloud,
60
+ :arubacloud_username => config1.arubacloud_username,
61
+ :arubacloud_password => config1.arubacloud_password,
62
+ :url => config1.url
63
+ }
64
+
65
+ envx = Fog::Compute.new params
66
+ server = envx.servers.get(machine.id)
67
+ if server.name == options[:namevm]
68
+
69
+ machine.ui.info(myprefix + I18n.t('vagrant_arubacloud.connect_to_dc'))
70
+ machine.ui.info(myprefix + I18n.t('vagrant_arubacloud.snapshot_req_type') + " '#{options[:snapop]}'" + " target id:#{machine.id}" )
71
+ not_found = false
72
+ case options[:snapop]
73
+ # output if exist date creation and date expire for snapshot
74
+ when "list"
75
+ begin
76
+ myreq = server.list_snapshot
77
+ if myreq["Success"]
78
+ machine.ui.info(myprefix + 'snapshot ' + I18n.t('vagrant_arubacloud.snapshot_info_create') + " #{myreq['credate']} " + I18n.t('vagrant_arubacloud.snapshot_info_expired') + " #{myreq['expdate']} " )
79
+ else
80
+ machine.ui.warn(myprefix + I18n.t('vagrant_arubacloud.snapshot_info_not_found'))
81
+ end
82
+ rescue Fog::ArubaCloud::Errors::RequestError => e
83
+ message = ''
84
+ error = nil
85
+ @logger.debug(e.inspect.to_yaml)
86
+ machine.ui.warn(myprefix + " *ERR* list response message: #{e.response.to_yaml}")
87
+ end
88
+ # creation of snapshot ....
89
+ when "create"
90
+ if server.state == Fog::ArubaCloud::Compute::Server::RUNNING
91
+ #
92
+ # if state active and request snapshot create ...
93
+ #
94
+ begin
95
+ myreq = server.create_snapshot
96
+ if myreq
97
+ machine.ui.info(myprefix + I18n.t('vagrant_arubacloud.snapshot_created'))
98
+ else
99
+ machine.ui.warn(myprefix + I18n.t('vagrant_arubacloud.snapshot_create_err_fog'))
100
+ end
101
+ rescue Fog::ArubaCloud::Errors::RequestError => e
102
+ message = ''
103
+ error = nil
104
+ @logger.debug(e.inspect.to_yaml)
105
+ machine.ui.warn(myprefix + " *ERROR* response message: #{e.response.to_yaml}")
106
+ #raise error
107
+ end
108
+ #
109
+ else
110
+ machine.ui.warn(myprefix + I18n.t('vagrant_arubacloud.snapshot_create_err_not_on'))
111
+ end
112
+ # delete of snapshot...
113
+ when "delete"
114
+ #
115
+ # if snapshot delete ...
116
+ #
117
+ begin
118
+ myreq = server.delete_snapshot
119
+ if myreq
120
+ machine.ui.info(myprefix + I18n.t('vagrant_arubacloud.snapshot_deleted'))
121
+ else
122
+ machine.ui.warn(myprefix + I18n.t('vagrant_arubacloud.snapshot_delete_err_fog'))
123
+ end
124
+ rescue Fog::ArubaCloud::Errors::RequestError => e
125
+ message = ''
126
+ error = nil
127
+ @logger.debug(e.inspect.to_yaml)
128
+ machine.ui.warn(myprefix + " *ERROR* response message: #{e.response.to_yaml}")
129
+ #raise error
130
+ end
131
+ # if vm is power off and esiste a snapshot resorre vm from snapshot
132
+ # (waring : the machine is not power on after restart and snapshot image is removed)
133
+ when "restore"
134
+ if server.state == Fog::ArubaCloud::Compute::Server::STOPPED
135
+ #
136
+ # if state stopped (power off) and requets restore
137
+ # WARNING : the snapshot file is removed after restore
138
+ #
139
+ begin
140
+ myreq = server.apply_snapshot
141
+ if myreq
142
+ machine.ui.info(myprefix + I18n.t('vagrant_arubacloud.snapshot_restored'))
143
+ else
144
+ machine.ui.warn(myprefix + I18n.t('vagrant_arubacloud.snapshot_restore_err_fog'))
145
+ end
146
+ rescue Fog::ArubaCloud::Errors::RequestError => e
147
+ message = ''
148
+ error = nil
149
+ @logger.debug(e.inspect.to_yaml)
150
+ machine.ui.warn(myprefix + " *ERROR* response message: #{e.response.to_yaml}")
151
+ #raise error
152
+ end
153
+ else
154
+ machine.ui.warn(myprefix + I18n.t('vagrant_arubacloud.snapshot_restore_err_not_off'))
155
+ end
156
+
157
+ else
158
+ machine.ui.warn(myprefix + I18n.t('vagrant_arubacloud.snapshot_type_unknow') + " :#{options[:snapop]}" )
159
+ end
160
+
161
+ end # test if found machine.id
162
+
163
+ end #
164
+
165
+ if not_found
166
+ puts "==> ??? [dc?] " + I18n.t("vagrant_arubacloud.snapshot_server_unknow") + " :#{options[:namevm]}"
167
+ end
168
+
169
+ end
170
+ end
171
+ end
172
+ end
173
+
174
+
175
+
@@ -4,7 +4,20 @@ require 'fog'
4
4
  module VagrantPlugins
5
5
  module ArubaCloud
6
6
 
7
+ DC_TABLES = {
8
+ :dc1 => "https://api.dc1.computing.cloud.it/WsEndUser/v2.9/WsEndUser.svc/json",
9
+ :dc2 => "https://api.dc2.computing.cloud.it/WsEndUser/v2.9/WsEndUser.svc/json",
10
+ :dc3 => "https://api.dc3.computing.cloud.it/WsEndUser/v2.9/WsEndUser.svc/json",
11
+ :dc4 => "https://api.dc4.computing.cloud.it/WsEndUser/v2.9/WsEndUser.svc/json",
12
+ :dc5 => "https://api.dc5.computing.cloud.it/WsEndUser/v2.9/WsEndUser.svc/json",
13
+ :dc6 => "https://api.dc6.computing.cloud.it/WsEndUser/v2.9/WsEndUser.svc/json",
14
+ :dc8 => "https://api.dc8.computing.cloud.it/WsEndUser/v2.9/WsEndUser.svc/json"
15
+ }
16
+
17
+ DC_DEFAULT = "dc2"
18
+
7
19
  class Config < Vagrant.plugin('2', :config)
20
+
8
21
  # ArubaCloud Username
9
22
  # @return [String]
10
23
  attr_accessor :arubacloud_username
@@ -13,11 +26,19 @@ module VagrantPlugins
13
26
  # @return [String]
14
27
  attr_accessor :arubacloud_password
15
28
 
29
+ # reserved for internal use
30
+ attr_accessor :reserved_status
31
+ attr_accessor :reserved_list_owned
32
+
16
33
  # Ws EndPoint Url
17
34
  # Expected to be the url of the web service to use
18
35
  # @return [String]
19
36
  attr_accessor :url
20
37
 
38
+ # Ws EndPoint id : can be dc2,dc2,dc3,...dc8 (dc7 is not defined at this release)
39
+ # @return [String]
40
+ attr_accessor :endpoint
41
+
21
42
  # The name of the server. This defaults to the name of the machine
22
43
  # defined by Vagrant (via 'config.vm.define'), but can be override here.
23
44
  # @return [String]
@@ -28,17 +49,13 @@ module VagrantPlugins
28
49
  # @return [Integer]
29
50
  attr_accessor :template_id
30
51
 
31
- # The smart vm type expressed in ID:
32
- # 1 = small
33
- # 2 = medium
34
- # 3 = large
35
- # 4 = extra-large
36
- # @return [Integer]
37
- attr_accessor :package_id
38
-
39
- # The admin password of the vm (root user) .
52
+ # The smart vm type expressed as String:
53
+ # 'small'
54
+ # 'medium'
55
+ # 'large'
56
+ # 'extra large'
40
57
  # @return [String]
41
- attr_accessor :admin_password
58
+ attr_accessor :package_id
42
59
 
43
60
  # Service Type expressed in ID [Integer]:
44
61
  # 1 = Pro Hyper-V
@@ -70,8 +87,10 @@ module VagrantPlugins
70
87
  def initialize
71
88
  @arubacloud_username = UNSET_VALUE
72
89
  @arubacloud_password = UNSET_VALUE
73
- @admin_password = UNSET_VALUE
74
90
  @url = UNSET_VALUE
91
+ @reserved_status = UNSET_VALUE
92
+ @reserved_list_owned = UNSET_VALUE
93
+ @endpoint = UNSET_VALUE
75
94
  @server_name = UNSET_VALUE
76
95
  @template_id = UNSET_VALUE
77
96
  @package_id = UNSET_VALUE
@@ -84,8 +103,10 @@ module VagrantPlugins
84
103
  def finalize!
85
104
  @arubacloud_username = nil if @arubacloud_username == UNSET_VALUE
86
105
  @arubacloud_password = nil if @arubacloud_password == UNSET_VALUE
87
- @admin_password = nil if @admin_password == UNSET_VALUE
88
106
  @url = nil if @url == UNSET_VALUE
107
+ @reserved_status = nil if @reserved_status = UNSET_VALUE
108
+ @reserved_list_owned = nil if @reserved_list_owned = UNSET_VALUE
109
+ @endpoint = nil if @endpoint == UNSET_VALUE
89
110
  @server_name = nil if @server_name == UNSET_VALUE
90
111
  @template_id = nil if @template_id == UNSET_VALUE
91
112
  @package_id = nil if @package_id == UNSET_VALUE
@@ -101,10 +122,32 @@ module VagrantPlugins
101
122
  # Global configurations needed by all service types
102
123
  errors << I18n.t('vagrant_arubacloud.config.arubacloud_username_required') unless @arubacloud_username
103
124
  errors << I18n.t('vagrant_arubacloud.config.arubacloud_password_required') unless @arubacloud_password
104
- errors << I18n.t('vagrant_arubacloud.config.admin_password_required') unless @admin_password
105
125
  errors << I18n.t('vagrant_arubacloud.config.template_id_required') unless @template_id
106
126
  errors << I18n.t('vagrant_arubacloud.config.service_type_required') unless @service_type
107
127
 
128
+ errors << I18n.t('vagrant_arubacloud.config.ssh_password_required') unless machine.config.ssh.password
129
+
130
+ #check if coded url or endpoint
131
+ #if url not in table or dc wrong return error
132
+ if (@url)
133
+ if (DC_TABLES.key(@url))
134
+ @endpoint = DC_TABLES.key(@url)
135
+ else
136
+ errors << I18n.t('vagrant_arubacloud.config.url_is_wrong')
137
+ end
138
+ else
139
+ if (@endpoint)
140
+ if DC_TABLES.key?(@endpoint.to_sym)
141
+ @url = DC_TABLES[@endpoint.to_sym]
142
+ else
143
+ errors << I18n.t('vagrant_arubacloud.config.endpoint_is_wrong')
144
+ end
145
+ else
146
+ @endpoint = DC_DEFAULT.to_sym
147
+ @url = DC_TABLES[DC_DEFAULT.to_sym]
148
+ end
149
+ end
150
+
108
151
  if @service_type.eql? 4
109
152
  errors << I18n.t('vagrant_arubacloud.config.package_id_required') unless @package_id
110
153
  else
@@ -118,7 +161,7 @@ module VagrantPlugins
118
161
  end
119
162
  {'ArubaCloud Provider' => errors}
120
163
  end
121
-
122
164
  end # Config
165
+
123
166
  end # ArubaCloud
124
- end # VagrantPlugins
167
+ end # VagrantPlugins