knife-google 4.2.8 → 5.0.4

Sign up to get free protection for your applications and to get access to all the features.
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
  - - ">="