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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +60 -0
- data/Gemfile +1 -1
- data/README.md +4 -44
- data/RELEASE.md +1 -1
- data/contrib/zsh/_vagrant +3 -1
- data/contrib/zsh/generate_zsh_completion.rb +2 -3
- data/lib/vagrant.rb +0 -4
- data/lib/vagrant/action/builder.rb +6 -15
- data/lib/vagrant/action/builtin/box_add.rb +5 -1
- data/lib/vagrant/action/builtin/cloud_init_setup.rb +10 -15
- data/lib/vagrant/action/builtin/synced_folders.rb +8 -2
- data/lib/vagrant/action/runner.rb +1 -1
- data/lib/vagrant/box.rb +8 -2
- data/lib/vagrant/box_collection.rb +1 -1
- data/lib/vagrant/bundler.rb +43 -16
- data/lib/vagrant/machine.rb +8 -5
- data/lib/vagrant/machine_index.rb +1 -0
- data/lib/vagrant/plugin/v2/command.rb +2 -1
- data/lib/vagrant/shared_helpers.rb +8 -0
- data/lib/vagrant/util/downloader.rb +3 -2
- data/lib/vagrant/util/is_port_open.rb +1 -1
- data/lib/vagrant/util/mime.rb +92 -0
- data/lib/vagrant/util/platform.rb +2 -1
- data/lib/vagrant/util/template_renderer.rb +2 -2
- data/lib/vagrant/util/uploader.rb +7 -4
- data/plugins/commands/cap/command.rb +5 -1
- data/plugins/commands/cloud/auth/login.rb +20 -23
- data/plugins/commands/cloud/auth/logout.rb +2 -10
- data/plugins/commands/cloud/auth/middleware/add_downloader_authentication.rb +57 -0
- data/plugins/commands/cloud/auth/whoami.rb +18 -20
- data/plugins/commands/cloud/box/create.rb +33 -29
- data/plugins/commands/cloud/box/delete.rb +30 -24
- data/plugins/commands/cloud/box/show.rb +41 -31
- data/plugins/commands/cloud/box/update.rb +34 -26
- data/plugins/commands/cloud/client/client.rb +50 -81
- data/plugins/commands/cloud/list.rb +3 -4
- data/plugins/commands/cloud/locales/en.yml +9 -9
- data/plugins/commands/cloud/plugin.rb +10 -0
- data/plugins/commands/cloud/provider/create.rb +38 -28
- data/plugins/commands/cloud/provider/delete.rb +39 -29
- data/plugins/commands/cloud/provider/update.rb +37 -28
- data/plugins/commands/cloud/provider/upload.rb +44 -34
- data/plugins/commands/cloud/publish.rb +185 -108
- data/plugins/commands/cloud/search.rb +34 -21
- data/plugins/commands/cloud/util.rb +266 -162
- data/plugins/commands/cloud/version/create.rb +33 -28
- data/plugins/commands/cloud/version/delete.rb +35 -28
- data/plugins/commands/cloud/version/release.rb +35 -29
- data/plugins/commands/cloud/version/revoke.rb +36 -29
- data/plugins/commands/cloud/version/update.rb +29 -25
- data/plugins/commands/login/plugin.rb +0 -13
- data/plugins/guests/arch/cap/smb.rb +1 -1
- data/plugins/guests/darwin/cap/darwin_version.rb +40 -0
- data/plugins/guests/darwin/cap/mount_smb_shared_folder.rb +1 -1
- data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +12 -2
- data/plugins/guests/darwin/plugin.rb +10 -0
- data/plugins/guests/debian/cap/change_host_name.rb +8 -7
- data/plugins/guests/linux/cap/mount_smb_shared_folder.rb +16 -41
- data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +6 -0
- data/plugins/guests/linux/cap/persist_mount_shared_folder.rb +18 -5
- data/plugins/guests/linux/cap/reboot.rb +10 -5
- data/plugins/guests/redhat/cap/change_host_name.rb +6 -2
- data/plugins/guests/suse/cap/change_host_name.rb +32 -11
- data/plugins/guests/windows/cap/reboot.rb +8 -4
- data/plugins/kernel_v2/config/cloud_init.rb +7 -0
- data/plugins/kernel_v2/config/disk.rb +1 -1
- data/plugins/kernel_v2/config/vm.rb +5 -4
- data/plugins/providers/hyperv/action.rb +1 -1
- data/plugins/providers/virtualbox/cap/mount_options.rb +1 -1
- data/plugins/providers/virtualbox/model/storage_controller_array.rb +4 -6
- data/plugins/providers/virtualbox/provider.rb +2 -1
- data/plugins/synced_folders/smb/cap/mount_options.rb +21 -1
- data/plugins/synced_folders/smb/plugin.rb +10 -0
- data/scripts/website_push_www.sh +1 -1
- data/vagrant.gemspec +5 -6
- data/version.txt +1 -1
- metadata +1202 -1595
- data/plugins/commands/login/client.rb +0 -253
- data/plugins/commands/login/command.rb +0 -137
- data/plugins/commands/login/errors.rb +0 -24
- data/plugins/commands/login/locales/en.yml +0 -49
- 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
|
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 =
|
36
|
-
|
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
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
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
|
-
|
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("-
|
19
|
-
options[:
|
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.
|
28
|
+
if argv.size != 2
|
27
29
|
raise Vagrant::Errors::CLIInvalidUsage,
|
28
30
|
help: opts.help.chomp
|
29
31
|
end
|
30
32
|
|
31
|
-
|
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
|
-
|
37
|
-
|
38
|
-
|
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 =
|
42
|
+
@client = client_login(@env)
|
41
43
|
|
42
|
-
delete_version(org, box_name, version,
|
44
|
+
delete_version(org, box_name, version, @client.token, options.slice)
|
43
45
|
end
|
44
46
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
@env.ui.
|
60
|
-
|
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
|
-
|
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("-
|
19
|
-
options[:
|
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.
|
28
|
+
if argv.size != 2
|
27
29
|
raise Vagrant::Errors::CLIInvalidUsage,
|
28
30
|
help: opts.help.chomp
|
29
31
|
end
|
30
32
|
|
31
|
-
|
32
|
-
|
33
|
-
|
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 =
|
36
|
-
|
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
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
@env.ui.
|
60
|
-
|
61
|
-
|
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
|
-
|
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("-
|
19
|
-
options[:
|
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.
|
28
|
+
if argv.size != 2
|
27
29
|
raise Vagrant::Errors::CLIInvalidUsage,
|
28
30
|
help: opts.help.chomp
|
29
31
|
end
|
30
32
|
|
31
|
-
|
32
|
-
|
33
|
-
|
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 =
|
36
|
-
|
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
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
@env.ui.
|
60
|
-
|
61
|
-
|
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
|
-
|
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.
|
29
|
+
if argv.size != 2
|
31
30
|
raise Vagrant::Errors::CLIInvalidUsage,
|
32
31
|
help: opts.help.chomp
|
33
32
|
end
|
34
33
|
|
35
|
-
@client =
|
36
|
-
|
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
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
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
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
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
|
-
|
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
|