knife-google 4.2.8 → 5.0.4

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
  SHA256:
3
- metadata.gz: 122be4d879dcfac0036589a0708056bff3ea207c53e69c3d64863766ae2907a3
4
- data.tar.gz: 4bf098d56481caa29c721ba9afef80cc81f5278bc43345e6a6a33a3f3e420807
3
+ metadata.gz: 511e47c3c7502638e28602ca2fc7e96de6309117224a636cde167d2251d44e82
4
+ data.tar.gz: 00b2fd0ec364e89759176bfc2fcb067e097692611c7c804143ea1d93796d860c
5
5
  SHA512:
6
- metadata.gz: a03a23f261151512c891a551202bde66afe3f9b7b294bfd52896c62add9bcb7eb3b368a8047d1be94c8ca3f145c901faff5731516f1e70771312d21f7619a13d
7
- data.tar.gz: e4b05e024b7ac6d3915ab1832089b52085b8cf722bf8134f167fc7d3667e1e01c233c911c8869d4fbd29742d2d592d92a2310af6c4f7b69c868ed94056e5449c
6
+ metadata.gz: 84d96b01eb1424ef4efe78ed2bd6f7af917457690f2b0d3fa23a960038085fb00249f4aece6a41d15d2095fd7df8d7a711ceef2acd31a24df990fd2abc62b47d
7
+ data.tar.gz: a1cdad87a3729c7ca0b9cf8a30bbe42e7162229d0136b79e4155676d43c097dae14b26c244dabfc6e384618fce921df8d41f5a3e1c85d1a6bbd53fd00bd9daa6
@@ -56,16 +56,21 @@ class Chef::Knife::Cloud
56
56
  IMAGE_ALIAS_MAP = {
57
57
  "centos-6" => { project: "centos-cloud", prefix: "centos-6" },
58
58
  "centos-7" => { project: "centos-cloud", prefix: "centos-7" },
59
+ "centos-8" => { project: "centos-cloud", prefix: "centos-8" },
59
60
  "container-vm" => { project: "google-containers", prefix: "container-vm" },
60
61
  "coreos" => { project: "coreos-cloud", prefix: "coreos-stable" },
61
62
  "debian-7" => { project: "debian-cloud", prefix: "debian-7-wheezy" },
62
63
  "debian-7-backports" => { project: "debian-cloud", prefix: "backports-debian-7-wheezy" },
63
64
  "debian-8" => { project: "debian-cloud", prefix: "debian-8-jessie" },
65
+ "debian-9" => { project: "debian-cloud", prefix: "debian-9" },
66
+ "debian-10" => { project: "debian-cloud", prefix: "debian-10" },
64
67
  "opensuse-13" => { project: "opensuse-cloud", prefix: "opensuse-13" },
65
68
  "rhel-6" => { project: "rhel-cloud", prefix: "rhel-6" },
66
69
  "rhel-7" => { project: "rhel-cloud", prefix: "rhel-7" },
70
+ "rhel-8" => { project: "rhel-cloud", prefix: "rhel-8" },
67
71
  "sles-11" => { project: "suse-cloud", prefix: "sles-11" },
68
72
  "sles-12" => { project: "suse-cloud", prefix: "sles-12" },
73
+ "sles-15" => { project: "suse-cloud", prefix: "sles-15" },
69
74
  "ubuntu-12-04" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1204-precise" },
70
75
  "ubuntu-1204-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1204-precise" },
71
76
  "ubuntu-14-04" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1404-trusty" },
@@ -74,8 +79,19 @@ class Chef::Knife::Cloud
74
79
  "ubuntu-15-10" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1510-wily" },
75
80
  "ubuntu-16-04" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1604-xenial" },
76
81
  "ubuntu-1604-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1604-xenial" },
82
+ "ubuntu-1804-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1804-bionic" },
83
+ "ubuntu-2004-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-2004-focal" },
84
+ "ubuntu-minimal-1604-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-minimal-1604-xenial" },
85
+ "ubuntu-minimal-1804-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-minimal-1804-bionic" },
77
86
  "windows-2008-r2" => { project: "windows-cloud", prefix: "windows-server-2008-r2" },
78
87
  "windows-2012-r2" => { project: "windows-cloud", prefix: "windows-server-2012-r2" },
88
+ "windows-2012-r2-core" => { project: "windows-cloud", prefix: "windows-server-2012-r2-dc-core" },
89
+ "windows-2016-core" => { project: "windows-cloud", prefix: "windows-server-2016-dc-core" },
90
+ "windows-2016" => { project: "windows-cloud", prefix: "windows-server-2016-dc" },
91
+ "windows-2019-core-for-containers" => { project: "windows-cloud", prefix: "windows-server-2019-dc-core-for-containers" },
92
+ "windows-2019-core" => { project: "windows-cloud", prefix: "windows-server-2019-dc-core" },
93
+ "windows-2019-for-containers" => { project: "windows-cloud", prefix: "windows-server-2019-dc-for-containers" },
94
+ "windows-2019" => { project: "windows-cloud", prefix: "windows-server-2019-dc" },
79
95
  }.freeze
80
96
 
81
97
  PUBLIC_PROJECTS = %w{
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
3
  # Author:: Chef Partner Engineering (<partnereng@chef.io>)
4
- # Copyright:: Copyright (c) 2016 Chef Software, Inc.
4
+ # Copyright:: Copyright (c) Chef Software Inc.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,19 +23,19 @@ class Chef::Knife::Cloud
23
23
 
24
24
  def create_service_instance
25
25
  Chef::Knife::Cloud::GoogleService.new(
26
- project: locate_config_value(:gce_project),
27
- zone: locate_config_value(:gce_zone),
28
- wait_time: locate_config_value(:request_timeout),
29
- refresh_rate: locate_config_value(:request_refresh_rate),
30
- max_pages: locate_config_value(:gce_max_pages),
31
- max_page_size: locate_config_value(:gce_max_page_size)
26
+ project: config[:gce_project],
27
+ zone: config[:gce_zone],
28
+ wait_time: config[:request_timeout],
29
+ refresh_rate: config[:request_refresh_rate],
30
+ max_pages: config[:gce_max_pages],
31
+ max_page_size: config[:gce_max_page_size]
32
32
  )
33
33
  end
34
34
 
35
35
  def check_for_missing_config_values!(*keys)
36
36
  keys_to_check = REQUIRED_KEYS + keys
37
37
 
38
- missing = keys_to_check.select { |x| locate_config_value(x).nil? }
38
+ missing = keys_to_check.select { |x| config[x].nil? }
39
39
 
40
40
  unless missing.empty?
41
41
  message = "The following required parameters are missing: #{missing.join(", ")}"
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Author:: Paul Rossman (<paulrossman@google.com>)
4
4
  # Author:: Chef Partner Engineering (<partnereng@chef.io>)
5
- # Copyright:: Copyright 2015-2016 Google Inc., Chef Software, Inc.
5
+ # Copyright:: Copyright (c) Chef Software Inc.
6
6
  # License:: Apache License, Version 2.0
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -29,6 +29,8 @@ class Chef::Knife::Cloud
29
29
 
30
30
  deps do
31
31
  require_relative "cloud/google_service"
32
+ require_relative "cloud/google_service_helpers"
33
+ include GoogleServiceHelpers
32
34
  end
33
35
 
34
36
  option :disk_size,
@@ -50,16 +52,16 @@ class Chef::Knife::Cloud
50
52
  def validate_params!
51
53
  check_for_missing_config_values!(:gce_zone, :disk_size, :disk_type)
52
54
  raise "Please specify a disk name." unless @name_args.first
53
- raise "Disk size must be between 10 and 10,000" unless valid_disk_size?(locate_config_value(:disk_size))
55
+ raise "Disk size must be between 10 and 10,000" unless valid_disk_size?(config[:disk_size])
54
56
 
55
57
  super
56
58
  end
57
59
 
58
60
  def execute_command
59
61
  name = @name_args.first
60
- size = locate_config_value(:disk_size)
61
- type = locate_config_value(:disk_type)
62
- src = locate_config_value(:disk_source)
62
+ size = config[:disk_size]
63
+ type = config[:disk_type]
64
+ src = config[:disk_source]
63
65
 
64
66
  service.create_disk(name, size, type, src)
65
67
  end
@@ -29,6 +29,8 @@ class Chef::Knife::Cloud
29
29
 
30
30
  deps do
31
31
  require_relative "cloud/google_service"
32
+ require_relative "cloud/google_service_helpers"
33
+ include GoogleServiceHelpers
32
34
  end
33
35
 
34
36
  def validate_params!
@@ -29,6 +29,8 @@ class Chef::Knife::Cloud
29
29
 
30
30
  deps do
31
31
  require_relative "cloud/google_service"
32
+ require_relative "cloud/google_service_helpers"
33
+ include GoogleServiceHelpers
32
34
  end
33
35
 
34
36
  def validate_params!
@@ -28,6 +28,8 @@ class Chef::Knife::Cloud
28
28
 
29
29
  deps do
30
30
  require_relative "cloud/google_service"
31
+ require_relative "cloud/google_service_helpers"
32
+ include GoogleServiceHelpers
31
33
  end
32
34
 
33
35
  def validate_params!
@@ -29,6 +29,8 @@ class Chef::Knife::Cloud
29
29
 
30
30
  deps do
31
31
  require_relative "cloud/google_service"
32
+ require_relative "cloud/google_service_helpers"
33
+ include GoogleServiceHelpers
32
34
  end
33
35
 
34
36
  def validate_params!
@@ -29,6 +29,8 @@ class Chef::Knife::Cloud
29
29
 
30
30
  deps do
31
31
  require_relative "cloud/google_service"
32
+ require_relative "cloud/google_service_helpers"
33
+ include GoogleServiceHelpers
32
34
  end
33
35
 
34
36
  def validate_params!
@@ -29,6 +29,8 @@ class Chef::Knife::Cloud
29
29
 
30
30
  deps do
31
31
  require_relative "cloud/google_service"
32
+ require_relative "cloud/google_service_helpers"
33
+ include GoogleServiceHelpers
32
34
  end
33
35
 
34
36
  def validate_params!
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Author:: Paul Rossman (<paulrossman@google.com>)
4
4
  # Author:: Chef Partner Engineering (<partnereng@chef.io>)
5
- # Copyright:: Copyright 2015-2016 Google Inc., Chef Software, Inc.
5
+ # Copyright:: Copyright (c) Chef Software Inc.
6
6
  # License:: Apache License, Version 2.0
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -32,6 +32,8 @@ class Chef::Knife::Cloud
32
32
  deps do
33
33
  require "gcewinpass"
34
34
  require_relative "cloud/google_service"
35
+ require_relative "cloud/google_service_helpers"
36
+ include GoogleServiceHelpers
35
37
  end
36
38
 
37
39
  option :machine_type,
@@ -170,28 +172,28 @@ class Chef::Knife::Cloud
170
172
 
171
173
  @create_options = {
172
174
  name: instance_name,
173
- image: locate_config_value(:image),
174
- image_project: locate_config_value(:image_project),
175
- network: locate_config_value(:network),
176
- subnet: locate_config_value(:subnet),
177
- public_ip: locate_config_value(:public_ip),
175
+ image: config[:image],
176
+ image_project: config[:image_project],
177
+ network: config[:network],
178
+ subnet: config[:subnet],
179
+ public_ip: config[:public_ip],
178
180
  auto_migrate: auto_migrate?,
179
181
  auto_restart: auto_restart?,
180
182
  preemptible: preemptible?,
181
- boot_disk_autodelete: locate_config_value(:boot_disk_autodelete),
182
- boot_disk_name: locate_config_value(:boot_disk_name),
183
+ boot_disk_autodelete: config[:boot_disk_autodelete],
184
+ boot_disk_name: config[:boot_disk_name],
183
185
  boot_disk_size: boot_disk_size,
184
- boot_disk_ssd: locate_config_value(:boot_disk_ssd),
185
- additional_disks: locate_config_value(:additional_disks),
186
- local_ssd: locate_config_value(:local_ssd),
187
- interface: locate_config_value(:interface),
186
+ boot_disk_ssd: config[:boot_disk_ssd],
187
+ additional_disks: config[:additional_disks],
188
+ local_ssd: config[:local_ssd],
189
+ interface: config[:interface],
188
190
  number_of_local_ssd: number_of_local_ssd,
189
- can_ip_forward: locate_config_value(:can_ip_forward),
190
- machine_type: locate_config_value(:machine_type),
191
- service_account_scopes: locate_config_value(:service_account_scopes),
192
- service_account_name: locate_config_value(:service_account_name),
191
+ can_ip_forward: config[:can_ip_forward],
192
+ machine_type: config[:machine_type],
193
+ service_account_scopes: config[:service_account_scopes],
194
+ service_account_name: config[:service_account_name],
193
195
  metadata: metadata,
194
- tags: locate_config_value(:tags),
196
+ tags: config[:tags],
195
197
  }
196
198
  end
197
199
 
@@ -206,16 +208,16 @@ class Chef::Knife::Cloud
206
208
  raise "You must supply an instance name." if @name_args.first.nil?
207
209
  raise "Boot disk size must be between 10 and 10,000" unless valid_disk_size?(boot_disk_size)
208
210
 
209
- if locate_config_value(:connection_protocol) == "winrm" && locate_config_value(:gce_email).nil?
211
+ if config[:connection_protocol] == "winrm" && config[:gce_email].nil?
210
212
  raise "Please provide your Google Cloud console email address via --gce-email. " \
211
213
  "It is required when resetting passwords on Windows hosts."
212
214
  end
213
215
 
214
- raise "Please provide connection port via --connection-port." unless locate_config_value(:connection_port)
215
- raise "Please provide image os type via --image-os-type." unless locate_config_value(:image_os_type)
216
+ raise "Please provide connection port via --connection-port." unless config[:connection_port]
217
+ raise "Please provide image os type via --image-os-type." unless config[:image_os_type]
216
218
 
217
- ui.warn("Auto-migrate disabled for preemptible instance") if preemptible? && locate_config_value(:auto_migrate)
218
- ui.warn("Auto-restart disabled for preemptible instance") if preemptible? && locate_config_value(:auto_restart)
219
+ ui.warn("Auto-migrate disabled for preemptible instance") if preemptible? && config[:auto_migrate]
220
+ ui.warn("Auto-restart disabled for preemptible instance") if preemptible? && config[:auto_restart]
219
221
 
220
222
  super
221
223
  end
@@ -223,10 +225,10 @@ class Chef::Knife::Cloud
223
225
  def before_bootstrap
224
226
  super
225
227
 
226
- config[:chef_node_name] = locate_config_value(:chef_node_name) ? locate_config_value(:chef_node_name) : instance_name
228
+ config[:chef_node_name] = config[:chef_node_name] ? config[:chef_node_name] : instance_name
227
229
  config[:bootstrap_ip_address] = ip_address_for_bootstrap
228
230
 
229
- if locate_config_value(:image_os_type) == "windows"
231
+ if config[:image_os_type] == "windows"
230
232
  ui.msg("Resetting the Windows login password so the bootstrap can continue...")
231
233
  config[:connection_password] = reset_windows_password
232
234
  end
@@ -243,31 +245,31 @@ class Chef::Knife::Cloud
243
245
  end
244
246
 
245
247
  def project
246
- locate_config_value(:gce_project)
248
+ config[:gce_project]
247
249
  end
248
250
 
249
251
  def zone
250
- locate_config_value(:gce_zone)
252
+ config[:gce_zone]
251
253
  end
252
254
 
253
255
  def email
254
- locate_config_value(:gce_email)
256
+ config[:gce_email]
255
257
  end
256
258
 
257
259
  def preemptible?
258
- locate_config_value(:preemptible)
260
+ config[:preemptible]
259
261
  end
260
262
 
261
263
  def auto_migrate?
262
- preemptible? ? false : locate_config_value(:auto_migrate)
264
+ preemptible? ? false : config[:auto_migrate]
263
265
  end
264
266
 
265
267
  def auto_restart?
266
- preemptible? ? false : locate_config_value(:auto_restart)
268
+ preemptible? ? false : config[:auto_restart]
267
269
  end
268
270
 
269
271
  def ip_address_for_bootstrap
270
- ip = locate_config_value(:use_private_ip) ? private_ip_for(server) : public_ip_for(server)
272
+ ip = config[:use_private_ip] ? private_ip_for(server) : public_ip_for(server)
271
273
 
272
274
  raise "Unable to determine instance IP address for bootstrapping" if ip == "unknown"
273
275
 
@@ -279,18 +281,18 @@ class Chef::Knife::Cloud
279
281
  end
280
282
 
281
283
  def metadata
282
- locate_config_value(:metadata).each_with_object({}) do |item, memo|
284
+ config[:metadata].each_with_object({}) do |item, memo|
283
285
  key, value = item.split("=")
284
286
  memo[key] = value
285
287
  end
286
288
  end
287
289
 
288
290
  def boot_disk_size
289
- locate_config_value(:boot_disk_size).to_i
291
+ config[:boot_disk_size].to_i
290
292
  end
291
293
 
292
294
  def number_of_local_ssd
293
- locate_config_value(:number_of_local_ssd).to_i
295
+ config[:number_of_local_ssd].to_i
294
296
  end
295
297
 
296
298
  def reset_windows_password
@@ -299,7 +301,7 @@ class Chef::Knife::Cloud
299
301
  zone: zone,
300
302
  instance_name: instance_name,
301
303
  email: email,
302
- username: locate_config_value(:connection_user),
304
+ username: config[:connection_user],
303
305
  debug: gcewinpass_debug_mode
304
306
  ).new_password
305
307
  end
@@ -33,6 +33,8 @@ class Chef
33
33
 
34
34
  deps do
35
35
  require_relative "cloud/google_service"
36
+ require_relative "cloud/google_service_helpers"
37
+ include GoogleServiceHelpers
36
38
  end
37
39
 
38
40
  def validate_params!
@@ -28,6 +28,8 @@ class Chef::Knife::Cloud
28
28
 
29
29
  deps do
30
30
  require_relative "cloud/google_service"
31
+ require_relative "cloud/google_service_helpers"
32
+ include GoogleServiceHelpers
31
33
  end
32
34
 
33
35
  banner "knife google server list"
@@ -32,6 +32,8 @@ class Chef
32
32
 
33
33
  deps do
34
34
  require_relative "cloud/google_service"
35
+ require_relative "cloud/google_service_helpers"
36
+ include GoogleServiceHelpers
35
37
  end
36
38
 
37
39
  def validate_params!
@@ -29,6 +29,8 @@ class Chef::Knife::Cloud
29
29
 
30
30
  deps do
31
31
  require_relative "cloud/google_service"
32
+ require_relative "cloud/google_service_helpers"
33
+ include GoogleServiceHelpers
32
34
  end
33
35
 
34
36
  def validate_params!
@@ -15,7 +15,7 @@
15
15
  #
16
16
  module Knife
17
17
  module Google
18
- VERSION = "4.2.8"
18
+ VERSION = "5.0.4"
19
19
  MAJOR, MINOR, TINY = VERSION.split(".")
20
20
  end
21
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-google
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.8
4
+ version: 5.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chiraq Jog
@@ -13,22 +13,36 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2020-02-12 00:00:00.000000000 Z
16
+ date: 2020-07-15 00:00:00.000000000 Z
17
17
  dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: chef
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: '15.11'
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: '15.11'
18
32
  - !ruby/object:Gem::Dependency
19
33
  name: knife-cloud
20
34
  requirement: !ruby/object:Gem::Requirement
21
35
  requirements:
22
36
  - - ">="
23
37
  - !ruby/object:Gem::Version
24
- version: 2.0.0
38
+ version: 4.0.0
25
39
  type: :runtime
26
40
  prerelease: false
27
41
  version_requirements: !ruby/object:Gem::Requirement
28
42
  requirements:
29
43
  - - ">="
30
44
  - !ruby/object:Gem::Version
31
- version: 2.0.0
45
+ version: 4.0.0
32
46
  - !ruby/object:Gem::Dependency
33
47
  name: google-api-client
34
48
  requirement: !ruby/object:Gem::Requirement
@@ -38,7 +52,7 @@ dependencies:
38
52
  version: 0.23.9
39
53
  - - "<"
40
54
  - !ruby/object:Gem::Version
41
- version: 0.37.0
55
+ version: 0.43.0
42
56
  type: :runtime
43
57
  prerelease: false
44
58
  version_requirements: !ruby/object:Gem::Requirement
@@ -48,7 +62,7 @@ dependencies:
48
62
  version: 0.23.9
49
63
  - - "<"
50
64
  - !ruby/object:Gem::Version
51
- version: 0.37.0
65
+ version: 0.43.0
52
66
  - !ruby/object:Gem::Dependency
53
67
  name: gcewinpass
54
68
  requirement: !ruby/object:Gem::Requirement
@@ -100,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - ">="
102
116
  - !ruby/object:Gem::Version
103
- version: '2.5'
117
+ version: '2.6'
104
118
  required_rubygems_version: !ruby/object:Gem::Requirement
105
119
  requirements:
106
120
  - - ">="