knife-google 4.2.7 → 5.0.3

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: 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
  - - ">="