kitchen-terraform 5.5.0 → 5.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/README.md +3 -4
- data/lib/kitchen/terraform/command/init.rb +2 -79
- data/lib/kitchen/terraform/command/init/post_zero_fifteen_zero.rb +89 -0
- data/lib/kitchen/terraform/command/init/pre_zero_fifteen_zero.rb +101 -0
- data/lib/kitchen/terraform/command/init_factory.rb +52 -0
- data/lib/kitchen/terraform/command/validate.rb +2 -40
- data/lib/kitchen/terraform/command/validate/post_zero_fifteen_zero.rb +51 -0
- data/lib/kitchen/terraform/command/validate/pre_zero_fifteen_zero.rb +65 -0
- data/lib/kitchen/terraform/command/validate_factory.rb +54 -0
- data/lib/kitchen/terraform/command_flag/upgrade.rb +1 -1
- data/lib/kitchen/terraform/configurable.rb +1 -1
- data/lib/kitchen/terraform/driver/create.rb +36 -13
- data/lib/kitchen/terraform/driver/destroy.rb +48 -16
- data/lib/kitchen/terraform/inspec_runner.rb +7 -0
- data/lib/kitchen/terraform/provisioner/converge.rb +49 -22
- data/lib/kitchen/terraform/shell_out.rb +4 -3
- data/lib/kitchen/terraform/verify_version.rb +4 -16
- data/lib/kitchen/terraform/version.rb +1 -1
- data/lib/kitchen/verifier/terraform.rb +1 -1
- metadata +59 -63
- metadata.gz.sig +0 -0
@@ -29,16 +29,17 @@ module Kitchen
|
|
29
29
|
#
|
30
30
|
# @param command [String] the command to run.
|
31
31
|
# @param logger [Kitchen::Logger] a logger for logging messages.
|
32
|
+
# @param options [Hash] options which adjust the execution of the command.
|
32
33
|
# @return [Kitchen::Terraform::CommandExecutor]
|
33
34
|
def initialize(command:, logger:, options:)
|
34
35
|
self.command = command
|
35
36
|
self.logger = logger
|
36
37
|
self.shell_out = ::Mixlib::ShellOut.new(
|
37
38
|
command,
|
38
|
-
|
39
|
-
environment: { "LC_ALL" => nil, "TF_IN_AUTOMATION" => "true"
|
39
|
+
{
|
40
|
+
environment: { "LC_ALL" => nil, "TF_IN_AUTOMATION" => "true" },
|
40
41
|
live_stream: logger,
|
41
|
-
)
|
42
|
+
}.merge(options)
|
42
43
|
)
|
43
44
|
end
|
44
45
|
|
@@ -27,13 +27,12 @@ module Kitchen
|
|
27
27
|
class VerifyVersion
|
28
28
|
# #call invokes the verification.
|
29
29
|
#
|
30
|
-
# @param
|
31
|
-
# @param options [Hash] options for running the command.
|
30
|
+
# @param version [Gem::Version] the Terraform client version.
|
32
31
|
# @raise [Kitchen::ActionFailed] if the verification fails.
|
33
32
|
# @return [self]
|
34
|
-
def call(
|
33
|
+
def call(version:)
|
35
34
|
logger.warn start_message
|
36
|
-
|
35
|
+
version_verifier.verify version: version
|
37
36
|
logger.warn finish_message
|
38
37
|
rescue ::Kitchen::Terraform::UnsupportedClientVersionError
|
39
38
|
rescue_strategy.call
|
@@ -49,8 +48,7 @@ module Kitchen
|
|
49
48
|
# @option config [Boolean] :verify_version a toggle of strict or permissive verification of support for the
|
50
49
|
# version of the Terraform client.
|
51
50
|
# @return [Kitchen::Terraform::VerifyVersion]
|
52
|
-
def initialize(
|
53
|
-
self.command_executor = command_executor
|
51
|
+
def initialize(config:, logger:, version_requirement:)
|
54
52
|
self.finish_message = "Finished verifying the Terraform client version."
|
55
53
|
self.logger = logger
|
56
54
|
self.rescue_strategy = ::Kitchen::Terraform::VerifyVersionRescueStrategyFactory.new(
|
@@ -64,22 +62,12 @@ module Kitchen
|
|
64
62
|
private
|
65
63
|
|
66
64
|
attr_accessor(
|
67
|
-
:command_executor,
|
68
65
|
:finish_message,
|
69
66
|
:logger,
|
70
|
-
:options,
|
71
67
|
:rescue_strategy,
|
72
68
|
:start_message,
|
73
69
|
:version_verifier
|
74
70
|
)
|
75
|
-
|
76
|
-
def run_version_and_verify(command:, options:)
|
77
|
-
logger.warn "Reading the Terraform client version..."
|
78
|
-
command_executor.run command: command, options: options do |standard_output:|
|
79
|
-
logger.warn "Finished reading the Terraform client version."
|
80
|
-
version_verifier.verify version: ::Gem::Version.new(standard_output.slice(/Terraform v(\d+\.\d+\.\d+)/, 1))
|
81
|
-
end
|
82
|
-
end
|
83
71
|
end
|
84
72
|
end
|
85
73
|
end
|
@@ -160,7 +160,7 @@ module Kitchen
|
|
160
160
|
def load_outputs(state:)
|
161
161
|
logger.warn "Reading the Terraform output variables from the Kitchen instance state..."
|
162
162
|
::Kitchen::Terraform::OutputsManager.new.load outputs: outputs, state: state
|
163
|
-
logger.warn "Finished reading the Terraform output
|
163
|
+
logger.warn "Finished reading the Terraform output variables from the Kitchen instance state."
|
164
164
|
end
|
165
165
|
|
166
166
|
def profile_locations
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-terraform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Lane
|
@@ -62,7 +62,7 @@ cert_chain:
|
|
62
62
|
JH4yGDzVEYaZHaohSDcYuGLK6OQylPu7oM75S+TNLWseDIT8bWgQk6NelVjtQQ2Q
|
63
63
|
XSbgfu863jyey/0qO01cUo3+iTqzl85cWg==
|
64
64
|
-----END CERTIFICATE-----
|
65
|
-
date:
|
65
|
+
date: 2021-05-19 00:00:00.000000000 Z
|
66
66
|
dependencies:
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: bundler
|
@@ -205,145 +205,131 @@ dependencies:
|
|
205
205
|
- !ruby/object:Gem::Version
|
206
206
|
version: '4.2'
|
207
207
|
- !ruby/object:Gem::Dependency
|
208
|
-
name:
|
209
|
-
requirement: !ruby/object:Gem::Requirement
|
210
|
-
requirements:
|
211
|
-
- - "~>"
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
version: 0.3.0
|
214
|
-
type: :development
|
215
|
-
prerelease: false
|
216
|
-
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
requirements:
|
218
|
-
- - "~>"
|
219
|
-
- !ruby/object:Gem::Version
|
220
|
-
version: 0.3.0
|
221
|
-
- !ruby/object:Gem::Dependency
|
222
|
-
name: pry-coolline
|
208
|
+
name: rspec
|
223
209
|
requirement: !ruby/object:Gem::Requirement
|
224
210
|
requirements:
|
225
211
|
- - "~>"
|
226
212
|
- !ruby/object:Gem::Version
|
227
|
-
version: '
|
213
|
+
version: '3.4'
|
228
214
|
type: :development
|
229
215
|
prerelease: false
|
230
216
|
version_requirements: !ruby/object:Gem::Requirement
|
231
217
|
requirements:
|
232
218
|
- - "~>"
|
233
219
|
- !ruby/object:Gem::Version
|
234
|
-
version: '
|
220
|
+
version: '3.4'
|
235
221
|
- !ruby/object:Gem::Dependency
|
236
|
-
name:
|
222
|
+
name: rufo
|
237
223
|
requirement: !ruby/object:Gem::Requirement
|
238
224
|
requirements:
|
239
225
|
- - "~>"
|
240
226
|
- !ruby/object:Gem::Version
|
241
|
-
version: '0.
|
227
|
+
version: '0.7'
|
242
228
|
type: :development
|
243
229
|
prerelease: false
|
244
230
|
version_requirements: !ruby/object:Gem::Requirement
|
245
231
|
requirements:
|
246
232
|
- - "~>"
|
247
233
|
- !ruby/object:Gem::Version
|
248
|
-
version: '0.
|
234
|
+
version: '0.7'
|
249
235
|
- !ruby/object:Gem::Dependency
|
250
|
-
name:
|
236
|
+
name: simplecov
|
251
237
|
requirement: !ruby/object:Gem::Requirement
|
252
238
|
requirements:
|
253
239
|
- - "~>"
|
254
240
|
- !ruby/object:Gem::Version
|
255
|
-
version:
|
241
|
+
version: 0.16.1
|
256
242
|
type: :development
|
257
243
|
prerelease: false
|
258
244
|
version_requirements: !ruby/object:Gem::Requirement
|
259
245
|
requirements:
|
260
246
|
- - "~>"
|
261
247
|
- !ruby/object:Gem::Version
|
262
|
-
version:
|
248
|
+
version: 0.16.1
|
263
249
|
- !ruby/object:Gem::Dependency
|
264
|
-
name:
|
250
|
+
name: travis
|
265
251
|
requirement: !ruby/object:Gem::Requirement
|
266
252
|
requirements:
|
267
253
|
- - "~>"
|
268
254
|
- !ruby/object:Gem::Version
|
269
|
-
version: '
|
255
|
+
version: '1.8'
|
270
256
|
type: :development
|
271
257
|
prerelease: false
|
272
258
|
version_requirements: !ruby/object:Gem::Requirement
|
273
259
|
requirements:
|
274
260
|
- - "~>"
|
275
261
|
- !ruby/object:Gem::Version
|
276
|
-
version: '
|
262
|
+
version: '1.8'
|
277
263
|
- !ruby/object:Gem::Dependency
|
278
|
-
name:
|
264
|
+
name: yard
|
279
265
|
requirement: !ruby/object:Gem::Requirement
|
280
266
|
requirements:
|
281
267
|
- - "~>"
|
282
268
|
- !ruby/object:Gem::Version
|
283
|
-
version: '0.
|
269
|
+
version: '0.9'
|
284
270
|
type: :development
|
285
271
|
prerelease: false
|
286
272
|
version_requirements: !ruby/object:Gem::Requirement
|
287
273
|
requirements:
|
288
274
|
- - "~>"
|
289
275
|
- !ruby/object:Gem::Version
|
290
|
-
version: '0.
|
276
|
+
version: '0.9'
|
291
277
|
- !ruby/object:Gem::Dependency
|
292
|
-
name:
|
278
|
+
name: reek
|
293
279
|
requirement: !ruby/object:Gem::Requirement
|
294
280
|
requirements:
|
295
281
|
- - "~>"
|
296
282
|
- !ruby/object:Gem::Version
|
297
|
-
version: 0.
|
283
|
+
version: 6.0.2
|
298
284
|
type: :development
|
299
285
|
prerelease: false
|
300
286
|
version_requirements: !ruby/object:Gem::Requirement
|
301
287
|
requirements:
|
302
288
|
- - "~>"
|
303
289
|
- !ruby/object:Gem::Version
|
304
|
-
version: 0.
|
290
|
+
version: 6.0.2
|
305
291
|
- !ruby/object:Gem::Dependency
|
306
|
-
name:
|
292
|
+
name: delegate
|
307
293
|
requirement: !ruby/object:Gem::Requirement
|
308
294
|
requirements:
|
309
295
|
- - "~>"
|
310
296
|
- !ruby/object:Gem::Version
|
311
|
-
version:
|
312
|
-
type: :
|
297
|
+
version: 0.1.0
|
298
|
+
type: :runtime
|
313
299
|
prerelease: false
|
314
300
|
version_requirements: !ruby/object:Gem::Requirement
|
315
301
|
requirements:
|
316
302
|
- - "~>"
|
317
303
|
- !ruby/object:Gem::Version
|
318
|
-
version:
|
304
|
+
version: 0.1.0
|
319
305
|
- !ruby/object:Gem::Dependency
|
320
|
-
name:
|
306
|
+
name: dry-validation
|
321
307
|
requirement: !ruby/object:Gem::Requirement
|
322
308
|
requirements:
|
323
309
|
- - "~>"
|
324
310
|
- !ruby/object:Gem::Version
|
325
|
-
version: '0.
|
326
|
-
type: :
|
311
|
+
version: '0.13'
|
312
|
+
type: :runtime
|
327
313
|
prerelease: false
|
328
314
|
version_requirements: !ruby/object:Gem::Requirement
|
329
315
|
requirements:
|
330
316
|
- - "~>"
|
331
317
|
- !ruby/object:Gem::Version
|
332
|
-
version: '0.
|
318
|
+
version: '0.13'
|
333
319
|
- !ruby/object:Gem::Dependency
|
334
|
-
name:
|
320
|
+
name: mixlib-shellout
|
335
321
|
requirement: !ruby/object:Gem::Requirement
|
336
322
|
requirements:
|
337
323
|
- - "~>"
|
338
324
|
- !ruby/object:Gem::Version
|
339
|
-
version: '0
|
325
|
+
version: '3.0'
|
340
326
|
type: :runtime
|
341
327
|
prerelease: false
|
342
328
|
version_requirements: !ruby/object:Gem::Requirement
|
343
329
|
requirements:
|
344
330
|
- - "~>"
|
345
331
|
- !ruby/object:Gem::Version
|
346
|
-
version: '0
|
332
|
+
version: '3.0'
|
347
333
|
- !ruby/object:Gem::Dependency
|
348
334
|
name: inspec
|
349
335
|
requirement: !ruby/object:Gem::Requirement
|
@@ -351,6 +337,15 @@ dependencies:
|
|
351
337
|
- - ">="
|
352
338
|
- !ruby/object:Gem::Version
|
353
339
|
version: '3'
|
340
|
+
- - "!="
|
341
|
+
- !ruby/object:Gem::Version
|
342
|
+
version: 4.24.26
|
343
|
+
- - "!="
|
344
|
+
- !ruby/object:Gem::Version
|
345
|
+
version: 4.24.28
|
346
|
+
- - "!="
|
347
|
+
- !ruby/object:Gem::Version
|
348
|
+
version: 4.24.32
|
354
349
|
- - "<"
|
355
350
|
- !ruby/object:Gem::Version
|
356
351
|
version: '5'
|
@@ -361,6 +356,15 @@ dependencies:
|
|
361
356
|
- - ">="
|
362
357
|
- !ruby/object:Gem::Version
|
363
358
|
version: '3'
|
359
|
+
- - "!="
|
360
|
+
- !ruby/object:Gem::Version
|
361
|
+
version: 4.24.26
|
362
|
+
- - "!="
|
363
|
+
- !ruby/object:Gem::Version
|
364
|
+
version: 4.24.28
|
365
|
+
- - "!="
|
366
|
+
- !ruby/object:Gem::Version
|
367
|
+
version: 4.24.32
|
364
368
|
- - "<"
|
365
369
|
- !ruby/object:Gem::Version
|
366
370
|
version: '5'
|
@@ -370,28 +374,14 @@ dependencies:
|
|
370
374
|
requirements:
|
371
375
|
- - "~>"
|
372
376
|
- !ruby/object:Gem::Version
|
373
|
-
version: '2.
|
377
|
+
version: '2.3'
|
374
378
|
type: :runtime
|
375
379
|
prerelease: false
|
376
380
|
version_requirements: !ruby/object:Gem::Requirement
|
377
381
|
requirements:
|
378
382
|
- - "~>"
|
379
383
|
- !ruby/object:Gem::Version
|
380
|
-
version: '2.
|
381
|
-
- !ruby/object:Gem::Dependency
|
382
|
-
name: mixlib-shellout
|
383
|
-
requirement: !ruby/object:Gem::Requirement
|
384
|
-
requirements:
|
385
|
-
- - "~>"
|
386
|
-
- !ruby/object:Gem::Version
|
387
|
-
version: '3.0'
|
388
|
-
type: :runtime
|
389
|
-
prerelease: false
|
390
|
-
version_requirements: !ruby/object:Gem::Requirement
|
391
|
-
requirements:
|
392
|
-
- - "~>"
|
393
|
-
- !ruby/object:Gem::Version
|
394
|
-
version: '3.0'
|
384
|
+
version: '2.3'
|
395
385
|
- !ruby/object:Gem::Dependency
|
396
386
|
name: test-kitchen
|
397
387
|
requirement: !ruby/object:Gem::Requirement
|
@@ -438,8 +428,14 @@ files:
|
|
438
428
|
- lib/kitchen/terraform/command/destroy.rb
|
439
429
|
- lib/kitchen/terraform/command/get.rb
|
440
430
|
- lib/kitchen/terraform/command/init.rb
|
431
|
+
- lib/kitchen/terraform/command/init/post_zero_fifteen_zero.rb
|
432
|
+
- lib/kitchen/terraform/command/init/pre_zero_fifteen_zero.rb
|
433
|
+
- lib/kitchen/terraform/command/init_factory.rb
|
441
434
|
- lib/kitchen/terraform/command/output.rb
|
442
435
|
- lib/kitchen/terraform/command/validate.rb
|
436
|
+
- lib/kitchen/terraform/command/validate/post_zero_fifteen_zero.rb
|
437
|
+
- lib/kitchen/terraform/command/validate/pre_zero_fifteen_zero.rb
|
438
|
+
- lib/kitchen/terraform/command/validate_factory.rb
|
443
439
|
- lib/kitchen/terraform/command/version.rb
|
444
440
|
- lib/kitchen/terraform/command/workspace_delete.rb
|
445
441
|
- lib/kitchen/terraform/command/workspace_new.rb
|
@@ -552,8 +548,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
552
548
|
- !ruby/object:Gem::Version
|
553
549
|
version: '0'
|
554
550
|
requirements:
|
555
|
-
- Terraform >= v0.11.4, <
|
556
|
-
rubygems_version: 3.0.3
|
551
|
+
- Terraform >= v0.11.4, < v1.1.0
|
552
|
+
rubygems_version: 3.0.3.1
|
557
553
|
signing_key:
|
558
554
|
specification_version: 4
|
559
555
|
summary: Test Kitchen plugins for testing Terraform configuration
|
metadata.gz.sig
CHANGED
Binary file
|