vagrant-google 0.2.5 → 1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8971a97ec0fbaaf02100bdd663a82a113a9db1e
4
- data.tar.gz: ff938baae5e99f46cb83a0d5df6430d77c6b8415
3
+ metadata.gz: 986539c1bfd5784cb5732d473915fc64bc101aad
4
+ data.tar.gz: 7f9132a241dc5786c4d171d4c1180fc1c28471fd
5
5
  SHA512:
6
- metadata.gz: b472fb5cd59a0d8cfc3c80c788a22f79c619d2354123e7eab686a95760692b6b62086098a43b20e1d2d34a7ca8ee16e5b86d6171c8cfa403f9c4678c8edc0bef
7
- data.tar.gz: 4506ef15af5b23fee8ba00a75bc3640797494947de6328756fe16361ae8d7c4b4908275f73d324b1ac939e936f6312a3633fe383cf20c546c1006bf70f30a504
6
+ metadata.gz: 94f9216128e01feb318d17920cc15ecb50294ff82bb28d4dd9550379d2fa9007aeccf7d458124e40300b9c65ee0a61de4b94b888476939d7a909ef4fbcecc0b9
7
+ data.tar.gz: 7537253a0dde9d6d842b35e8453894da3dee4a4145b3f6cdb32832000c732f4f007b85ea67f4684db731aa91969f749c7ead68d72044da67d267096ed15d81de
data/.ruby-version CHANGED
@@ -1,2 +1,2 @@
1
- 2.2.3
2
- # Tracking Vagrant 1.8.5
1
+ 2.3.0
2
+ # Tracking Vagrant 1.9.7
data/Gemfile CHANGED
@@ -14,7 +14,10 @@
14
14
 
15
15
  source "https://rubygems.org"
16
16
 
17
- gemspec
17
+ group :plugins do
18
+ # Dependencies need to be specified in vagrant-google.gemspec
19
+ gemspec
20
+ end
18
21
 
19
22
  group :development do
20
23
  # We depend on Vagrant for development, but we don't add it as a
@@ -23,7 +26,3 @@ group :development do
23
26
  gem 'vagrant', git: "https://github.com/mitchellh/vagrant.git"
24
27
  gem 'vagrant-spec', git: "https://github.com/mitchellh/vagrant-spec.git"
25
28
  end
26
-
27
- group :plugins do
28
- gem "vagrant-google" , path: "."
29
- end
data/README.md CHANGED
@@ -1,9 +1,8 @@
1
1
  # Vagrant Google Compute Engine (GCE) Provider
2
2
 
3
- <span class="badges">
3
+
4
4
  [![Gem Version](https://badge.fury.io/rb/vagrant-google.png)][gem]
5
5
  [![Dependency Status](https://gemnasium.com/mitchellh/vagrant-google.png)][gemnasium]
6
- </span>
7
6
 
8
7
  [gem]: https://rubygems.org/gems/vagrant-google
9
8
  [gemnasium]: https://gemnasium.com/mitchellh/vagrant-google
@@ -12,7 +11,7 @@ This is a [Vagrant](http://www.vagrantup.com) 1.2+ plugin that adds an
12
11
  [Google Compute Engine](http://cloud.google.com/compute/) (GCE) provider to
13
12
  Vagrant, allowing Vagrant to control and provision instances in GCE.
14
13
 
15
- **NOTE:** This plugin requires Vagrant 1.2+.
14
+ The maintainers for this plugin are @temikus(primary), @erjohnso(backup).
16
15
 
17
16
  ## Features
18
17
 
@@ -188,10 +187,12 @@ This provider exposes quite a few provider-specific configuration options:
188
187
  e.g. 10/08/2015 13:15:15 is "i-2015081013-15637fda".
189
188
  * `network` - The name of the network to use for the instance. Default is
190
189
  "default".
190
+ * `subnetwork` - The name of the subnetwork to use for the instance.
191
191
  * `tags` - An array of tags to apply to this instance.
192
192
  * `zone` - The zone name where the instance will be created.
193
193
  * `can_ip_forward` - Boolean whether to enable IP Forwarding.
194
- * `external_ip` - The external IP address to use (supports names).
194
+ * `external_ip` - The external IP address to use (supports names). Set to `false` to not assign an external address.
195
+ * `use_private_ip` - Boolean whether to use private IP for SSH/provisioning. Default is false.
195
196
  * `preemptible` - Boolean whether to enable preemptibility. Default is false.
196
197
  * `auto_restart` - Boolean whether to enable auto_restart. Default is true.
197
198
  * `on_host_maintenance` - What to do on host maintenance. Default is "MIGRATE".
@@ -42,11 +42,24 @@ module VagrantPlugins
42
42
  return nil
43
43
  end
44
44
 
45
- # Read SSH network info
46
- return {
45
+ # Get private_ip setting
46
+ use_private_ip = machine.provider_config.get_zone_config(zone).use_private_ip
47
+
48
+ # Default to use public ip address
49
+ ssh_info = {
47
50
  :host => server.public_ip_address,
48
51
  :port => 22
49
52
  }
53
+
54
+ if use_private_ip then
55
+ ssh_info = {
56
+ :host => server.private_ip_address,
57
+ :port => 22
58
+ }
59
+ end
60
+
61
+ # Return SSH network info
62
+ return ssh_info
50
63
  end
51
64
  end
52
65
  end
@@ -50,9 +50,11 @@ module VagrantPlugins
50
50
  disk_name = zone_config.disk_name
51
51
  disk_type = zone_config.disk_type
52
52
  network = zone_config.network
53
+ subnetwork = zone_config.subnetwork
53
54
  metadata = zone_config.metadata
54
55
  tags = zone_config.tags
55
56
  can_ip_forward = zone_config.can_ip_forward
57
+ use_private_ip = zone_config.use_private_ip
56
58
  external_ip = zone_config.external_ip
57
59
  preemptible = zone_config.preemptible
58
60
  auto_restart = zone_config.auto_restart
@@ -71,9 +73,11 @@ module VagrantPlugins
71
73
  env[:ui].info(" -- Instance Group: #{instance_group}")
72
74
  env[:ui].info(" -- Zone: #{zone}") if zone
73
75
  env[:ui].info(" -- Network: #{network}") if network
76
+ env[:ui].info(" -- Subnetwork: #{subnetwork}") if subnetwork
74
77
  env[:ui].info(" -- Metadata: '#{metadata}'")
75
78
  env[:ui].info(" -- Tags: '#{tags}'")
76
79
  env[:ui].info(" -- IP Forward: #{can_ip_forward}")
80
+ env[:ui].info(" -- Use private IP: #{use_private_ip}")
77
81
  env[:ui].info(" -- External IP: #{external_ip}")
78
82
  env[:ui].info(" -- Preemptible: #{preemptible}")
79
83
  env[:ui].info(" -- Auto Restart: #{auto_restart}")
@@ -124,9 +128,11 @@ module VagrantPlugins
124
128
  :disk_type => disk_type,
125
129
  :image => image,
126
130
  :network => network,
131
+ :subnetwork => subnetwork,
127
132
  :metadata => metadata,
128
133
  :tags => tags,
129
134
  :can_ip_forward => can_ip_forward,
135
+ :use_private_ip => use_private_ip,
130
136
  :external_ip => external_ip,
131
137
  :preemptible => preemptible,
132
138
  :auto_restart => auto_restart,
@@ -82,6 +82,11 @@ module VagrantPlugins
82
82
  # @return [String]
83
83
  attr_accessor :network
84
84
 
85
+ # The name of the subnetwork
86
+ #
87
+ # @return [String]
88
+ attr_accessor :subnetwork
89
+
85
90
  # Tags to apply to the instance
86
91
  #
87
92
  # @return [Array]
@@ -97,6 +102,11 @@ module VagrantPlugins
97
102
  # @return String
98
103
  attr_accessor :external_ip
99
104
 
105
+ # Use private ip address
106
+ #
107
+ # @return Boolean
108
+ attr_accessor :use_private_ip
109
+
100
110
  # whether to autodelete disk on instance delete
101
111
  #
102
112
  # @return Boolean
@@ -154,9 +164,11 @@ module VagrantPlugins
154
164
  @metadata = {}
155
165
  @name = UNSET_VALUE
156
166
  @network = UNSET_VALUE
167
+ @subnetwork = UNSET_VALUE
157
168
  @tags = []
158
169
  @can_ip_forward = UNSET_VALUE
159
170
  @external_ip = UNSET_VALUE
171
+ @use_private_ip = UNSET_VALUE
160
172
  @autodelete_disk = UNSET_VALUE
161
173
  @preemptible = UNSET_VALUE
162
174
  @auto_restart = UNSET_VALUE
@@ -204,6 +216,11 @@ module VagrantPlugins
204
216
  @__zone_config[zone] << block if block_given?
205
217
  end
206
218
 
219
+ def expand_path(path, root_path)
220
+ return path if not path
221
+ return Pathname.new(path).expand_path(root_path)
222
+ end
223
+
207
224
  #-------------------------------------------------------------------
208
225
  # Internal methods.
209
226
  #-------------------------------------------------------------------
@@ -269,6 +286,9 @@ module VagrantPlugins
269
286
  # Network defaults to 'default'
270
287
  @network = "default" if @network == UNSET_VALUE
271
288
 
289
+ # Subnetwork defaults to nil
290
+ @subnetwork = nil if @subnetwork == UNSET_VALUE
291
+
272
292
  # Default zone is us-central1-f.
273
293
  @zone = "us-central1-f" if @zone == UNSET_VALUE
274
294
 
@@ -281,6 +301,9 @@ module VagrantPlugins
281
301
  # external_ip defaults to nil
282
302
  @external_ip = nil if @external_ip == UNSET_VALUE
283
303
 
304
+ # use_private_ip defaults to false
305
+ @use_private_ip = false if @use_private_ip == UNSET_VALUE
306
+
284
307
  # preemptible defaults to false
285
308
  @preemptible = false if @preemptible == UNSET_VALUE
286
309
 
@@ -329,6 +352,9 @@ module VagrantPlugins
329
352
  if @zone
330
353
  config = get_zone_config(@zone)
331
354
 
355
+ config.google_key_location = expand_path(config.google_key_location, machine.env.root_path)
356
+ config.google_json_key_location = expand_path(config.google_json_key_location, machine.env.root_path)
357
+
332
358
  errors << I18n.t("vagrant_google.config.google_project_id_required") if \
333
359
  config.google_project_id.nil?
334
360
  errors << I18n.t("vagrant_google.config.google_client_email_required") if \
@@ -13,6 +13,6 @@
13
13
  # limitations under the License.
14
14
  module VagrantPlugins
15
15
  module Google
16
- VERSION = "0.2.5".freeze
16
+ VERSION = "1.0.0.rc0".freeze
17
17
  end
18
18
  end
@@ -28,12 +28,16 @@ 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", "~> 0.4.0"
32
- s.add_runtime_dependency "google-api-client", "< 0.9", ">= 0.6.2"
31
+ s.add_runtime_dependency "fog-google", "~> 0.5.3"
32
+ s.add_runtime_dependency "google-api-client", "< 0.9", "> 0.8.5"
33
33
 
34
34
  s.add_development_dependency "pry"
35
35
  s.add_development_dependency "pry-byebug"
36
- s.add_development_dependency "rake"
36
+
37
+ # This is a restriction to avoid an error "undefined method 'last_comment'"
38
+ # which is deprecated (see https://github.com/ruby/rake/issues/116)
39
+ # Remove it after update rspec-core to version greater than or equal to 3.4.4
40
+ s.add_development_dependency "rake", "< 11.0"
37
41
  s.add_development_dependency "rspec", "~> 2.14"
38
42
  s.add_development_dependency "rubocop", "~> 0.35"
39
43
  s.add_development_dependency "highline"
@@ -15,7 +15,7 @@
15
15
  # limitations under the License.
16
16
 
17
17
  Vagrant.configure("2") do |config|
18
- config.vm.box = "gce"
18
+ config.vm.box = "google/gce"
19
19
 
20
20
  config.vm.provider :google do |google, override|
21
21
  google.google_project_id = "YOUR_GOOGLE_CLOUD_PROJECT_ID"
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: 0.2.5
4
+ version: 1.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: 2016-10-06 00:00:00.000000000 Z
12
+ date: 2017-07-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog-google
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 0.4.0
20
+ version: 0.5.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: 0.4.0
27
+ version: 0.5.3
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: google-api-client
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -32,9 +32,9 @@ dependencies:
32
32
  - - "<"
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0.9'
35
- - - ">="
35
+ - - ">"
36
36
  - !ruby/object:Gem::Version
37
- version: 0.6.2
37
+ version: 0.8.5
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,9 +42,9 @@ dependencies:
42
42
  - - "<"
43
43
  - !ruby/object:Gem::Version
44
44
  version: '0.9'
45
- - - ">="
45
+ - - ">"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.6.2
47
+ version: 0.8.5
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: pry
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -77,16 +77,16 @@ dependencies:
77
77
  name: rake
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "<"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '11.0'
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "<"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '11.0'
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: rspec
92
92
  requirement: !ruby/object:Gem::Requirement
@@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
221
  version: 1.3.6
222
222
  requirements: []
223
223
  rubyforge_project: vagrant-google
224
- rubygems_version: 2.4.5.1
224
+ rubygems_version: 2.5.1
225
225
  signing_key:
226
226
  specification_version: 4
227
227
  summary: Vagrant provider plugin for Google Compute Engine.