kitchen-terraform 5.5.0 → 5.8.0
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 +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
|