vagrant-google 1.0.0 → 2.0.0.rc0
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/.gitignore +2 -1
- data/.rubocop.yml +6 -0
- data/.rubocop_todo.yml +140 -95
- data/CHANGELOG.md +18 -0
- data/README.md +20 -18
- data/example_boxes/gce-test/Vagrantfile +1 -0
- data/google-test.box +0 -0
- data/google.box +0 -0
- data/lib/vagrant-google/action.rb +3 -4
- data/lib/vagrant-google/action/assign_instance_groups.rb +14 -10
- data/lib/vagrant-google/action/connect_google.rb +11 -5
- data/lib/vagrant-google/action/read_ssh_info.rb +2 -2
- data/lib/vagrant-google/action/read_state.rb +2 -2
- data/lib/vagrant-google/action/run_instance.rb +56 -22
- data/lib/vagrant-google/action/stop_instance.rb +0 -2
- data/lib/vagrant-google/action/terminate_instance.rb +2 -0
- data/lib/vagrant-google/config.rb +28 -24
- data/lib/vagrant-google/provider.rb +5 -0
- data/lib/vagrant-google/version.rb +1 -1
- data/locales/en.yml +3 -6
- data/tasks/acceptance.rake +8 -4
- data/test/acceptance/skeletons/generic/Vagrantfile +5 -4
- data/test/acceptance/skeletons/instance_groups/Vagrantfile +6 -5
- data/test/acceptance/skeletons/multi_instance/Vagrantfile +6 -4
- data/test/acceptance/skeletons/preemptible/Vagrantfile +8 -7
- data/test/acceptance/skeletons/scopes/Vagrantfile +6 -5
- data/test/unit/base.rb +3 -1
- data/test/unit/common/config_test.rb +28 -36
- data/vagrant-google.gemspec +11 -10
- data/vagrant-spec.config.rb +1 -1
- data/vagrantfile_examples/Vagrantfile.simple +2 -0
- metadata +59 -32
- data/lib/vagrant-google/action/sync_folders.rb +0 -106
@@ -19,6 +19,11 @@ module VagrantPlugins
|
|
19
19
|
class Provider < Vagrant.plugin("2", :provider)
|
20
20
|
def initialize(machine)
|
21
21
|
@machine = machine
|
22
|
+
|
23
|
+
# Turn off NFS/SMB functionality by default, so machine always uses
|
24
|
+
# rsync, see https://github.com/mitchellh/vagrant-google/issues/94
|
25
|
+
@machine.config.nfs.functional = false unless ENV.has_key?('VAGRANT_GOOGLE_ENABLE_NFS')
|
26
|
+
@machine.config.smb.functional = false unless ENV.has_key?('VAGRANT_GOOGLE_ENABLE_SMB')
|
22
27
|
end
|
23
28
|
|
24
29
|
def action(name)
|
data/locales/en.yml
CHANGED
@@ -62,15 +62,10 @@ en:
|
|
62
62
|
name_required: |-
|
63
63
|
An instance name must be specified via "name" option.
|
64
64
|
image_required: |-
|
65
|
-
An image must be specified via "image" option.
|
65
|
+
An image must be specified via "image" or "image_family" option.
|
66
66
|
google_key_location_required: |-
|
67
67
|
A private key pathname is required via:
|
68
68
|
"google_json_key_location" (for JSON keys)
|
69
|
-
or
|
70
|
-
"google_key_location" (for P12 keys)
|
71
|
-
google_duplicate_key_location: |-
|
72
|
-
Both "google_json_key_location" and "google_key_location" are specified.
|
73
|
-
Config must specify only one key location.
|
74
69
|
google_project_id_required: |-
|
75
70
|
A Google Cloud Project ID is required via "google_project_id".
|
76
71
|
auto_restart_invalid_on_preemptible: |-
|
@@ -78,6 +73,8 @@ en:
|
|
78
73
|
on_host_maintenance_invalid_on_preemptible: |-
|
79
74
|
"on_host_maintenance" option must be set to "TERMINATE" for preemptible
|
80
75
|
instances.
|
76
|
+
image_and_image_family_set: |-
|
77
|
+
"image" must be unset when setting "image_family"
|
81
78
|
#-------------------------------------------------------------------------------
|
82
79
|
# Translations for exception classes
|
83
80
|
#-------------------------------------------------------------------------------
|
data/tasks/acceptance.rake
CHANGED
@@ -29,8 +29,8 @@ namespace :acceptance do
|
|
29
29
|
task :check_env do
|
30
30
|
yellow "NOTE: For acceptance tests to be functional, correct ssh key needs to be added to GCE metadata."
|
31
31
|
|
32
|
-
|
33
|
-
abort "Environment variables GOOGLE_JSON_KEY_LOCATION
|
32
|
+
unless ENV["GOOGLE_JSON_KEY_LOCATION"]
|
33
|
+
abort "Environment variables GOOGLE_JSON_KEY_LOCATION is not set. Aborting."
|
34
34
|
end
|
35
35
|
|
36
36
|
unless ENV["GOOGLE_PROJECT_ID"]
|
@@ -54,6 +54,9 @@ namespace :acceptance do
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
57
|
+
|
58
|
+
# Set vagrant env to avoid "Encoded files can't be read" error.
|
59
|
+
ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"] = File.expand_path("../../", __FILE__)
|
57
60
|
end
|
58
61
|
|
59
62
|
task :run_full do
|
@@ -64,11 +67,12 @@ namespace :acceptance do
|
|
64
67
|
reload
|
65
68
|
scopes
|
66
69
|
instance_groups
|
70
|
+
synced_folder/rsync
|
67
71
|
provisioner/shell
|
68
72
|
provisioner/chef-solo
|
69
73
|
).map{ |s| "provider/google/#{s}" }
|
70
74
|
|
71
|
-
command = "
|
75
|
+
command = "vagrant-spec test --components=#{components.join(" ")}"
|
72
76
|
puts command
|
73
77
|
puts
|
74
78
|
exec(command)
|
@@ -79,7 +83,7 @@ namespace :acceptance do
|
|
79
83
|
provisioner/shell
|
80
84
|
).map{ |s| "provider/google/#{s}" }
|
81
85
|
|
82
|
-
command = "
|
86
|
+
command = "vagrant-spec test --components=#{components.join(" ")}"
|
83
87
|
puts command
|
84
88
|
puts
|
85
89
|
exec(command)
|
@@ -6,11 +6,12 @@ Vagrant.configure("2") do |config|
|
|
6
6
|
|
7
7
|
config.vm.provider :google do |google|
|
8
8
|
|
9
|
-
google.zone = "
|
9
|
+
google.zone = "australia-southeast1-b"
|
10
10
|
|
11
|
-
google.zone_config "
|
12
|
-
|
13
|
-
|
11
|
+
google.zone_config "australia-southeast1-b" do |zone|
|
12
|
+
zone.name = "vagrant-acceptance-generic-#{('a'..'z').to_a.sample(8).join}"
|
13
|
+
zone.image_family = "debian-9"
|
14
|
+
zone.disk_type = "pd-ssd"
|
14
15
|
end
|
15
16
|
end
|
16
17
|
end
|
@@ -3,12 +3,13 @@ Vagrant.configure("2") do |config|
|
|
3
3
|
|
4
4
|
config.vm.provider :google do |google|
|
5
5
|
|
6
|
-
google.zone = "
|
6
|
+
google.zone = "australia-southeast1-b"
|
7
7
|
|
8
|
-
google.zone_config "
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
google.zone_config "australia-southeast1-b" do |zone|
|
9
|
+
zone.name = "vagrant-acceptance-instance-groups-#{('a'..'z').to_a.sample(8).join}"
|
10
|
+
zone.instance_group = "vagrant-acceptance-#{('a'..'z').to_a.sample(8).join}"
|
11
|
+
zone.disk_type = "pd-ssd"
|
12
|
+
zone.image_family = "debian-9"
|
12
13
|
end
|
13
14
|
end
|
14
15
|
end
|
@@ -3,24 +3,26 @@ Vagrant.configure("2") do |config|
|
|
3
3
|
|
4
4
|
config.vm.define :z1a do |z1a|
|
5
5
|
z1a.vm.provider :google do |google|
|
6
|
-
google.zone = "
|
6
|
+
google.zone = "australia-southeast1-a"
|
7
7
|
|
8
|
-
google.zone_config "
|
8
|
+
google.zone_config "australia-southeast1-a" do |z1a_zone|
|
9
9
|
z1a_zone.name = "vagrant-acceptance-multi-z1a-#{('a'..'z').to_a.sample(8).join}"
|
10
10
|
z1a_zone.machine_type = "n1-standard-1"
|
11
11
|
z1a_zone.disk_type = "pd-ssd"
|
12
|
+
z1a_zone.image_family = "debian-9"
|
12
13
|
end
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
16
17
|
config.vm.define :z1b do |z1b|
|
17
18
|
z1b.vm.provider :google do |google|
|
18
|
-
google.zone = "
|
19
|
+
google.zone = "australia-southeast1-b"
|
19
20
|
|
20
|
-
google.zone_config "
|
21
|
+
google.zone_config "australia-southeast1-b" do |z1b_zone|
|
21
22
|
z1b_zone.name = "vagrant-testing-acceptance-multi-z1b-#{('a'..'z').to_a.sample(8).join}"
|
22
23
|
z1b_zone.machine_type = "n1-standard-2"
|
23
24
|
z1b_zone.disk_type = "pd-ssd"
|
25
|
+
z1b_zone.image_family = "debian-9"
|
24
26
|
end
|
25
27
|
end
|
26
28
|
end
|
@@ -3,14 +3,15 @@ Vagrant.configure("2") do |config|
|
|
3
3
|
|
4
4
|
config.vm.provider :google do |google|
|
5
5
|
|
6
|
-
google.zone = "
|
6
|
+
google.zone = "australia-southeast1-b"
|
7
7
|
|
8
|
-
google.zone_config "
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
8
|
+
google.zone_config "australia-southeast1-b" do |zone|
|
9
|
+
zone.name = "vagrant-acceptance-preemptible-#{('a'..'z').to_a.sample(8).join}"
|
10
|
+
zone.disk_type = "pd-ssd"
|
11
|
+
zone.preemptible = true
|
12
|
+
zone.auto_restart = false
|
13
|
+
zone.on_host_maintenance = "TERMINATE"
|
14
|
+
zone.image_family = "debian-9"
|
14
15
|
end
|
15
16
|
end
|
16
17
|
end
|
@@ -3,14 +3,15 @@ Vagrant.configure("2") do |config|
|
|
3
3
|
|
4
4
|
config.vm.provider :google do |google|
|
5
5
|
|
6
|
-
google.zone = "
|
6
|
+
google.zone = "australia-southeast1-b"
|
7
7
|
|
8
|
-
google.zone_config "
|
9
|
-
|
10
|
-
|
8
|
+
google.zone_config "australia-southeast1-b" do |zone|
|
9
|
+
zone.name = "vagrant-acceptance-scopes-#{('a'..'z').to_a.sample(8).join}"
|
10
|
+
zone.scopes = ['sql-admin',
|
11
11
|
'bigquery',
|
12
12
|
'https://www.googleapis.com/auth/compute']
|
13
|
-
|
13
|
+
zone.disk_type = "pd-ssd"
|
14
|
+
zone.image_family = "debian-9"
|
14
15
|
end
|
15
16
|
end
|
16
17
|
end
|
data/test/unit/base.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require "rubygems"
|
2
|
-
|
2
|
+
|
3
|
+
# Set vagrant env to avoid "Encoded files can't be read" error.
|
4
|
+
ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"] = File.expand_path("../../../", __FILE__)
|
3
5
|
|
4
6
|
# Require Vagrant itself so we can reference the proper
|
5
7
|
# classes to test.
|
@@ -20,7 +20,7 @@ describe VagrantPlugins::Google::Config do
|
|
20
20
|
|
21
21
|
# Ensure tests are not affected by Google credential environment variables
|
22
22
|
before :each do
|
23
|
-
ENV.
|
23
|
+
allow(ENV).to receive_messages(:[] => nil)
|
24
24
|
end
|
25
25
|
|
26
26
|
describe "defaults" do
|
@@ -31,7 +31,7 @@ describe VagrantPlugins::Google::Config do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
its("name") { should match "i-[0-9]{10}-[0-9a-f]{4}" }
|
34
|
-
its("image") { should
|
34
|
+
its("image") { should be_nil }
|
35
35
|
its("instance_group") { should be_nil }
|
36
36
|
its("zone") { should == "us-central1-f" }
|
37
37
|
its("network") { should == "default" }
|
@@ -42,8 +42,9 @@ describe VagrantPlugins::Google::Config do
|
|
42
42
|
its("instance_ready_timeout") { should == 20 }
|
43
43
|
its("metadata") { should == {} }
|
44
44
|
its("tags") { should == [] }
|
45
|
+
its("labels") { should == {} }
|
45
46
|
its("service_accounts") { should == nil }
|
46
|
-
its("preemptible") { should
|
47
|
+
its("preemptible") { should be_falsey }
|
47
48
|
its("auto_restart") { should }
|
48
49
|
its("on_host_maintenance") { should == "MIGRATE" }
|
49
50
|
end
|
@@ -54,31 +55,29 @@ describe VagrantPlugins::Google::Config do
|
|
54
55
|
# each of these attributes to "foo" in isolation, and reads the value
|
55
56
|
# and asserts the proper result comes back out.
|
56
57
|
[:name, :image, :zone, :instance_ready_timeout, :machine_type, :disk_size, :disk_name, :disk_type,
|
57
|
-
:network, :metadata, :can_ip_forward, :external_ip, :autodelete_disk].each do |attribute|
|
58
|
+
:network, :metadata, :labels, :can_ip_forward, :external_ip, :autodelete_disk].each do |attribute|
|
58
59
|
|
59
60
|
it "should not default #{attribute} if overridden" do
|
60
61
|
instance.send("#{attribute}=".to_sym, "foo")
|
61
62
|
instance.finalize!
|
62
|
-
instance.send(attribute).
|
63
|
+
expect(instance.send(attribute)).to eq "foo"
|
63
64
|
end
|
64
65
|
end
|
65
66
|
|
66
67
|
it "should raise error when preemptible and auto_restart is true" do
|
67
68
|
instance.preemptible = true
|
68
69
|
instance.auto_restart = true
|
69
|
-
expected_error = "en.vagrant_google.config.auto_restart_invalid_on_preemptible"
|
70
70
|
instance.finalize!
|
71
71
|
errors = instance.validate("foo")["Google Provider"]
|
72
|
-
errors.
|
72
|
+
expect(errors).to include(/auto_restart_invalid_on_preemptible/)
|
73
73
|
end
|
74
74
|
|
75
75
|
it "should raise error when preemptible and on_host_maintenance is not TERMINATE" do
|
76
76
|
instance.preemptible = true
|
77
77
|
instance.on_host_maintenance = "MIGRATE"
|
78
|
-
expected_error = "en.vagrant_google.config.on_host_maintenance_invalid_on_preemptible"
|
79
78
|
instance.finalize!
|
80
79
|
errors = instance.validate("foo")["Google Provider"]
|
81
|
-
errors.
|
80
|
+
expect(errors).to include(/on_host_maintenance_invalid_on_preemptible/)
|
82
81
|
end
|
83
82
|
end
|
84
83
|
|
@@ -91,15 +90,13 @@ describe VagrantPlugins::Google::Config do
|
|
91
90
|
end
|
92
91
|
|
93
92
|
its("google_client_email") { should be_nil }
|
94
|
-
its("google_key_location") { should be_nil }
|
95
93
|
its("google_json_key_location") { should be_nil }
|
96
94
|
end
|
97
95
|
|
98
96
|
context "with Google credential environment variables" do
|
99
97
|
before :each do
|
100
|
-
ENV.
|
101
|
-
ENV.
|
102
|
-
ENV.stub(:[]).with("GOOGLE_JSON_KEY_LOCATION").and_return("/path/to/json/key")
|
98
|
+
allow(ENV).to receive(:[]).with("GOOGLE_CLIENT_EMAIL").and_return("client_id_email")
|
99
|
+
allow(ENV).to receive(:[]).with("GOOGLE_JSON_KEY_LOCATION").and_return("/path/to/json/key")
|
103
100
|
end
|
104
101
|
|
105
102
|
subject do
|
@@ -109,26 +106,12 @@ describe VagrantPlugins::Google::Config do
|
|
109
106
|
end
|
110
107
|
|
111
108
|
its("google_client_email") { should == "client_id_email" }
|
112
|
-
its("google_key_location") { should == "/path/to/key" }
|
113
109
|
its("google_json_key_location") { should == "/path/to/json/key" }
|
114
110
|
end
|
115
111
|
|
116
|
-
context "With both Google credential environment variables" do
|
117
|
-
before :each do
|
118
|
-
ENV.stub(:[]).with("GOOGLE_CLIENT_EMAIL").and_return("client_id_email")
|
119
|
-
ENV.stub(:[]).with("GOOGLE_KEY_LOCATION").and_return("/path/to/key")
|
120
|
-
ENV.stub(:[]).with("GOOGLE_JSON_KEY_LOCATION").and_return("/path/to/json/key")
|
121
|
-
end
|
122
|
-
|
123
|
-
it "Should return duplicate key location errors" do
|
124
|
-
instance.finalize!
|
125
|
-
expect(instance.validate("foo")["Google Provider"][1]).to include("en.vagrant_google.config.google_duplicate_key_location")
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
112
|
context "With none of the Google credential environment variables set" do
|
130
113
|
before :each do
|
131
|
-
ENV.
|
114
|
+
allow(ENV).to receive(:[]).with("GOOGLE_CLIENT_EMAIL").and_return("client_id_email")
|
132
115
|
end
|
133
116
|
|
134
117
|
it "Should return no key set errors" do
|
@@ -164,8 +147,8 @@ describe VagrantPlugins::Google::Config do
|
|
164
147
|
end
|
165
148
|
|
166
149
|
it "should raise an exception if not finalized" do
|
167
|
-
expect { instance.get_zone_config("us-central1-f") }
|
168
|
-
to raise_error
|
150
|
+
expect { instance.get_zone_config("us-central1-f") }
|
151
|
+
.to raise_error(RuntimeError,/Configuration must be finalized/)
|
169
152
|
end
|
170
153
|
|
171
154
|
context "with no specific config set" do
|
@@ -260,10 +243,10 @@ describe VagrantPlugins::Google::Config do
|
|
260
243
|
second.metadata["two"] = "bar"
|
261
244
|
|
262
245
|
third = first.merge(second)
|
263
|
-
third.metadata.
|
246
|
+
expect(third.metadata).to eq({
|
264
247
|
"one" => "foo",
|
265
248
|
"two" => "bar"
|
266
|
-
}
|
249
|
+
})
|
267
250
|
end
|
268
251
|
end
|
269
252
|
|
@@ -282,16 +265,25 @@ describe VagrantPlugins::Google::Config do
|
|
282
265
|
end
|
283
266
|
end
|
284
267
|
|
268
|
+
before :each do
|
269
|
+
# Stub out required env to make sure we produce only errors we're looking for.
|
270
|
+
allow(ENV).to receive(:[]).with("GOOGLE_CLIENT_EMAIL").and_return("client_id_email")
|
271
|
+
allow(ENV).to receive(:[]).with("GOOGLE_PROJECT_ID").and_return("my-awesome-project")
|
272
|
+
allow(ENV).to receive(:[]).with("GOOGLE_JSON_KEY_LOCATION").and_return("/path/to/json/key")
|
273
|
+
allow(ENV).to receive(:[]).with("GOOGLE_SSH_KEY_LOCATION").and_return("/path/to/ssh/key")
|
274
|
+
allow(File).to receive(:exist?).with("/path/to/json/key").and_return(true)
|
275
|
+
end
|
276
|
+
|
285
277
|
it "should fail auto_restart validation" do
|
286
|
-
|
278
|
+
instance.finalize!
|
287
279
|
errors = subject.validate("foo")["Google Provider"]
|
288
|
-
errors.
|
280
|
+
expect(errors).to include(/auto_restart_invalid_on_preemptible/)
|
289
281
|
end
|
290
282
|
|
291
283
|
it "should fail on_host_maintenance validation" do
|
292
|
-
|
284
|
+
instance.finalize!
|
293
285
|
errors = subject.validate("foo")["Google Provider"]
|
294
|
-
errors.
|
286
|
+
expect(errors).to include(/on_host_maintenance_invalid_on_preemptible/)
|
295
287
|
end
|
296
288
|
end
|
297
289
|
end
|
data/vagrant-google.gemspec
CHANGED
@@ -28,19 +28,20 @@ Gem::Specification.new do |s|
|
|
28
28
|
s.required_rubygems_version = ">= 1.3.6"
|
29
29
|
s.rubyforge_project = "vagrant-google"
|
30
30
|
|
31
|
-
s.add_runtime_dependency "fog-google", "~>
|
32
|
-
s.add_runtime_dependency "
|
31
|
+
s.add_runtime_dependency "fog-google", "~> 1.3"
|
32
|
+
s.add_runtime_dependency "ffi", "1.9.18"
|
33
33
|
|
34
|
-
|
35
|
-
|
34
|
+
# This is a restriction to avoid errors on `failure_message_for_should`
|
35
|
+
# TODO: revise after vagrant_spec goes past >0.0.1 (at master@e623a56)
|
36
|
+
s.add_development_dependency "rspec-legacy_formatters"
|
36
37
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
s.add_development_dependency "
|
41
|
-
s.add_development_dependency "rspec", "~> 2.14"
|
42
|
-
s.add_development_dependency "rubocop", "~> 0.35"
|
38
|
+
s.add_development_dependency "rake", "~> 12.3"
|
39
|
+
s.add_development_dependency "rspec", ">= 3.5.0", "<= 3.6"
|
40
|
+
s.add_development_dependency "rspec-its", "~> 1.2"
|
41
|
+
s.add_development_dependency "rubocop", "~> 0.50"
|
43
42
|
s.add_development_dependency "highline"
|
43
|
+
s.add_development_dependency "pry"
|
44
|
+
s.add_development_dependency "pry-byebug"
|
44
45
|
|
45
46
|
# The following block of code determines the files that should be included
|
46
47
|
# in the gem. It does this by reading all the files in the directory where
|
data/vagrant-spec.config.rb
CHANGED
@@ -3,7 +3,7 @@ require_relative "test/acceptance/base"
|
|
3
3
|
Vagrant::Spec::Acceptance.configure do |c|
|
4
4
|
c.component_paths << File.expand_path("../test/acceptance", __FILE__)
|
5
5
|
c.skeleton_paths << File.expand_path("../test/acceptance/skeletons", __FILE__)
|
6
|
-
|
6
|
+
c.assert_retries = 1
|
7
7
|
c.provider "google",
|
8
8
|
box: File.expand_path("../google-test.box", __FILE__),
|
9
9
|
contexts: ["provider-context/google"]
|
@@ -22,6 +22,8 @@ Vagrant.configure("2") do |config|
|
|
22
22
|
google.google_client_email = "YOUR_SERVICE_ACCOUNT_EMAIL_ADDRESS"
|
23
23
|
google.google_json_key_location = "/path/to/your/private-key.json"
|
24
24
|
|
25
|
+
google.image_family = 'ubuntu-1604-lts'
|
26
|
+
|
25
27
|
override.ssh.username = "mitchellh"
|
26
28
|
override.ssh.private_key_path = "~/.ssh/id_rsa"
|
27
29
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-google
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0.rc0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Johnson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-03-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog-google
|
@@ -17,36 +17,30 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: '1.3'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: '1.3'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: ffi
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - '='
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
35
|
-
- - ">"
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 0.8.5
|
34
|
+
version: 1.9.18
|
38
35
|
type: :runtime
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
38
|
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: '0.9'
|
45
|
-
- - ">"
|
39
|
+
- - '='
|
46
40
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
41
|
+
version: 1.9.18
|
48
42
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
43
|
+
name: rspec-legacy_formatters
|
50
44
|
requirement: !ruby/object:Gem::Requirement
|
51
45
|
requirements:
|
52
46
|
- - ">="
|
@@ -60,61 +54,67 @@ dependencies:
|
|
60
54
|
- !ruby/object:Gem::Version
|
61
55
|
version: '0'
|
62
56
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
57
|
+
name: rake
|
64
58
|
requirement: !ruby/object:Gem::Requirement
|
65
59
|
requirements:
|
66
|
-
- - "
|
60
|
+
- - "~>"
|
67
61
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
62
|
+
version: '12.3'
|
69
63
|
type: :development
|
70
64
|
prerelease: false
|
71
65
|
version_requirements: !ruby/object:Gem::Requirement
|
72
66
|
requirements:
|
73
|
-
- - "
|
67
|
+
- - "~>"
|
74
68
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
69
|
+
version: '12.3'
|
76
70
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
71
|
+
name: rspec
|
78
72
|
requirement: !ruby/object:Gem::Requirement
|
79
73
|
requirements:
|
80
|
-
- - "
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 3.5.0
|
77
|
+
- - "<="
|
81
78
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
79
|
+
version: '3.6'
|
83
80
|
type: :development
|
84
81
|
prerelease: false
|
85
82
|
version_requirements: !ruby/object:Gem::Requirement
|
86
83
|
requirements:
|
87
|
-
- - "
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 3.5.0
|
87
|
+
- - "<="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '3.6'
|
90
90
|
- !ruby/object:Gem::Dependency
|
91
|
-
name: rspec
|
91
|
+
name: rspec-its
|
92
92
|
requirement: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '2
|
96
|
+
version: '1.2'
|
97
97
|
type: :development
|
98
98
|
prerelease: false
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '2
|
103
|
+
version: '1.2'
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: rubocop
|
106
106
|
requirement: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0.
|
110
|
+
version: '0.50'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
113
|
version_requirements: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0.
|
117
|
+
version: '0.50'
|
118
118
|
- !ruby/object:Gem::Dependency
|
119
119
|
name: highline
|
120
120
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,6 +129,34 @@ dependencies:
|
|
129
129
|
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
name: pry
|
134
|
+
requirement: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
type: :development
|
140
|
+
prerelease: false
|
141
|
+
version_requirements: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: pry-byebug
|
148
|
+
requirement: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
type: :development
|
154
|
+
prerelease: false
|
155
|
+
version_requirements: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
132
160
|
description: Enables Vagrant to manage Google Compute Engine instances.
|
133
161
|
email: vagrant-google@google.com
|
134
162
|
executables: []
|
@@ -164,7 +192,6 @@ files:
|
|
164
192
|
- lib/vagrant-google/action/run_instance.rb
|
165
193
|
- lib/vagrant-google/action/start_instance.rb
|
166
194
|
- lib/vagrant-google/action/stop_instance.rb
|
167
|
-
- lib/vagrant-google/action/sync_folders.rb
|
168
195
|
- lib/vagrant-google/action/terminate_instance.rb
|
169
196
|
- lib/vagrant-google/action/timed_provision.rb
|
170
197
|
- lib/vagrant-google/action/warn_networks.rb
|