vagrant-unbundled 2.2.10.0 → 2.2.14.0

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 (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