vagrant-unbundled 2.2.10.0 → 2.2.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +60 -0
  3. data/Gemfile +1 -1
  4. data/README.md +4 -44
  5. data/RELEASE.md +1 -1
  6. data/contrib/zsh/_vagrant +3 -1
  7. data/contrib/zsh/generate_zsh_completion.rb +2 -3
  8. data/lib/vagrant.rb +0 -4
  9. data/lib/vagrant/action/builder.rb +6 -15
  10. data/lib/vagrant/action/builtin/box_add.rb +5 -1
  11. data/lib/vagrant/action/builtin/cloud_init_setup.rb +10 -15
  12. data/lib/vagrant/action/builtin/synced_folders.rb +8 -2
  13. data/lib/vagrant/action/runner.rb +1 -1
  14. data/lib/vagrant/box.rb +8 -2
  15. data/lib/vagrant/box_collection.rb +1 -1
  16. data/lib/vagrant/bundler.rb +43 -16
  17. data/lib/vagrant/machine.rb +8 -5
  18. data/lib/vagrant/machine_index.rb +1 -0
  19. data/lib/vagrant/plugin/v2/command.rb +2 -1
  20. data/lib/vagrant/shared_helpers.rb +8 -0
  21. data/lib/vagrant/util/downloader.rb +3 -2
  22. data/lib/vagrant/util/is_port_open.rb +1 -1
  23. data/lib/vagrant/util/mime.rb +92 -0
  24. data/lib/vagrant/util/platform.rb +2 -1
  25. data/lib/vagrant/util/template_renderer.rb +2 -2
  26. data/lib/vagrant/util/uploader.rb +7 -4
  27. data/plugins/commands/cap/command.rb +5 -1
  28. data/plugins/commands/cloud/auth/login.rb +20 -23
  29. data/plugins/commands/cloud/auth/logout.rb +2 -10
  30. data/plugins/commands/cloud/auth/middleware/add_downloader_authentication.rb +57 -0
  31. data/plugins/commands/cloud/auth/whoami.rb +18 -20
  32. data/plugins/commands/cloud/box/create.rb +33 -29
  33. data/plugins/commands/cloud/box/delete.rb +30 -24
  34. data/plugins/commands/cloud/box/show.rb +41 -31
  35. data/plugins/commands/cloud/box/update.rb +34 -26
  36. data/plugins/commands/cloud/client/client.rb +50 -81
  37. data/plugins/commands/cloud/list.rb +3 -4
  38. data/plugins/commands/cloud/locales/en.yml +9 -9
  39. data/plugins/commands/cloud/plugin.rb +10 -0
  40. data/plugins/commands/cloud/provider/create.rb +38 -28
  41. data/plugins/commands/cloud/provider/delete.rb +39 -29
  42. data/plugins/commands/cloud/provider/update.rb +37 -28
  43. data/plugins/commands/cloud/provider/upload.rb +44 -34
  44. data/plugins/commands/cloud/publish.rb +185 -108
  45. data/plugins/commands/cloud/search.rb +34 -21
  46. data/plugins/commands/cloud/util.rb +266 -162
  47. data/plugins/commands/cloud/version/create.rb +33 -28
  48. data/plugins/commands/cloud/version/delete.rb +35 -28
  49. data/plugins/commands/cloud/version/release.rb +35 -29
  50. data/plugins/commands/cloud/version/revoke.rb +36 -29
  51. data/plugins/commands/cloud/version/update.rb +29 -25
  52. data/plugins/commands/login/plugin.rb +0 -13
  53. data/plugins/guests/arch/cap/smb.rb +1 -1
  54. data/plugins/guests/darwin/cap/darwin_version.rb +40 -0
  55. data/plugins/guests/darwin/cap/mount_smb_shared_folder.rb +1 -1
  56. data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +12 -2
  57. data/plugins/guests/darwin/plugin.rb +10 -0
  58. data/plugins/guests/debian/cap/change_host_name.rb +8 -7
  59. data/plugins/guests/linux/cap/mount_smb_shared_folder.rb +16 -41
  60. data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +6 -0
  61. data/plugins/guests/linux/cap/persist_mount_shared_folder.rb +18 -5
  62. data/plugins/guests/linux/cap/reboot.rb +10 -5
  63. data/plugins/guests/redhat/cap/change_host_name.rb +6 -2
  64. data/plugins/guests/suse/cap/change_host_name.rb +32 -11
  65. data/plugins/guests/windows/cap/reboot.rb +8 -4
  66. data/plugins/kernel_v2/config/cloud_init.rb +7 -0
  67. data/plugins/kernel_v2/config/disk.rb +1 -1
  68. data/plugins/kernel_v2/config/vm.rb +5 -4
  69. data/plugins/providers/hyperv/action.rb +1 -1
  70. data/plugins/providers/virtualbox/cap/mount_options.rb +1 -1
  71. data/plugins/providers/virtualbox/model/storage_controller_array.rb +4 -6
  72. data/plugins/providers/virtualbox/provider.rb +2 -1
  73. data/plugins/synced_folders/smb/cap/mount_options.rb +21 -1
  74. data/plugins/synced_folders/smb/plugin.rb +10 -0
  75. data/scripts/website_push_www.sh +1 -1
  76. data/vagrant.gemspec +5 -6
  77. data/version.txt +1 -1
  78. metadata +1202 -1595
  79. data/plugins/commands/login/client.rb +0 -253
  80. data/plugins/commands/login/command.rb +0 -137
  81. data/plugins/commands/login/errors.rb +0 -24
  82. data/plugins/commands/login/locales/en.yml +0 -49
  83. data/scripts/website_push_docs.sh +0 -40
@@ -5,6 +5,8 @@ module VagrantPlugins
5
5
  module VersionCommand
6
6
  module Command
7
7
  class Create < Vagrant.plugin("2", :command)
8
+ include Util
9
+
8
10
  def execute
9
11
  options = {}
10
12
 
@@ -19,48 +21,51 @@ module VagrantPlugins
19
21
  o.on("-d", "--description DESCRIPTION", String, "A description for this version") do |d|
20
22
  options[:description] = d
21
23
  end
22
- o.on("-u", "--username USERNAME_OR_EMAIL", String, "Vagrant Cloud username or email address") do |u|
23
- options[:username] = u
24
- end
25
24
  end
26
25
 
27
26
  # Parse the options
28
27
  argv = parse_options(opts)
29
28
  return if !argv
30
- if argv.empty? || argv.length > 2
29
+ if argv.empty? || argv.length != 2
31
30
  raise Vagrant::Errors::CLIInvalidUsage,
32
31
  help: opts.help.chomp
33
32
  end
34
33
 
35
- @client = VagrantPlugins::CloudCommand::Util.client_login(@env, options[:username])
36
- box = argv.first.split('/', 2)
37
- org = box[0]
38
- box_name = box[1]
34
+ @client = client_login(@env)
35
+ org, box_name = argv.first.split('/', 2)
39
36
  version = argv[1]
40
37
 
41
- create_version(org, box_name, version, @client.token, options)
38
+ create_version(org, box_name, version, @client.token, options.slice(:description))
42
39
  end
43
40
 
44
- def create_version(org, box_name, box_version, access_token, options)
45
- org = options[:username] if options[:username]
46
-
47
- server_url = VagrantPlugins::CloudCommand::Util.api_server_url
48
- account = VagrantPlugins::CloudCommand::Util.account(org, access_token, server_url)
49
- box = VagrantCloud::Box.new(account, box_name, nil, nil, nil, access_token)
50
- version = VagrantCloud::Version.new(box, box_version, nil, options[:description], access_token)
51
-
52
- begin
53
- success = version.create_version
54
- @env.ui.success(I18n.t("cloud_command.version.create_success", version: box_version, org: org, box_name: box_name))
55
- success = success.delete_if{|_, v|v.nil?}
56
- VagrantPlugins::CloudCommand::Util.format_box_results(success, @env)
57
- return 0
58
- rescue VagrantCloud::ClientError => e
59
- @env.ui.error(I18n.t("cloud_command.errors.version.create_fail", version: box_version, org: org, box_name: box_name))
60
- @env.ui.error(e)
61
- return 1
41
+ # Create a new version of the box
42
+ #
43
+ # @param [String] org Organization box is within
44
+ # @param [String] box_name Name of box
45
+ # @param [String] box_version Version of box to create
46
+ # @param [String] access_token User Vagrant Cloud access token
47
+ # @param [Hash] options
48
+ # @option options [String] :description Description of box version
49
+ # @return [Integer]
50
+ def create_version(org, box_name, box_version, access_token, options={})
51
+ account = VagrantCloud::Account.new(
52
+ custom_server: api_server_url,
53
+ access_token: access_token
54
+ )
55
+ with_box(account: account, org: org, box: box_name) do |box|
56
+ version = box.add_version(box_version)
57
+ version.description = options[:description] if options.key?(:description)
58
+ version.save
59
+ @env.ui.success(I18n.t("cloud_command.version.create_success",
60
+ version: box_version, org: org, box_name: box_name))
61
+ format_box_results(version, @env)
62
+ 0
62
63
  end
63
- return 1
64
+ rescue VagrantCloud::Error => e
65
+ @env.ui.error(I18n.t("cloud_command.errors.version.create_fail",
66
+ version: box_version, org: org, box_name: box_name))
67
+ @env.ui.error(e.message)
68
+ 1
64
69
  end
65
70
  end
66
71
  end
@@ -5,6 +5,8 @@ module VagrantPlugins
5
5
  module VersionCommand
6
6
  module Command
7
7
  class Delete < Vagrant.plugin("2", :command)
8
+ include Util
9
+
8
10
  def execute
9
11
  options = {}
10
12
 
@@ -15,51 +17,56 @@ module VagrantPlugins
15
17
  o.separator ""
16
18
  o.separator "Options:"
17
19
  o.separator ""
18
- o.on("-u", "--username USERNAME_OR_EMAIL", String, "Vagrant Cloud username or email address") do |u|
19
- options[:username] = u
20
+ o.on("-f", "--[no-]force", "Force deletion without confirmation") do |f|
21
+ options[:force] = f
20
22
  end
21
23
  end
22
24
 
23
25
  # Parse the options
24
26
  argv = parse_options(opts)
25
27
  return if !argv
26
- if argv.empty? || argv.length > 2
28
+ if argv.size != 2
27
29
  raise Vagrant::Errors::CLIInvalidUsage,
28
30
  help: opts.help.chomp
29
31
  end
30
32
 
31
- box = argv.first.split('/', 2)
32
- org = box[0]
33
- box_name = box[1]
33
+ org, box_name = argv.first.split('/', 2)
34
34
  version = argv[1]
35
35
 
36
- @env.ui.warn(I18n.t("cloud_command.version.delete_warn", version: version, box: argv.first))
37
- cont = @env.ui.ask(I18n.t("cloud_command.continue"))
38
- return 1 if cont.strip.downcase != "y"
36
+ if !options[:force]
37
+ @env.ui.warn(I18n.t("cloud_command.version.delete_warn", version: version, box: argv.first))
38
+ cont = @env.ui.ask(I18n.t("cloud_command.continue"))
39
+ return 1 if cont.strip.downcase != "y"
40
+ end
39
41
 
40
- @client = VagrantPlugins::CloudCommand::Util.client_login(@env, options[:username])
42
+ @client = client_login(@env)
41
43
 
42
- delete_version(org, box_name, version, options, @client.token)
44
+ delete_version(org, box_name, version, @client.token, options.slice)
43
45
  end
44
46
 
45
- def delete_version(org, box_name, box_version, options, access_token)
46
- org = options[:username] if options[:username]
47
-
48
- server_url = VagrantPlugins::CloudCommand::Util.api_server_url
49
- account = VagrantPlugins::CloudCommand::Util.account(org, access_token, server_url)
50
- box = VagrantCloud::Box.new(account, box_name, nil, nil, nil, access_token)
51
- version = VagrantCloud::Version.new(box, box_version, nil, nil, access_token)
52
-
53
- begin
54
- success = version.delete
55
- @env.ui.success(I18n.t("cloud_command.version.delete_success", version: box_version, org: org, box_name: box_name))
56
- return 0
57
- rescue VagrantCloud::ClientError => e
58
- @env.ui.error(I18n.t("cloud_command.errors.version.delete_fail", version: box_version, org: org, box_name: box_name))
59
- @env.ui.error(e)
60
- return 1
47
+ # Delete the requested box version
48
+ #
49
+ # @param [String] org Box organization name
50
+ # @param [String] box_name Name of the box
51
+ # @param [String] box_version Version of the box
52
+ # @param [String] access_token User Vagrant Cloud access token
53
+ # @param [Hash] options Current unsued
54
+ def delete_version(org, box_name, box_version, access_token, options={})
55
+ account = VagrantCloud::Account.new(
56
+ custom_server: api_server_url,
57
+ access_token: access_token
58
+ )
59
+ with_version(account: account, org: org, box: box_name, version: box_version) do |version|
60
+ version.delete
61
+ @env.ui.success(I18n.t("cloud_command.version.delete_success",
62
+ version: box_version, org: org, box_name: box_name))
63
+ 0
61
64
  end
62
- return 1
65
+ rescue VagrantCloud::Error => e
66
+ @env.ui.error(I18n.t("cloud_command.errors.version.delete_fail",
67
+ version: box_version, org: org, box_name: box_name))
68
+ @env.ui.error(e.message)
69
+ 1
63
70
  end
64
71
  end
65
72
  end
@@ -5,6 +5,8 @@ module VagrantPlugins
5
5
  module VersionCommand
6
6
  module Command
7
7
  class Release < Vagrant.plugin("2", :command)
8
+ include Util
9
+
8
10
  def execute
9
11
  options = {}
10
12
 
@@ -15,52 +17,56 @@ module VagrantPlugins
15
17
  o.separator ""
16
18
  o.separator "Options:"
17
19
  o.separator ""
18
- o.on("-u", "--username USERNAME_OR_EMAIL", String, "Vagrant Cloud username or email address") do |u|
19
- options[:username] = u
20
+ o.on("-f", "--[no-]force", "Release without confirmation") do |f|
21
+ options[:force] = f
20
22
  end
21
23
  end
22
24
 
23
25
  # Parse the options
24
26
  argv = parse_options(opts)
25
27
  return if !argv
26
- if argv.empty? || argv.length > 2
28
+ if argv.size != 2
27
29
  raise Vagrant::Errors::CLIInvalidUsage,
28
30
  help: opts.help.chomp
29
31
  end
30
32
 
31
- @env.ui.warn(I18n.t("cloud_command.version.release_warn", version: argv[1], box: argv.first))
32
- cont = @env.ui.ask(I18n.t("cloud_command.continue"))
33
- return 1 if cont.strip.downcase != "y"
33
+ if !options[:force]
34
+ @env.ui.warn(I18n.t("cloud_command.version.release_warn", version: argv[1], box: argv.first))
35
+ cont = @env.ui.ask(I18n.t("cloud_command.continue"))
36
+ return 1 if cont.strip.downcase != "y"
37
+ end
34
38
 
35
- @client = VagrantPlugins::CloudCommand::Util.client_login(@env, options[:username])
36
- box = argv.first.split('/', 2)
37
- org = box[0]
38
- box_name = box[1]
39
+ @client = client_login(@env)
40
+ org, box_name = argv.first.split('/', 2)
39
41
  version = argv[1]
40
42
 
41
43
  release_version(org, box_name, version, @client.token, options)
42
44
  end
43
45
 
44
- def release_version(org, box_name, version, access_token, options)
45
- org = options[:username] if options[:username]
46
-
47
- server_url = VagrantPlugins::CloudCommand::Util.api_server_url
48
- account = VagrantPlugins::CloudCommand::Util.account(org, access_token, server_url)
49
- box = VagrantCloud::Box.new(account, box_name, nil, nil, nil, access_token)
50
- version = VagrantCloud::Version.new(box, version, nil, nil, access_token)
51
-
52
- begin
53
- success = version.release
54
- @env.ui.success(I18n.t("cloud_command.version.release_success", version: version, org: org, box_name: box_name))
55
- success = success.delete_if{|_, v|v.nil?}
56
- VagrantPlugins::CloudCommand::Util.format_box_results(success, @env)
57
- return 0
58
- rescue VagrantCloud::ClientError => e
59
- @env.ui.error(I18n.t("cloud_command.errors.version.release_fail", version: version, org: org, box_name: box_name))
60
- @env.ui.error(e)
61
- return 1
46
+ # Release the box version
47
+ #
48
+ # @param [String] org Organization name
49
+ # @param [String] box_name Box name
50
+ # @param [String] version Version of the box
51
+ # @param [String] access_token User Vagrant Cloud access token
52
+ # @param [Hash] options Currently unused
53
+ # @return [Integer]
54
+ def release_version(org, box_name, version, access_token, options={})
55
+ account = VagrantCloud::Account.new(
56
+ custom_server: api_server_url,
57
+ access_token: access_token
58
+ )
59
+ with_version(account: account, org: org, box: box_name, version: version) do |v|
60
+ v.release
61
+ @env.ui.success(I18n.t("cloud_command.version.release_success",
62
+ version: version, org: org, box_name: box_name))
63
+ 0
62
64
  end
63
- return 1
65
+ rescue VagrantCloud::Error => e
66
+ @env.ui.error(I18n.t("cloud_command.errors.version.release_fail",
67
+ version: version, org: org, box_name: box_name))
68
+ @env.ui.error(e.message)
69
+ 1
64
70
  end
65
71
  end
66
72
  end
@@ -5,6 +5,8 @@ module VagrantPlugins
5
5
  module VersionCommand
6
6
  module Command
7
7
  class Revoke < Vagrant.plugin("2", :command)
8
+ include Util
9
+
8
10
  def execute
9
11
  options = {}
10
12
 
@@ -15,52 +17,57 @@ module VagrantPlugins
15
17
  o.separator ""
16
18
  o.separator "Options:"
17
19
  o.separator ""
18
- o.on("-u", "--username USERNAME_OR_EMAIL", String, "Vagrant Cloud username or email address") do |u|
19
- options[:username] = u
20
+ o.on("-f", "--[no-]force", "Force revocation without confirmation") do |f|
21
+ options[:force] = f
20
22
  end
21
23
  end
22
24
 
23
25
  # Parse the options
24
26
  argv = parse_options(opts)
25
27
  return if !argv
26
- if argv.empty? || argv.length > 2
28
+ if argv.size != 2
27
29
  raise Vagrant::Errors::CLIInvalidUsage,
28
30
  help: opts.help.chomp
29
31
  end
30
32
 
31
- @env.ui.warn(I18n.t("cloud_command.version.revoke_warn", version: argv[1], box: argv.first))
32
- cont = @env.ui.ask(I18n.t("cloud_command.continue"))
33
- return 1 if cont.strip.downcase != "y"
33
+ if !options[:force]
34
+ @env.ui.warn(I18n.t("cloud_command.version.revoke_warn", version: argv[1], box: argv.first))
35
+ cont = @env.ui.ask(I18n.t("cloud_command.continue"))
36
+ return 1 if cont.strip.downcase != "y"
37
+ end
34
38
 
35
- @client = VagrantPlugins::CloudCommand::Util.client_login(@env, options[:username])
36
- box = argv.first.split('/', 2)
37
- org = box[0]
38
- box_name = box[1]
39
+ @client = client_login(@env)
40
+ org, box_name = argv.first.split('/', 2)
39
41
  version = argv[1]
40
42
 
41
43
  revoke_version(org, box_name, version, @client.token, options)
42
44
  end
43
45
 
44
- def revoke_version(org, box_name, box_version, access_token, options)
45
- org = options[:username] if options[:username]
46
-
47
- server_url = VagrantPlugins::CloudCommand::Util.api_server_url
48
- account = VagrantPlugins::CloudCommand::Util.account(org, access_token, server_url)
49
- box = VagrantCloud::Box.new(account, box_name, nil, nil, nil, access_token)
50
- version = VagrantCloud::Version.new(box, box_version, nil, nil, access_token)
51
-
52
- begin
53
- success = version.revoke
54
- @env.ui.success(I18n.t("cloud_command.version.revoke_success", version: box_version, org: org, box_name: box_name))
55
- success = success.delete_if{|_, v|v.nil?}
56
- VagrantPlugins::CloudCommand::Util.format_box_results(success, @env)
57
- return 0
58
- rescue VagrantCloud::ClientError => e
59
- @env.ui.error(I18n.t("cloud_command.errors.version.revoke_fail", version: box_version, org: org, box_name: box_name))
60
- @env.ui.error(e)
61
- return 1
46
+ # Revoke release of box version
47
+ #
48
+ # @param [String] org Organization name
49
+ # @param [String] box_name Box name
50
+ # @param [String] version Version of the box
51
+ # @param [String] access_token User Vagrant Cloud access token
52
+ # @param [Hash] options Currently unused
53
+ # @return [Integer]
54
+ def revoke_version(org, box_name, box_version, access_token, options={})
55
+ account = VagrantCloud::Account.new(
56
+ custom_server: api_server_url,
57
+ access_token: access_token
58
+ )
59
+ with_version(account: account, org: org, box: box_name, version: box_version) do |version|
60
+ version.revoke
61
+ @env.ui.success(I18n.t("cloud_command.version.revoke_success",
62
+ version: box_version, org: org, box_name: box_name))
63
+ format_box_results(version, @env)
64
+ 0
62
65
  end
63
- return 1
66
+ rescue VagrantCloud::Error => e
67
+ @env.ui.error(I18n.t("cloud_command.errors.version.revoke_fail",
68
+ version: box_version, org: org, box_name: box_name))
69
+ @env.ui.error(e.message)
70
+ 1
64
71
  end
65
72
  end
66
73
  end
@@ -5,6 +5,8 @@ module VagrantPlugins
5
5
  module VersionCommand
6
6
  module Command
7
7
  class Update < Vagrant.plugin("2", :command)
8
+ include Util
9
+
8
10
  def execute
9
11
  options = {}
10
12
 
@@ -19,48 +21,50 @@ module VagrantPlugins
19
21
  o.on("-d", "--description DESCRIPTION", "A description for this version") do |d|
20
22
  options[:description] = d
21
23
  end
22
- o.on("-u", "--username USERNAME_OR_EMAIL", String, "Vagrant Cloud username or email address") do |u|
23
- options[:username] = u
24
- end
25
24
  end
26
25
 
27
26
  # Parse the options
28
27
  argv = parse_options(opts)
29
28
  return if !argv
30
- if argv.empty? || argv.length > 2
29
+ if argv.size != 2
31
30
  raise Vagrant::Errors::CLIInvalidUsage,
32
31
  help: opts.help.chomp
33
32
  end
34
33
 
35
- @client = VagrantPlugins::CloudCommand::Util.client_login(@env, options[:username])
36
- box = argv.first.split('/', 2)
37
- org = box[0]
38
- box_name = box[1]
34
+ @client = client_login(@env)
35
+ org, box_name = argv.first.split('/', 2)
39
36
  version = argv[1]
40
37
 
41
38
  update_version(org, box_name, version, @client.token, options)
42
39
  end
43
40
 
41
+ # Update the version of the box
42
+ # @param [String] org Organization name
43
+ # @param [String] box_name Box name
44
+ # @param [String] version Version of the box
45
+ # @param [String] access_token User Vagrant Cloud access token
46
+ # @param [Hash] options
47
+ # @options options [String] :description Description of box version
48
+ # @return [Integer]
44
49
  def update_version(org, box_name, box_version, access_token, options)
45
- org = options[:username] if options[:username]
46
-
47
- server_url = VagrantPlugins::CloudCommand::Util.api_server_url
48
- account = VagrantPlugins::CloudCommand::Util.account(org, access_token, server_url)
49
- box = VagrantCloud::Box.new(account, box_name, nil, nil, nil, access_token)
50
- version = VagrantCloud::Version.new(box, box_version, nil, options[:description], access_token)
50
+ account = VagrantCloud::Account.new(
51
+ custom_server: api_server_url,
52
+ access_token: access_token
53
+ )
54
+ with_version(account: account, org: org, box: box_name, version: box_version) do |version|
55
+ version.description = options[:description] if options.key?(:description)
56
+ version.save
51
57
 
52
- begin
53
- success = version.update
54
- @env.ui.success(I18n.t("cloud_command.version.update_success", version: box_version, org: org, box_name: box_name))
55
- success = success.delete_if{|_, v|v.nil?}
56
- VagrantPlugins::CloudCommand::Util.format_box_results(success, @env)
57
- return 0
58
- rescue VagrantCloud::ClientError => e
59
- @env.ui.error(I18n.t("cloud_command.errors.version.update_fail", version: box_version, org: org, box_name: box_name))
60
- @env.ui.error(e)
61
- return 1
58
+ @env.ui.success(I18n.t("cloud_command.version.update_success",
59
+ version: box_version, org: org, box_name: box_name))
60
+ format_box_results(version, @env)
61
+ 0
62
62
  end
63
- return 1
63
+ rescue VagrantCloud::Error => e
64
+ @env.ui.error(I18n.t("cloud_command.errors.version.update_fail",
65
+ version: box_version, org: org, box_name: box_name))
66
+ @env.ui.error(e.message)
67
+ 1
64
68
  end
65
69
  end
66
70
  end