vagrant-google 1.0.0 → 2.0.0.rc0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|