vagrant-google 0.1.4 → 0.1.5.rc1
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 +7 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +9 -0
- data/Gemfile +9 -4
- data/README.md +67 -24
- data/Rakefile +12 -15
- data/{example_box → example_boxes}/README.md +1 -1
- data/example_boxes/gce/metadata.json +3 -0
- data/{example_box → example_boxes/gce-test}/metadata.json +0 -0
- data/google-test.box +0 -0
- data/lib/vagrant-google/action/connect_google.rb +15 -7
- data/lib/vagrant-google/action/run_instance.rb +66 -18
- data/lib/vagrant-google/action/sync_folders.rb +21 -1
- data/lib/vagrant-google/action/terminate_instance.rb +2 -1
- data/lib/vagrant-google/action.rb +1 -1
- data/lib/vagrant-google/config.rb +58 -3
- data/lib/vagrant-google/errors.rb +8 -0
- data/lib/vagrant-google/version.rb +1 -1
- data/locales/en.yml +25 -11
- data/tasks/acceptance.rake +38 -0
- data/tasks/bundler.rake +3 -0
- data/tasks/test.rake +8 -0
- data/test/acceptance/base.rb +2 -0
- data/test/acceptance/shared/context_google.rb +3 -0
- data/test/unit/base.rb +19 -0
- data/{spec/vagrant-google/config_spec.rb → test/unit/common/config_test.rb} +50 -3
- data/vagrant-google.gemspec +7 -9
- data/vagrant-spec.config.rb +10 -0
- metadata +49 -81
- data/CONTRIB.md +0 -64
data/locales/en.yml
CHANGED
@@ -4,17 +4,15 @@ en:
|
|
4
4
|
The machine is already created.
|
5
5
|
launching_instance: |-
|
6
6
|
Launching an instance with the following settings...
|
7
|
-
launch_vpc_warning: |-
|
8
|
-
Warning! You're launching this instance into a VPC without an
|
9
|
-
elastic IP. Please verify you're properly connected to a VPN so
|
10
|
-
you can access this machine, otherwise Vagrant will not be able
|
11
|
-
to SSH into it.
|
12
7
|
not_created: |-
|
13
8
|
Instance is not created. Please run `vagrant up` first.
|
14
9
|
ready: |-
|
15
10
|
Machine is booted and ready for use!
|
16
11
|
ready_ssh: |-
|
17
12
|
Machine is ready for SSH access!
|
13
|
+
rsync_not_found_warning: |-
|
14
|
+
Warning! Folder sync disabled because the rsync binary is missing.
|
15
|
+
Make sure rsync is installed and the binary can be found in the PATH.
|
18
16
|
rsync_folder: |-
|
19
17
|
Rsyncing folder: %{hostpath} => %{guestpath}
|
20
18
|
terminating: |-
|
@@ -30,12 +28,12 @@ en:
|
|
30
28
|
will_not_destroy: |-
|
31
29
|
The instance '%{name}' will not be destroyed, since the confirmation
|
32
30
|
was declined.
|
33
|
-
|
31
|
+
#-------------------------------------------------------------------------------
|
32
|
+
# Translations for config validation errors
|
33
|
+
#-------------------------------------------------------------------------------
|
34
34
|
config:
|
35
35
|
google_client_email_required: |-
|
36
36
|
A Google Service Account client email is required via "google_client_email"
|
37
|
-
machine_required: |-
|
38
|
-
An MACHINE_TYPE must be configured via "machine"
|
39
37
|
private_key_missing: |-
|
40
38
|
The specified private key for Google could not be found
|
41
39
|
zone_required: |-
|
@@ -43,10 +41,18 @@ en:
|
|
43
41
|
name_required: |-
|
44
42
|
An instance name must be specified via "name"
|
45
43
|
google_key_location_required: |-
|
46
|
-
A private key pathname is required via
|
44
|
+
A private key pathname is required via:
|
45
|
+
"google_json_key_location" (for JSON keys)
|
46
|
+
or
|
47
|
+
"google_key_location" (for P12 keys)
|
48
|
+
google_duplicate_key_location: |-
|
49
|
+
Both "google_json_key_location" and "google_key_location" are specified.
|
50
|
+
Config must specify only one key location.
|
47
51
|
google_project_id_required: |-
|
48
52
|
A Google Cloud Project ID is required via "google_project_id"
|
49
|
-
|
53
|
+
#-------------------------------------------------------------------------------
|
54
|
+
# Translations for exception classes
|
55
|
+
#-------------------------------------------------------------------------------
|
50
56
|
errors:
|
51
57
|
fog_error: |-
|
52
58
|
There was an error talking to Google. The error message is shown
|
@@ -65,7 +71,15 @@ en:
|
|
65
71
|
Host path: %{hostpath}
|
66
72
|
Guest path: %{guestpath}
|
67
73
|
Error: %{stderr}
|
68
|
-
|
74
|
+
external_ip_error: |-
|
75
|
+
Specified external IP address is invalid or already in use.
|
76
|
+
IP address requested: %{externalip}
|
77
|
+
disk_type_error: |-
|
78
|
+
Specified disk type is not available in the region selected.
|
79
|
+
Disk type requested: %{disktype}
|
80
|
+
#-------------------------------------------------------------------------------
|
81
|
+
# Translations for machine states
|
82
|
+
#-------------------------------------------------------------------------------
|
69
83
|
states:
|
70
84
|
short_not_created: |-
|
71
85
|
not created
|
@@ -0,0 +1,38 @@
|
|
1
|
+
namespace :acceptance do
|
2
|
+
|
3
|
+
desc "shows components that can be tested separately"
|
4
|
+
task :components do
|
5
|
+
exec("bundle exec vagrant-spec components")
|
6
|
+
end
|
7
|
+
|
8
|
+
desc "runs acceptance tests using vagrant-spec"
|
9
|
+
task :run do
|
10
|
+
|
11
|
+
puts "NOTE: For acceptance tests to be functional, correct ssh key needs to be added to GCE metadata."
|
12
|
+
|
13
|
+
if !ENV["GOOGLE_JSON_KEY_LOCATION"] && !ENV["GOOGLE_KEY_LOCATION"]
|
14
|
+
abort ("Environment variables GOOGLE_JSON_KEY_LOCATION or GOOGLE_KEY_LOCATION are not set. Aborting.")
|
15
|
+
end
|
16
|
+
|
17
|
+
if !ENV["GOOGLE_PROJECT_ID"]
|
18
|
+
abort ("Environment variable GOOGLE_PROJECT_ID is not set. Aborting.")
|
19
|
+
end
|
20
|
+
|
21
|
+
if !ENV["GOOGLE_CLIENT_EMAIL"]
|
22
|
+
abort ("Environment variable GOOGLE_CLIENT_EMAIL is not set. Aborting.")
|
23
|
+
end
|
24
|
+
|
25
|
+
if !ENV["GOOGLE_SSH_USER"]
|
26
|
+
puts "WARNING: GOOGLE_SSH_USER variable is not set. Will try to start tests using insecure Vagrant private key."
|
27
|
+
end
|
28
|
+
|
29
|
+
components = %w(
|
30
|
+
provisioner/shell
|
31
|
+
).map{ |s| "provider/google/#{s}" }
|
32
|
+
|
33
|
+
command = "bundle exec vagrant-spec test --components=#{components.join(" ")}"
|
34
|
+
puts command
|
35
|
+
puts
|
36
|
+
exec(command)
|
37
|
+
end
|
38
|
+
end
|
data/tasks/bundler.rake
ADDED
data/tasks/test.rake
ADDED
data/test/unit/base.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "rspec/autorun"
|
3
|
+
|
4
|
+
# Require Vagrant itself so we can reference the proper
|
5
|
+
# classes to test.
|
6
|
+
require "vagrant"
|
7
|
+
require "vagrant-google"
|
8
|
+
|
9
|
+
# Add the test directory to the load path
|
10
|
+
$:.unshift File.expand_path("../../", __FILE__)
|
11
|
+
|
12
|
+
# Do not buffer output
|
13
|
+
$stdout.sync = true
|
14
|
+
$stderr.sync = true
|
15
|
+
|
16
|
+
# Configure RSpec
|
17
|
+
RSpec.configure do |c|
|
18
|
+
c.formatter = :progress
|
19
|
+
end
|
@@ -11,6 +11,8 @@
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
|
+
require File.expand_path("../../base", __FILE__)
|
15
|
+
|
14
16
|
require "vagrant-google/config"
|
15
17
|
|
16
18
|
describe VagrantPlugins::Google::Config do
|
@@ -30,11 +32,13 @@ describe VagrantPlugins::Google::Config do
|
|
30
32
|
t = Time.now
|
31
33
|
|
32
34
|
its("name") { should == "i-#{t.year}#{t.month.to_s.rjust(2,'0')}#{t.day.to_s.rjust(2,'0')}#{t.hour.to_s.rjust(2,'0')}" }
|
33
|
-
its("image") { should == "debian-7-wheezy-
|
35
|
+
its("image") { should == "debian-7-wheezy-v20150127" }
|
34
36
|
its("zone") { should == "us-central1-f" }
|
35
37
|
its("network") { should == "default" }
|
36
38
|
its("machine_type") { should == "n1-standard-1" }
|
37
39
|
its("disk_size") { should == 10 }
|
40
|
+
its("disk_name") { should be_nil }
|
41
|
+
its("disk_type") { should == "pd-standard" }
|
38
42
|
its("instance_ready_timeout") { should == 20 }
|
39
43
|
its("metadata") { should == {} }
|
40
44
|
its("tags") { should == [] }
|
@@ -45,8 +49,8 @@ describe VagrantPlugins::Google::Config do
|
|
45
49
|
# simple boilerplate test, so I cut corners here. It just sets
|
46
50
|
# each of these attributes to "foo" in isolation, and reads the value
|
47
51
|
# and asserts the proper result comes back out.
|
48
|
-
[:name, :image, :zone, :instance_ready_timeout, :machine_type, :disk_size,
|
49
|
-
:network, :metadata].each do |attribute|
|
52
|
+
[:name, :image, :zone, :instance_ready_timeout, :machine_type, :disk_size, :disk_name, :disk_type,
|
53
|
+
:network, :metadata, :can_ip_forward, :external_ip, :autodelete_disk].each do |attribute|
|
50
54
|
|
51
55
|
it "should not default #{attribute} if overridden" do
|
52
56
|
instance.send("#{attribute}=".to_sym, "foo")
|
@@ -66,12 +70,14 @@ describe VagrantPlugins::Google::Config do
|
|
66
70
|
|
67
71
|
its("google_client_email") { should be_nil }
|
68
72
|
its("google_key_location") { should be_nil }
|
73
|
+
its("google_json_key_location") { should be_nil }
|
69
74
|
end
|
70
75
|
|
71
76
|
context "with Google credential environment variables" do
|
72
77
|
before :each do
|
73
78
|
ENV.stub(:[]).with("GOOGLE_CLIENT_EMAIL").and_return("client_id_email")
|
74
79
|
ENV.stub(:[]).with("GOOGLE_KEY_LOCATION").and_return("/path/to/key")
|
80
|
+
ENV.stub(:[]).with("GOOGLE_JSON_KEY_LOCATION").and_return("/path/to/json/key")
|
75
81
|
end
|
76
82
|
|
77
83
|
subject do
|
@@ -82,6 +88,31 @@ describe VagrantPlugins::Google::Config do
|
|
82
88
|
|
83
89
|
its("google_client_email") { should == "client_id_email" }
|
84
90
|
its("google_key_location") { should == "/path/to/key" }
|
91
|
+
its("google_json_key_location") { should == "/path/to/json/key" }
|
92
|
+
end
|
93
|
+
|
94
|
+
context "With both Google credential environment variables" do
|
95
|
+
before :each do
|
96
|
+
ENV.stub(:[]).with("GOOGLE_CLIENT_EMAIL").and_return("client_id_email")
|
97
|
+
ENV.stub(:[]).with("GOOGLE_KEY_LOCATION").and_return("/path/to/key")
|
98
|
+
ENV.stub(:[]).with("GOOGLE_JSON_KEY_LOCATION").and_return("/path/to/json/key")
|
99
|
+
end
|
100
|
+
|
101
|
+
it "Should return duplicate key location errors" do
|
102
|
+
instance.finalize!
|
103
|
+
expect(instance.validate("foo")["Google Provider"][1]).to include("en.vagrant_google.config.google_duplicate_key_location")
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
context "With none of the Google credential environment variables set" do
|
108
|
+
before :each do
|
109
|
+
ENV.stub(:[]).with("GOOGLE_CLIENT_EMAIL").and_return("client_id_email")
|
110
|
+
end
|
111
|
+
|
112
|
+
it "Should return no key set errors" do
|
113
|
+
instance.finalize!
|
114
|
+
expect(instance.validate("foo")["Google Provider"][1]).to include("en.vagrant_google.config.google_key_location_required")
|
115
|
+
end
|
85
116
|
end
|
86
117
|
end
|
87
118
|
|
@@ -89,9 +120,13 @@ describe VagrantPlugins::Google::Config do
|
|
89
120
|
let(:config_image) { "foo" }
|
90
121
|
let(:config_machine_type) { "foo" }
|
91
122
|
let(:config_disk_size) { 99 }
|
123
|
+
let(:config_disk_name) { "foo" }
|
124
|
+
let(:config_disk_type) { "foo" }
|
92
125
|
let(:config_name) { "foo" }
|
93
126
|
let(:config_zone) { "foo" }
|
94
127
|
let(:config_network) { "foo" }
|
128
|
+
let(:can_ip_forward) { true }
|
129
|
+
let(:external_ip) { "foo" }
|
95
130
|
|
96
131
|
def set_test_values(instance)
|
97
132
|
instance.name = config_name
|
@@ -99,7 +134,11 @@ describe VagrantPlugins::Google::Config do
|
|
99
134
|
instance.image = config_image
|
100
135
|
instance.machine_type = config_machine_type
|
101
136
|
instance.disk_size = config_disk_size
|
137
|
+
instance.disk_name = config_disk_name
|
138
|
+
instance.disk_type = config_disk_type
|
102
139
|
instance.zone = config_zone
|
140
|
+
instance.can_ip_forward = can_ip_forward
|
141
|
+
instance.external_ip = external_ip
|
103
142
|
end
|
104
143
|
|
105
144
|
it "should raise an exception if not finalized" do
|
@@ -123,8 +162,12 @@ describe VagrantPlugins::Google::Config do
|
|
123
162
|
its("image") { should == config_image }
|
124
163
|
its("machine_type") { should == config_machine_type }
|
125
164
|
its("disk_size") { should == config_disk_size }
|
165
|
+
its("disk_name") { should == config_disk_name }
|
166
|
+
its("disk_type") { should == config_disk_type }
|
126
167
|
its("network") { should == config_network }
|
127
168
|
its("zone") { should == config_zone }
|
169
|
+
its("can_ip_forward") { should == can_ip_forward }
|
170
|
+
its("external_ip") { should == external_ip }
|
128
171
|
end
|
129
172
|
|
130
173
|
context "with a specific config set" do
|
@@ -147,8 +190,12 @@ describe VagrantPlugins::Google::Config do
|
|
147
190
|
its("image") { should == config_image }
|
148
191
|
its("machine_type") { should == config_machine_type }
|
149
192
|
its("disk_size") { should == config_disk_size }
|
193
|
+
its("disk_name") { should == config_disk_name }
|
194
|
+
its("disk_type") { should == config_disk_type }
|
150
195
|
its("network") { should == config_network }
|
151
196
|
its("zone") { should == zone_name }
|
197
|
+
its("can_ip_forward") { should == can_ip_forward }
|
198
|
+
its("external_ip") { should == external_ip }
|
152
199
|
end
|
153
200
|
|
154
201
|
describe "inheritance of parent config" do
|
data/vagrant-google.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# Copyright 2013 Google Inc. All Rights Reserved.
|
2
|
-
#
|
2
|
+
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
|
-
#
|
6
|
+
#
|
7
7
|
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
8
|
+
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -19,8 +19,8 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.name = "vagrant-google"
|
20
20
|
s.version = VagrantPlugins::Google::VERSION
|
21
21
|
s.platform = Gem::Platform::RUBY
|
22
|
-
s.authors = "Eric Johnson"
|
23
|
-
s.email = "
|
22
|
+
s.authors = ["Eric Johnson", "Artem Yakimenko"]
|
23
|
+
s.email = "vagrant-google@google.com"
|
24
24
|
s.homepage = "http://www.vagrantup.com"
|
25
25
|
s.summary = "Vagrant provider plugin for Google Compute Engine."
|
26
26
|
s.description = "Enables Vagrant to manage Google Compute Engine instances."
|
@@ -28,16 +28,14 @@ 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", "
|
31
|
+
s.add_runtime_dependency "fog", "1.29"
|
32
32
|
s.add_runtime_dependency "google-api-client"
|
33
33
|
#s.add_runtime_dependency "pry"
|
34
34
|
#s.add_runtime_dependency "pry-nav"
|
35
35
|
#s.add_runtime_dependency "rb-readline"
|
36
36
|
|
37
37
|
s.add_development_dependency "rake"
|
38
|
-
s.add_development_dependency "rspec
|
39
|
-
s.add_development_dependency "rspec-expectations", "~> 2.12.1"
|
40
|
-
s.add_development_dependency "rspec-mocks", "~> 2.12.1"
|
38
|
+
s.add_development_dependency "rspec", "~> 2.14.0"
|
41
39
|
|
42
40
|
# The following block of code determines the files that should be included
|
43
41
|
# in the gem. It does this by reading all the files in the directory where
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require_relative "test/acceptance/base"
|
2
|
+
|
3
|
+
Vagrant::Spec::Acceptance.configure do |c|
|
4
|
+
c.component_paths << File.expand_path("../test/acceptance", __FILE__)
|
5
|
+
c.skeleton_paths << File.expand_path("../test/acceptance/skeletons", __FILE__)
|
6
|
+
|
7
|
+
c.provider "google",
|
8
|
+
box: "https://github.com/mitchellh/vagrant-google/raw/master/google-test.box",
|
9
|
+
contexts: ["provider-context/google"]
|
10
|
+
end
|
metadata
CHANGED
@@ -1,173 +1,141 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-google
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.5.rc1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Eric Johnson
|
8
|
+
- Artem Yakimenko
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2015-05-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
17
|
requirements:
|
19
|
-
- -
|
18
|
+
- - '='
|
20
19
|
- !ruby/object:Gem::Version
|
21
|
-
version: '1.
|
20
|
+
version: '1.29'
|
22
21
|
type: :runtime
|
23
22
|
prerelease: false
|
24
23
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
24
|
requirements:
|
27
|
-
- -
|
25
|
+
- - '='
|
28
26
|
- !ruby/object:Gem::Version
|
29
|
-
version: '1.
|
27
|
+
version: '1.29'
|
30
28
|
- !ruby/object:Gem::Dependency
|
31
29
|
name: google-api-client
|
32
30
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
31
|
requirements:
|
35
|
-
- -
|
32
|
+
- - '>='
|
36
33
|
- !ruby/object:Gem::Version
|
37
34
|
version: '0'
|
38
35
|
type: :runtime
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
38
|
requirements:
|
43
|
-
- -
|
39
|
+
- - '>='
|
44
40
|
- !ruby/object:Gem::Version
|
45
41
|
version: '0'
|
46
42
|
- !ruby/object:Gem::Dependency
|
47
43
|
name: rake
|
48
44
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
45
|
requirements:
|
51
|
-
- -
|
46
|
+
- - '>='
|
52
47
|
- !ruby/object:Gem::Version
|
53
48
|
version: '0'
|
54
49
|
type: :development
|
55
50
|
prerelease: false
|
56
51
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
52
|
requirements:
|
59
|
-
- -
|
53
|
+
- - '>='
|
60
54
|
- !ruby/object:Gem::Version
|
61
55
|
version: '0'
|
62
56
|
- !ruby/object:Gem::Dependency
|
63
|
-
name: rspec
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 2.12.2
|
70
|
-
type: :development
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 2.12.2
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: rspec-expectations
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 2.12.1
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 2.12.1
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: rspec-mocks
|
57
|
+
name: rspec
|
96
58
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
59
|
requirements:
|
99
60
|
- - ~>
|
100
61
|
- !ruby/object:Gem::Version
|
101
|
-
version: 2.
|
62
|
+
version: 2.14.0
|
102
63
|
type: :development
|
103
64
|
prerelease: false
|
104
65
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
66
|
requirements:
|
107
67
|
- - ~>
|
108
68
|
- !ruby/object:Gem::Version
|
109
|
-
version: 2.
|
69
|
+
version: 2.14.0
|
110
70
|
description: Enables Vagrant to manage Google Compute Engine instances.
|
111
|
-
email:
|
71
|
+
email: vagrant-google@google.com
|
112
72
|
executables: []
|
113
73
|
extensions: []
|
114
74
|
extra_rdoc_files: []
|
115
75
|
files:
|
116
|
-
- Rakefile
|
117
|
-
- README.md
|
118
|
-
- vagrant-google.gemspec
|
119
|
-
- locales/en.yml
|
120
76
|
- CHANGELOG.md
|
121
|
-
- LICENSE
|
122
|
-
- CONTRIB.md
|
123
77
|
- Gemfile
|
78
|
+
- LICENSE
|
79
|
+
- README.md
|
80
|
+
- Rakefile
|
81
|
+
- example_boxes/README.md
|
82
|
+
- example_boxes/gce-test/metadata.json
|
83
|
+
- example_boxes/gce/metadata.json
|
84
|
+
- google-test.box
|
85
|
+
- google.box
|
86
|
+
- lib/vagrant-google.rb
|
124
87
|
- lib/vagrant-google/action.rb
|
125
|
-
- lib/vagrant-google/action/run_instance.rb
|
126
|
-
- lib/vagrant-google/action/timed_provision.rb
|
127
|
-
- lib/vagrant-google/action/terminate_instance.rb
|
128
|
-
- lib/vagrant-google/action/read_ssh_info.rb
|
129
|
-
- lib/vagrant-google/action/message_not_created.rb
|
130
88
|
- lib/vagrant-google/action/connect_google.rb
|
131
89
|
- lib/vagrant-google/action/is_created.rb
|
90
|
+
- lib/vagrant-google/action/message_already_created.rb
|
91
|
+
- lib/vagrant-google/action/message_not_created.rb
|
132
92
|
- lib/vagrant-google/action/message_will_not_destroy.rb
|
133
|
-
- lib/vagrant-google/action/
|
93
|
+
- lib/vagrant-google/action/read_ssh_info.rb
|
134
94
|
- lib/vagrant-google/action/read_state.rb
|
95
|
+
- lib/vagrant-google/action/run_instance.rb
|
135
96
|
- lib/vagrant-google/action/sync_folders.rb
|
136
|
-
- lib/vagrant-google/action/
|
97
|
+
- lib/vagrant-google/action/terminate_instance.rb
|
98
|
+
- lib/vagrant-google/action/timed_provision.rb
|
99
|
+
- lib/vagrant-google/action/warn_networks.rb
|
137
100
|
- lib/vagrant-google/config.rb
|
101
|
+
- lib/vagrant-google/errors.rb
|
138
102
|
- lib/vagrant-google/plugin.rb
|
139
|
-
- lib/vagrant-google/version.rb
|
140
103
|
- lib/vagrant-google/provider.rb
|
141
|
-
- lib/vagrant-google/errors.rb
|
142
104
|
- lib/vagrant-google/util/timer.rb
|
143
|
-
- lib/vagrant-google.rb
|
144
|
-
-
|
145
|
-
-
|
146
|
-
-
|
147
|
-
-
|
105
|
+
- lib/vagrant-google/version.rb
|
106
|
+
- locales/en.yml
|
107
|
+
- tasks/acceptance.rake
|
108
|
+
- tasks/bundler.rake
|
109
|
+
- tasks/test.rake
|
110
|
+
- test/acceptance/base.rb
|
111
|
+
- test/acceptance/shared/context_google.rb
|
112
|
+
- test/unit/base.rb
|
113
|
+
- test/unit/common/config_test.rb
|
114
|
+
- vagrant-google.gemspec
|
115
|
+
- vagrant-spec.config.rb
|
148
116
|
- .gitignore
|
117
|
+
- .ruby-version
|
149
118
|
homepage: http://www.vagrantup.com
|
150
119
|
licenses: []
|
120
|
+
metadata: {}
|
151
121
|
post_install_message:
|
152
122
|
rdoc_options: []
|
153
123
|
require_paths:
|
154
124
|
- lib
|
155
125
|
required_ruby_version: !ruby/object:Gem::Requirement
|
156
|
-
none: false
|
157
126
|
requirements:
|
158
|
-
- -
|
127
|
+
- - '>='
|
159
128
|
- !ruby/object:Gem::Version
|
160
129
|
version: '0'
|
161
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
131
|
requirements:
|
164
|
-
- -
|
132
|
+
- - '>='
|
165
133
|
- !ruby/object:Gem::Version
|
166
134
|
version: 1.3.6
|
167
135
|
requirements: []
|
168
136
|
rubyforge_project: vagrant-google
|
169
|
-
rubygems_version:
|
137
|
+
rubygems_version: 2.0.14
|
170
138
|
signing_key:
|
171
|
-
specification_version:
|
139
|
+
specification_version: 4
|
172
140
|
summary: Vagrant provider plugin for Google Compute Engine.
|
173
141
|
test_files: []
|
data/CONTRIB.md
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
# How to become a contributor and submit your own code
|
2
|
-
|
3
|
-
## Contributor License Agreements
|
4
|
-
|
5
|
-
We'd love to accept your sample apps and patches! Before we can take them, we
|
6
|
-
have to jump a couple of legal hurdles.
|
7
|
-
|
8
|
-
Please fill out either the individual or corporate Contributor License Agreement
|
9
|
-
(CLA).
|
10
|
-
|
11
|
-
* If you are an individual writing original source code and you're sure you
|
12
|
-
own the intellectual property, then you'll need to sign an [individual CLA]
|
13
|
-
(https://developers.google.com/open-source/cla/individual).
|
14
|
-
* If you work for a company that wants to allow you to contribute your work,
|
15
|
-
then you'll need to sign a [corporate CLA]
|
16
|
-
(https://developers.google.com/open-source/cla/corporate).
|
17
|
-
|
18
|
-
Follow either of the two links above to access the appropriate CLA and
|
19
|
-
instructions for how to sign and return it. Once we receive it, we'll be able to
|
20
|
-
accept your pull requests.
|
21
|
-
|
22
|
-
## Contributing A Patch
|
23
|
-
|
24
|
-
1. Submit an issue describing your proposed change to the repo in question.
|
25
|
-
1. The repo owner will respond to your issue promptly.
|
26
|
-
1. If your proposed change is accepted, and you haven't already done so, sign a
|
27
|
-
Contributor License Agreement (see details above).
|
28
|
-
1. Fork the desired repo, develop and test your code changes.
|
29
|
-
1. Ensure that your code adheres to the existing style in the sample to which
|
30
|
-
you are contributing. Refer to the
|
31
|
-
[Google Cloud Platform Samples Style Guide]
|
32
|
-
(https://github.com/GoogleCloudPlatform/Template/wiki/style.html) for the
|
33
|
-
recommended coding standards for this organization.
|
34
|
-
1. Ensure that your code has an appropriate set of unit tests which all pass.
|
35
|
-
1. Submit a pull request.
|
36
|
-
|
37
|
-
## Contributing A New Sample App
|
38
|
-
|
39
|
-
1. Submit an issue to the GoogleCloudPlatform/Template repo describing your
|
40
|
-
proposed sample app.
|
41
|
-
1. The Template repo owner will respond to your enhancement issue promptly.
|
42
|
-
Instructional value is the top priority when evaluating new app proposals for
|
43
|
-
this collection of repos.
|
44
|
-
1. If your proposal is accepted, and you haven't already done so, sign a
|
45
|
-
Contributor License Agreement (see details above).
|
46
|
-
1. Create your own repo for your app following this naming convention:
|
47
|
-
* {product}-{app-name}-{language}
|
48
|
-
* products: appengine, compute, storage, bigquery, prediction, cloudsql
|
49
|
-
* example: appengine-guestbook-python
|
50
|
-
* For multi-product apps, concatenate the primary products, like this:
|
51
|
-
compute-appengine-demo-suite-python.
|
52
|
-
* For multi-language apps, concatenate the primary languages like this:
|
53
|
-
appengine-sockets-python-java-go.
|
54
|
-
|
55
|
-
1. Clone the README.md, CONTRIB.md and LICENSE files from the
|
56
|
-
GoogleCloudPlatform/Template repo.
|
57
|
-
1. Ensure that your code adheres to the existing style in the sample to which
|
58
|
-
you are contributing. Refer to the
|
59
|
-
[Google Cloud Platform Samples Style Guide]
|
60
|
-
(https://github.com/GoogleCloudPlatform/Template/wiki/style.html) for the
|
61
|
-
recommended coding standards for this organization.
|
62
|
-
1. Ensure that your code has an appropriate set of unit tests which all pass.
|
63
|
-
1. Submit a request to fork your repo in GoogleCloudPlatform organizationt via
|
64
|
-
your proposal issue.
|