kitchen-terraform 3.0.0 → 3.1.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.
@@ -17,4 +17,4 @@
17
17
  require "kitchen/terraform"
18
18
 
19
19
  # The version of the kitchen-terraform gem.
20
- ::Kitchen::Terraform::VERSION = "3.0.0".freeze
20
+ ::Kitchen::Terraform::VERSION = "3.1.0".freeze
@@ -14,11 +14,11 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "dry/monads"
18
17
  require "kitchen/verifier"
19
18
  require "kitchen/terraform/config_attribute/color"
20
19
  require "kitchen/terraform/config_attribute/groups"
21
20
  require "kitchen/terraform/configurable"
21
+ require "kitchen/terraform/error"
22
22
  require "kitchen/verifier/inspec"
23
23
 
24
24
  # The verifier utilizes the {https://www.inspec.io/ InSpec infrastructure testing framework} to verify the behaviour and
@@ -71,10 +71,6 @@ require "kitchen/verifier/inspec"
71
71
  class ::Kitchen::Verifier::Terraform < ::Kitchen::Verifier::Inspec
72
72
  kitchen_verifier_api_version 2
73
73
 
74
- include ::Dry::Monads::Either::Mixin
75
-
76
- include ::Dry::Monads::Maybe::Mixin
77
-
78
74
  include ::Kitchen::Terraform::ConfigAttribute::Color
79
75
 
80
76
  include ::Kitchen::Terraform::ConfigAttribute::Groups
@@ -87,16 +83,17 @@ class ::Kitchen::Verifier::Terraform < ::Kitchen::Verifier::Inspec
87
83
  # `kitchen verify suite-name`
88
84
  # @param state [::Hash] the mutable instance and verifier state.
89
85
  # @raise [::Kitchen::ActionFailed] if the result of the action is a failure.
90
- # @return [::Dry::Monads::Either] the result of the action.
86
+ # @return [void]
91
87
  def call(state)
92
- Maybe(state[:kitchen_terraform_output])
93
- .or do
94
- Left(
88
+ state
89
+ .fetch :kitchen_terraform_output do
90
+ raise(
91
+ ::Kitchen::Terraform::Error,
95
92
  "The Test Kitchen state does not include :kitchen_terraform_output; this implies that the " \
96
93
  "kitchen-terraform provisioner has not successfully converged"
97
94
  )
98
95
  end
99
- .bind do |output|
96
+ .tap do |output|
100
97
  ::Kitchen::Verifier::Terraform::EnumerateGroupsAndHostnames
101
98
  .call(
102
99
  groups: config_groups,
@@ -116,12 +113,11 @@ class ::Kitchen::Verifier::Terraform < ::Kitchen::Verifier::Inspec
116
113
  super state
117
114
  end
118
115
  end
119
- .or do |failure|
120
- raise(
121
- ::Kitchen::ActionFailed,
122
- failure
123
- )
124
- end
116
+ rescue ::Kitchen::Terraform::Error => error
117
+ raise(
118
+ ::Kitchen::ActionFailed,
119
+ error.message
120
+ )
125
121
  end
126
122
 
127
123
  private
@@ -160,18 +156,15 @@ class ::Kitchen::Verifier::Terraform < ::Kitchen::Verifier::Inspec
160
156
  group: state.fetch(:kitchen_terraform_group),
161
157
  options: options
162
158
  )
163
- ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerAttributes
164
- .call(
165
- group: state.fetch(:kitchen_terraform_group),
166
- output: ::Kitchen::Util.stringified_hash(state.fetch(:kitchen_terraform_output))
167
- )
168
- .bind do |attributes|
169
- options
170
- .store(
171
- :attributes,
172
- attributes
159
+ options
160
+ .store(
161
+ :attributes,
162
+ ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerAttributes
163
+ .call(
164
+ group: state.fetch(:kitchen_terraform_group),
165
+ output: ::Kitchen::Util.stringified_hash(state.fetch(:kitchen_terraform_output))
173
166
  )
174
- end
167
+ )
175
168
  ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerControls
176
169
  .call(
177
170
  group: state.fetch(:kitchen_terraform_group),
@@ -14,7 +14,7 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "dry/monads"
17
+ require "kitchen/terraform/error"
18
18
  require "kitchen/verifier/terraform"
19
19
 
20
20
  # Configures the InSpec profile attributes for the Inspec::Runner used by the verifier to verify a group.
@@ -55,27 +55,20 @@ require "kitchen/verifier/terraform"
55
55
  # @see https://www.terraform.io/docs/configuration/outputs.html Terraform output variables
56
56
  # @see https://www.terraform.io/docs/state/index.html Terraform state
57
57
  module ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerAttributes
58
- extend ::Dry::Monads::Either::Mixin
59
-
60
- extend ::Dry::Monads::Maybe::Mixin
61
-
62
- extend ::Dry::Monads::Try::Mixin
63
-
64
58
  # Invokes the function
65
59
  #
66
60
  # @param group [::Hash] a kitchen-terraform verifier group.
67
61
  # @param output [::String] the output of the Terraform state.
68
- # @return [::Dry::Monads::Either] the result of the function.
62
+ # @raise [::Kitchen::Terraform::Error] if the configuration fails.
63
+ # @return [::Hash] the configured attributes.
69
64
  def self.call(group:, output:)
70
- Right(
71
- group
72
- .fetch(
73
- :attributes,
74
- {}
75
- )
76
- )
77
- .bind do |group_attributes|
78
- Right(
65
+ group
66
+ .fetch(
67
+ :attributes,
68
+ {}
69
+ )
70
+ .tap do |group_attributes|
71
+ return(
79
72
  output
80
73
  .keys
81
74
  .+(group_attributes.keys)
@@ -84,11 +77,6 @@ module ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerAttributes
84
77
  .keys
85
78
  .+(group_attributes.values)
86
79
  )
87
- )
88
- end
89
- .bind do |unresolved_attributes|
90
- Try ::KeyError do
91
- unresolved_attributes
92
80
  .reduce ::Hash.new do |resolved_attributes, (attribute_name, output_name)|
93
81
  resolved_attributes
94
82
  .merge(
@@ -99,11 +87,12 @@ module ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerAttributes
99
87
  .fetch("value")
100
88
  )
101
89
  end
102
- end
103
- end
104
- .to_either
105
- .or do |error|
106
- Left "Configuring InSpec runner attributes resulted in failure: #{error}"
90
+ )
107
91
  end
92
+ rescue ::KeyError => error
93
+ raise(
94
+ ::Kitchen::Terraform::Error,
95
+ "Configuring InSpec runner attributes resulted in failure: #{error.message}"
96
+ )
108
97
  end
109
98
  end
@@ -14,7 +14,6 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "dry/monads"
18
17
  require "kitchen/verifier/terraform"
19
18
 
20
19
  # Configures a group's InSpec profile controls to be inclued by the Inspec::Runner used by the verifier.
@@ -24,16 +23,19 @@ require "kitchen/verifier/terraform"
24
23
  # @see https://github.com/chef/inspec/blob/master/lib/inspec/runner.rb ::Inspec::Runner
25
24
  # @see https://www.inspec.io/docs/reference/profiles/ InSpec profiles
26
25
  module ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerControls
27
- extend ::Dry::Monads::Either::Mixin
28
- extend ::Dry::Monads::Maybe::Mixin
29
-
30
26
  # Invokes the function
31
27
  #
32
28
  # @param group [::Hash] the group being verified.
33
29
  # @param options [:Hash] the verifier's Inspec::Runner's options.
34
30
  def self.call(group:, options:)
35
- Maybe(group[:controls]).bind do |controls|
36
- options.store :controls, controls
37
- end
31
+ group[:controls]
32
+ .tap do |controls|
33
+ controls and
34
+ options
35
+ .store(
36
+ :controls,
37
+ controls
38
+ )
39
+ end
38
40
  end
39
41
  end
@@ -14,7 +14,6 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "dry/monads"
18
17
  require "kitchen/verifier/terraform"
19
18
 
20
19
  # Configures the port for the Inspec::Runner used by the verifier to verify a group.
@@ -23,15 +22,19 @@ require "kitchen/verifier/terraform"
23
22
  #
24
23
  # @see https://github.com/chef/inspec/blob/master/lib/inspec/runner.rb Inspec::Runner
25
24
  module ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerPort
26
- extend ::Dry::Monads::Maybe::Mixin
27
-
28
25
  # Invokes the function.
29
26
  #
30
27
  # @param group [::Hash] the group being verified.
31
28
  # @param options [::Hash] the Inspec::Runner's options.
32
29
  def self.call(group:, options:)
33
- Maybe(group[:port]).bind do |port|
34
- options.store "port", port
35
- end
30
+ group[:port]
31
+ .tap do |port|
32
+ port and
33
+ options
34
+ .store(
35
+ "port",
36
+ port
37
+ )
38
+ end
36
39
  end
37
40
  end
@@ -14,7 +14,6 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "dry/monads"
18
17
  require "kitchen/verifier/terraform"
19
18
 
20
19
  # Configures the private SSH key to be used by the verifier's InSpec Runner to verify a group.
@@ -24,20 +23,19 @@ require "kitchen/verifier/terraform"
24
23
  # @see https://github.com/chef/inspec/blob/master/lib/inspec/runner.rb InSpec Runner
25
24
  # @see https://github.com/test-kitchen/test-kitchen/blob/v1.16.0/lib/kitchen/transport/ssh.rb Test Kitchen SSH Transport
26
25
  module ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerSSHKey
27
- extend ::Dry::Monads::Maybe::Mixin
28
-
29
26
  # Invoke the function.
30
27
  #
31
28
  # @param group [::Hash] the group being verified.
32
29
  # @param options [::Hash] the Inspec::Runner's options.
33
30
  def self.call(group:, options:)
34
- Maybe(group[:ssh_key])
35
- .bind do |ssh_key|
36
- options
37
- .store(
38
- "key_files",
39
- [ssh_key]
40
- )
31
+ group[:ssh_key]
32
+ .tap do |ssh_key|
33
+ ssh_key and
34
+ options
35
+ .store(
36
+ "key_files",
37
+ [ssh_key]
38
+ )
41
39
  end
42
40
  end
43
41
  end
@@ -14,7 +14,6 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "dry/monads"
18
17
  require "kitchen/verifier/terraform"
19
18
 
20
19
  # Configures the user for the Inspec::Runner used by the verifier to verify a group.
@@ -23,15 +22,19 @@ require "kitchen/verifier/terraform"
23
22
  #
24
23
  # @see https://github.com/chef/inspec/blob/master/lib/inspec/runner.rb Inspec::Runner
25
24
  module ::Kitchen::Verifier::Terraform::ConfigureInspecRunnerUser
26
- extend ::Dry::Monads::Maybe::Mixin
27
-
28
25
  # Invoke the function.
29
26
  #
30
27
  # @param group [::Hash] the group being verified.
31
28
  # @param options [::Hash] the Inspec::Runner's options.
32
29
  def self.call(group:, options:)
33
- Maybe(group[:username]).bind do |username|
34
- options.store "user", username
35
- end
30
+ group[:username]
31
+ .tap do |username|
32
+ username and
33
+ options
34
+ .store(
35
+ "user",
36
+ username
37
+ )
38
+ end
36
39
  end
37
40
  end
@@ -14,7 +14,7 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "dry/monads"
17
+ require "kitchen/terraform/error"
18
18
  require "kitchen/verifier/terraform"
19
19
 
20
20
  # Enumerates each group and the hostnames of each group.
@@ -31,55 +31,52 @@ require "kitchen/verifier/terraform"
31
31
  # @see https://www.terraform.io/docs/configuration/outputs.html Terraform output variables
32
32
  # @see https://www.terraform.io/docs/state/index.html Terraform state
33
33
  module ::Kitchen::Verifier::Terraform::EnumerateGroupsAndHostnames
34
- extend ::Dry::Monads::Either::Mixin
35
- extend ::Dry::Monads::List::Mixin
36
- extend ::Dry::Monads::Maybe::Mixin
37
- extend ::Dry::Monads::Try::Mixin
38
-
39
34
  # Invokes the function.
40
35
  #
41
36
  # @param groups [::Array] a collection of groups.
42
- # @return [::Dry::Monads::Either] the result of the function.
37
+ # @raise [::Kitchen::Terraform::Error] if the enumeration fails.
38
+ # @return [void]
43
39
  # @yieldparam group [::Hash] the group from which hostnamess are being enumerated.
44
40
  # @yieldparam hostname [::String] a hostname from the group.
45
- def self.call(groups:, output:)
46
- List(groups)
47
- .fmap(&method(:Right))
48
- .typed(::Dry::Monads::Either)
49
- .traverse do |member|
50
- member
51
- .bind do |group|
52
- Try ::KeyError do
53
- Maybe(group[:hostnames])
54
- .fmap do |hostnames_output_name|
55
- output
56
- .fetch(hostnames_output_name)
57
- .fetch("value")
58
- end
59
- .or do
60
- Right "localhost"
61
- end
62
- .fmap do |hostnames|
63
- Array(hostnames)
64
- .each do |hostname|
65
- yield(
66
- group: group,
67
- hostname: hostname
68
- )
69
- end
70
- end
71
- end
72
- .to_either
73
- end
74
- end
75
- .bind do
76
- Right "Enumeration of groups and hostnames resulted in success"
77
- end
78
- .or do |error|
79
- Left(
80
- "Enumeration of groups and hostnames resulted in failure due to the omission of the configured :hostnames " \
81
- "output or an unexpected output structure: #{error}"
41
+ def self.call(groups:, output:, &block)
42
+ groups
43
+ .each do |group|
44
+ each_resolved_hostname_and_group(
45
+ group: group,
46
+ hostnames: group[:hostnames],
47
+ output: output,
48
+ &block
82
49
  )
83
50
  end
51
+ rescue ::KeyError => error
52
+ raise(
53
+ ::Kitchen::Terraform::Error,
54
+ "Enumeration of groups and hostnames resulted in failure due to the omission of the configured :hostnames " \
55
+ "output or an unexpected output structure: #{error.message}"
56
+ )
57
+ end
58
+
59
+ private_class_method
60
+
61
+ # @api private
62
+ def self.each_resolved_hostname_and_group(group:, hostnames:, output:)
63
+ if hostnames
64
+ Array(
65
+ output
66
+ .fetch(hostnames)
67
+ .fetch("value")
68
+ )
69
+ .each do |hostname|
70
+ yield(
71
+ group: group,
72
+ hostname: hostname
73
+ )
74
+ end
75
+ else
76
+ yield(
77
+ group: group,
78
+ hostname: "localhost"
79
+ )
80
+ end
84
81
  end
85
82
  end
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: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Lane
@@ -18,6 +18,7 @@ authors:
18
18
  - Nick Willever
19
19
  - Steven A. Burns
20
20
  - Walter Dolce
21
+ - curleighbraces
21
22
  autorequire:
22
23
  bindir: bin
23
24
  cert_chain:
@@ -54,8 +55,22 @@ cert_chain:
54
55
  XjOfZudLs1zJ8ZNOuwj6KkGJ9J3XHd9hM95MtBEWlxAfYdCuW1+v7zCTfbieBEba
55
56
  UIyyldg4TuVcuRs8uKJyempT0hqx2DniseBWw3nvtgom3A==
56
57
  -----END CERTIFICATE-----
57
- date: 2017-11-29 00:00:00.000000000 Z
58
+ date: 2018-01-08 00:00:00.000000000 Z
58
59
  dependencies:
60
+ - !ruby/object:Gem::Dependency
61
+ name: bundler-audit
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: 0.6.0
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: 0.6.0
59
74
  - !ruby/object:Gem::Dependency
60
75
  name: codeclimate-test-reporter
61
76
  requirement: !ruby/object:Gem::Requirement
@@ -98,6 +113,20 @@ dependencies:
98
113
  - - "~>"
99
114
  - !ruby/object:Gem::Version
100
115
  version: '2.1'
116
+ - !ruby/object:Gem::Dependency
117
+ name: guard-bundler-audit
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: 0.1.4
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: 0.1.4
101
130
  - !ruby/object:Gem::Dependency
102
131
  name: guard-rspec
103
132
  requirement: !ruby/object:Gem::Requirement
@@ -126,6 +155,90 @@ dependencies:
126
155
  - - "~>"
127
156
  - !ruby/object:Gem::Version
128
157
  version: '2.2'
158
+ - !ruby/object:Gem::Dependency
159
+ name: middleman
160
+ requirement: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: '4.2'
165
+ type: :development
166
+ prerelease: false
167
+ version_requirements: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '4.2'
172
+ - !ruby/object:Gem::Dependency
173
+ name: middleman-autoprefixer
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '2.7'
179
+ type: :development
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: '2.7'
186
+ - !ruby/object:Gem::Dependency
187
+ name: middleman-favicon-maker
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - "~>"
191
+ - !ruby/object:Gem::Version
192
+ version: '4.1'
193
+ type: :development
194
+ prerelease: false
195
+ version_requirements: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '4.1'
200
+ - !ruby/object:Gem::Dependency
201
+ name: middleman-livereload
202
+ requirement: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - "~>"
205
+ - !ruby/object:Gem::Version
206
+ version: '3.4'
207
+ type: :development
208
+ prerelease: false
209
+ version_requirements: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - "~>"
212
+ - !ruby/object:Gem::Version
213
+ version: '3.4'
214
+ - !ruby/object:Gem::Dependency
215
+ name: middleman-syntax
216
+ requirement: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - "~>"
219
+ - !ruby/object:Gem::Version
220
+ version: '3.0'
221
+ type: :development
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - "~>"
226
+ - !ruby/object:Gem::Version
227
+ version: '3.0'
228
+ - !ruby/object:Gem::Dependency
229
+ name: mini_racer
230
+ requirement: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - "~>"
233
+ - !ruby/object:Gem::Version
234
+ version: 0.1.0
235
+ type: :development
236
+ prerelease: false
237
+ version_requirements: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - "~>"
240
+ - !ruby/object:Gem::Version
241
+ version: 0.1.0
129
242
  - !ruby/object:Gem::Dependency
130
243
  name: pry
131
244
  requirement: !ruby/object:Gem::Requirement
@@ -155,69 +268,69 @@ dependencies:
155
268
  - !ruby/object:Gem::Version
156
269
  version: '0.2'
157
270
  - !ruby/object:Gem::Dependency
158
- name: rspec
271
+ name: rake
159
272
  requirement: !ruby/object:Gem::Requirement
160
273
  requirements:
161
274
  - - "~>"
162
275
  - !ruby/object:Gem::Version
163
- version: '3.4'
276
+ version: '12.3'
164
277
  type: :development
165
278
  prerelease: false
166
279
  version_requirements: !ruby/object:Gem::Requirement
167
280
  requirements:
168
281
  - - "~>"
169
282
  - !ruby/object:Gem::Version
170
- version: '3.4'
283
+ version: '12.3'
171
284
  - !ruby/object:Gem::Dependency
172
- name: travis
285
+ name: rspec
173
286
  requirement: !ruby/object:Gem::Requirement
174
287
  requirements:
175
288
  - - "~>"
176
289
  - !ruby/object:Gem::Version
177
- version: '1.8'
290
+ version: '3.4'
178
291
  type: :development
179
292
  prerelease: false
180
293
  version_requirements: !ruby/object:Gem::Requirement
181
294
  requirements:
182
295
  - - "~>"
183
296
  - !ruby/object:Gem::Version
184
- version: '1.8'
297
+ version: '3.4'
185
298
  - !ruby/object:Gem::Dependency
186
- name: yard
299
+ name: rubyzip
187
300
  requirement: !ruby/object:Gem::Requirement
188
301
  requirements:
189
302
  - - "~>"
190
303
  - !ruby/object:Gem::Version
191
- version: '0.9'
304
+ version: '1.2'
192
305
  type: :development
193
306
  prerelease: false
194
307
  version_requirements: !ruby/object:Gem::Requirement
195
308
  requirements:
196
309
  - - "~>"
197
310
  - !ruby/object:Gem::Version
198
- version: '0.9'
311
+ version: '1.2'
199
312
  - !ruby/object:Gem::Dependency
200
- name: dry-monads
313
+ name: travis
201
314
  requirement: !ruby/object:Gem::Requirement
202
315
  requirements:
203
316
  - - "~>"
204
317
  - !ruby/object:Gem::Version
205
- version: '0.3'
206
- type: :runtime
318
+ version: '1.8'
319
+ type: :development
207
320
  prerelease: false
208
321
  version_requirements: !ruby/object:Gem::Requirement
209
322
  requirements:
210
323
  - - "~>"
211
324
  - !ruby/object:Gem::Version
212
- version: '0.3'
325
+ version: '1.8'
213
326
  - !ruby/object:Gem::Dependency
214
- name: dry-types
327
+ name: yard
215
328
  requirement: !ruby/object:Gem::Requirement
216
329
  requirements:
217
330
  - - "~>"
218
331
  - !ruby/object:Gem::Version
219
332
  version: '0.9'
220
- type: :runtime
333
+ type: :development
221
334
  prerelease: false
222
335
  version_requirements: !ruby/object:Gem::Requirement
223
336
  requirements:
@@ -225,39 +338,33 @@ dependencies:
225
338
  - !ruby/object:Gem::Version
226
339
  version: '0.9'
227
340
  - !ruby/object:Gem::Dependency
228
- name: dry-validation
341
+ name: dry-types
229
342
  requirement: !ruby/object:Gem::Requirement
230
343
  requirements:
231
344
  - - "~>"
232
345
  - !ruby/object:Gem::Version
233
- version: '0.10'
346
+ version: '0.9'
234
347
  type: :runtime
235
348
  prerelease: false
236
349
  version_requirements: !ruby/object:Gem::Requirement
237
350
  requirements:
238
351
  - - "~>"
239
352
  - !ruby/object:Gem::Version
240
- version: '0.10'
353
+ version: '0.9'
241
354
  - !ruby/object:Gem::Dependency
242
- name: inspec
355
+ name: dry-validation
243
356
  requirement: !ruby/object:Gem::Requirement
244
357
  requirements:
245
- - - ">="
246
- - !ruby/object:Gem::Version
247
- version: 0.34.0
248
- - - "<="
358
+ - - "~>"
249
359
  - !ruby/object:Gem::Version
250
- version: 1.44.8
360
+ version: '0.10'
251
361
  type: :runtime
252
362
  prerelease: false
253
363
  version_requirements: !ruby/object:Gem::Requirement
254
364
  requirements:
255
- - - ">="
256
- - !ruby/object:Gem::Version
257
- version: 0.34.0
258
- - - "<="
365
+ - - "~>"
259
366
  - !ruby/object:Gem::Version
260
- version: 1.44.8
367
+ version: '0.10'
261
368
  - !ruby/object:Gem::Dependency
262
369
  name: kitchen-inspec
263
370
  requirement: !ruby/object:Gem::Requirement
@@ -292,14 +399,14 @@ dependencies:
292
399
  requirements:
293
400
  - - "~>"
294
401
  - !ruby/object:Gem::Version
295
- version: 1.16.0
402
+ version: '1.16'
296
403
  type: :runtime
297
404
  prerelease: false
298
405
  version_requirements: !ruby/object:Gem::Requirement
299
406
  requirements:
300
407
  - - "~>"
301
408
  - !ruby/object:Gem::Version
302
- version: 1.16.0
409
+ version: '1.16'
303
410
  description: kitchen-terraform is a set of Test Kitchen plugins for testing Terraform
304
411
  configuration
305
412
  email: kitchen-terraform@newcontext.com
@@ -315,6 +422,8 @@ files:
315
422
  - lib/kitchen/provisioner/terraform.rb
316
423
  - lib/kitchen/terraform.rb
317
424
  - lib/kitchen/terraform/client_version_verifier.rb
425
+ - lib/kitchen/terraform/command.rb
426
+ - lib/kitchen/terraform/command/output.rb
318
427
  - lib/kitchen/terraform/config_attribute.rb
319
428
  - lib/kitchen/terraform/config_attribute/backend_configurations.rb
320
429
  - lib/kitchen/terraform/config_attribute/color.rb
@@ -339,6 +448,7 @@ files:
339
448
  - lib/kitchen/terraform/config_schemas/optional_string.rb
340
449
  - lib/kitchen/terraform/config_schemas/string.rb
341
450
  - lib/kitchen/terraform/configurable.rb
451
+ - lib/kitchen/terraform/error.rb
342
452
  - lib/kitchen/terraform/file_path_config_attribute_definer.rb
343
453
  - lib/kitchen/terraform/shell_out.rb
344
454
  - lib/kitchen/terraform/version.rb
@@ -376,7 +486,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
376
486
  requirements:
377
487
  - Terraform >= 0.10.2, < 0.12.0
378
488
  rubyforge_project:
379
- rubygems_version: 2.7.3
489
+ rubygems_version: 2.7.4
380
490
  signing_key:
381
491
  specification_version: 4
382
492
  summary: Test Kitchen plugins for testing Terraform configuration