knife-google 4.2.7 → 5.0.3

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: eebc393a93435409cc55ebf5390f9865a5d862bc02f82e6be1eac85ae90e6dd7
4
- data.tar.gz: 351544558fa432e36985ee9d967d058b7de1ca6afc20a896c7282f5e821191f8
3
+ metadata.gz: cf254c682d3e6161611588361369f2f5fedff8593c723d1b10a0299f3d5b3dbc
4
+ data.tar.gz: 5d0ee0a9f6a6874e051ade1956121f4ced1932aea85f311b894984812300f79b
5
5
  SHA512:
6
- metadata.gz: dce96ba50723fdff183d34c9b2e5ad1a40b83e7ceff28b1673c3c8390a448a16dca23e656a22812c7b8962961d5217b90b819ac78911258e5404714370c05c50
7
- data.tar.gz: 9f9359bfc0d8e2d0f824a215df069a6c24ae218d474555e49568da35c130fc548fd1c9789882d1d562980b31d7d7bd42ba5c712dc20886de5b3d0a13a7e21c37
6
+ metadata.gz: 6868b3e078b1cf3e0b6c7f034e0dc1fdfbd8aa1a88f33317ffb30d081a411013215f04e046126ada09dc9afbea09206ce1e59f30a57f880d8cad19221a1b55ab
7
+ data.tar.gz: fa8fbd6d9a1d74376bba4c45b28f123a48bfce3e1014af76eb27e463f0abb4677890dca4211dcdf00602c31ad4787ee195e7e846fbb409ce0443675e992ba801
@@ -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");
@@ -30,7 +30,10 @@ class Chef::Knife::Cloud
30
30
  banner "knife google server create NAME -m MACHINE_TYPE -I IMAGE (options)"
31
31
 
32
32
  deps do
33
+ require "gcewinpass"
33
34
  require_relative "cloud/google_service"
35
+ require_relative "cloud/google_service_helpers"
36
+ include GoogleServiceHelpers
34
37
  end
35
38
 
36
39
  option :machine_type,
@@ -164,37 +167,33 @@ class Chef::Knife::Cloud
164
167
  description: "Specifies the number of local SSDs to be created per node. Each local SSD is 375 GB in size, but you can attach up to eight local SSD devices for 3 TB of total local SSD storage space per instance.",
165
168
  default: "1"
166
169
 
167
- deps do
168
- require "gcewinpass"
169
- end
170
-
171
170
  def before_exec_command
172
171
  super
173
172
 
174
173
  @create_options = {
175
174
  name: instance_name,
176
- image: locate_config_value(:image),
177
- image_project: locate_config_value(:image_project),
178
- network: locate_config_value(:network),
179
- subnet: locate_config_value(:subnet),
180
- 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],
181
180
  auto_migrate: auto_migrate?,
182
181
  auto_restart: auto_restart?,
183
182
  preemptible: preemptible?,
184
- boot_disk_autodelete: locate_config_value(:boot_disk_autodelete),
185
- 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],
186
185
  boot_disk_size: boot_disk_size,
187
- boot_disk_ssd: locate_config_value(:boot_disk_ssd),
188
- additional_disks: locate_config_value(:additional_disks),
189
- local_ssd: locate_config_value(:local_ssd),
190
- 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],
191
190
  number_of_local_ssd: number_of_local_ssd,
192
- can_ip_forward: locate_config_value(:can_ip_forward),
193
- machine_type: locate_config_value(:machine_type),
194
- service_account_scopes: locate_config_value(:service_account_scopes),
195
- 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],
196
195
  metadata: metadata,
197
- tags: locate_config_value(:tags),
196
+ tags: config[:tags],
198
197
  }
199
198
  end
200
199
 
@@ -209,16 +208,16 @@ class Chef::Knife::Cloud
209
208
  raise "You must supply an instance name." if @name_args.first.nil?
210
209
  raise "Boot disk size must be between 10 and 10,000" unless valid_disk_size?(boot_disk_size)
211
210
 
212
- if locate_config_value(:connection_protocol) == "winrm" && locate_config_value(:gce_email).nil?
211
+ if config[:connection_protocol] == "winrm" && config[:gce_email].nil?
213
212
  raise "Please provide your Google Cloud console email address via --gce-email. " \
214
213
  "It is required when resetting passwords on Windows hosts."
215
214
  end
216
215
 
217
- raise "Please provide connection port via --connection-port." unless locate_config_value(:connection_port)
218
- 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]
219
218
 
220
- ui.warn("Auto-migrate disabled for preemptible instance") if preemptible? && locate_config_value(:auto_migrate)
221
- 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]
222
221
 
223
222
  super
224
223
  end
@@ -226,10 +225,10 @@ class Chef::Knife::Cloud
226
225
  def before_bootstrap
227
226
  super
228
227
 
229
- 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
230
229
  config[:bootstrap_ip_address] = ip_address_for_bootstrap
231
230
 
232
- if locate_config_value(:image_os_type) == "windows"
231
+ if config[:image_os_type] == "windows"
233
232
  ui.msg("Resetting the Windows login password so the bootstrap can continue...")
234
233
  config[:connection_password] = reset_windows_password
235
234
  end
@@ -246,31 +245,31 @@ class Chef::Knife::Cloud
246
245
  end
247
246
 
248
247
  def project
249
- locate_config_value(:gce_project)
248
+ config[:gce_project]
250
249
  end
251
250
 
252
251
  def zone
253
- locate_config_value(:gce_zone)
252
+ config[:gce_zone]
254
253
  end
255
254
 
256
255
  def email
257
- locate_config_value(:gce_email)
256
+ config[:gce_email]
258
257
  end
259
258
 
260
259
  def preemptible?
261
- locate_config_value(:preemptible)
260
+ config[:preemptible]
262
261
  end
263
262
 
264
263
  def auto_migrate?
265
- preemptible? ? false : locate_config_value(:auto_migrate)
264
+ preemptible? ? false : config[:auto_migrate]
266
265
  end
267
266
 
268
267
  def auto_restart?
269
- preemptible? ? false : locate_config_value(:auto_restart)
268
+ preemptible? ? false : config[:auto_restart]
270
269
  end
271
270
 
272
271
  def ip_address_for_bootstrap
273
- 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)
274
273
 
275
274
  raise "Unable to determine instance IP address for bootstrapping" if ip == "unknown"
276
275
 
@@ -282,18 +281,18 @@ class Chef::Knife::Cloud
282
281
  end
283
282
 
284
283
  def metadata
285
- locate_config_value(:metadata).each_with_object({}) do |item, memo|
284
+ config[:metadata].each_with_object({}) do |item, memo|
286
285
  key, value = item.split("=")
287
286
  memo[key] = value
288
287
  end
289
288
  end
290
289
 
291
290
  def boot_disk_size
292
- locate_config_value(:boot_disk_size).to_i
291
+ config[:boot_disk_size].to_i
293
292
  end
294
293
 
295
294
  def number_of_local_ssd
296
- locate_config_value(:number_of_local_ssd).to_i
295
+ config[:number_of_local_ssd].to_i
297
296
  end
298
297
 
299
298
  def reset_windows_password
@@ -302,7 +301,7 @@ class Chef::Knife::Cloud
302
301
  zone: zone,
303
302
  instance_name: instance_name,
304
303
  email: email,
305
- username: locate_config_value(:connection_user),
304
+ username: config[:connection_user],
306
305
  debug: gcewinpass_debug_mode
307
306
  ).new_password
308
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.7"
18
+ VERSION = "5.0.3"
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.7
4
+ version: 5.0.3
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-01-29 00:00:00.000000000 Z
16
+ date: 2020-07-13 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.41.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.41.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
  - - ">="