kitchen-terraform 5.8.0 → 6.0.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 +17 -16
- data/lib/kitchen/driver/terraform.rb +1 -1
- data/lib/kitchen/provisioner/terraform.rb +1 -1
- data/lib/kitchen/terraform.rb +1 -1
- data/lib/kitchen/terraform/breaking.rb +1 -1
- data/lib/kitchen/terraform/command.rb +1 -1
- data/lib/kitchen/terraform/command/apply.rb +1 -1
- data/lib/kitchen/terraform/command/destroy.rb +1 -1
- data/lib/kitchen/terraform/command/get.rb +1 -1
- data/lib/kitchen/terraform/command/init.rb +1 -1
- data/lib/kitchen/terraform/command/init/post_zero_fifteen_zero.rb +1 -1
- data/lib/kitchen/terraform/command/init/pre_zero_fifteen_zero.rb +1 -1
- data/lib/kitchen/terraform/command/init_factory.rb +1 -1
- data/lib/kitchen/terraform/command/output.rb +1 -1
- data/lib/kitchen/terraform/command/validate.rb +1 -1
- data/lib/kitchen/terraform/command/validate/post_zero_fifteen_zero.rb +1 -1
- data/lib/kitchen/terraform/command/validate/pre_zero_fifteen_zero.rb +1 -1
- data/lib/kitchen/terraform/command/validate_factory.rb +1 -1
- data/lib/kitchen/terraform/command/version.rb +1 -1
- data/lib/kitchen/terraform/command/workspace_delete.rb +1 -1
- data/lib/kitchen/terraform/command/workspace_new.rb +1 -1
- data/lib/kitchen/terraform/command/workspace_select.rb +1 -1
- data/lib/kitchen/terraform/command_executor.rb +3 -5
- data/lib/kitchen/terraform/command_flag.rb +1 -1
- data/lib/kitchen/terraform/command_flag/backend_config.rb +1 -1
- data/lib/kitchen/terraform/command_flag/color.rb +1 -1
- data/lib/kitchen/terraform/command_flag/lock_timeout.rb +1 -1
- data/lib/kitchen/terraform/command_flag/plugin_dir.rb +1 -1
- data/lib/kitchen/terraform/command_flag/upgrade.rb +1 -1
- data/lib/kitchen/terraform/command_flag/var.rb +1 -1
- data/lib/kitchen/terraform/command_flag/var_file.rb +1 -1
- data/lib/kitchen/terraform/config_attribute.rb +1 -1
- data/lib/kitchen/terraform/config_attribute/backend_configurations.rb +1 -1
- data/lib/kitchen/terraform/config_attribute/client.rb +3 -3
- data/lib/kitchen/terraform/config_attribute/color.rb +3 -3
- data/lib/kitchen/terraform/config_attribute/command_timeout.rb +1 -1
- data/lib/kitchen/terraform/config_attribute/fail_fast.rb +3 -3
- data/lib/kitchen/terraform/config_attribute/lock.rb +3 -3
- data/lib/kitchen/terraform/config_attribute/lock_timeout.rb +1 -1
- data/lib/kitchen/terraform/config_attribute/parallelism.rb +1 -1
- data/lib/kitchen/terraform/config_attribute/plugin_directory.rb +3 -3
- data/lib/kitchen/terraform/config_attribute/root_module_directory.rb +3 -3
- data/lib/kitchen/terraform/config_attribute/systems.rb +552 -4
- data/lib/kitchen/terraform/config_attribute/variable_files.rb +3 -3
- data/lib/kitchen/terraform/config_attribute/variables.rb +1 -1
- data/lib/kitchen/terraform/config_attribute/verify_version.rb +3 -3
- data/lib/kitchen/terraform/config_attribute_cacher.rb +1 -1
- data/lib/kitchen/terraform/{config_predicates.rb → config_attribute_contract.rb} +3 -3
- data/lib/kitchen/terraform/config_attribute_contract/array_of_strings.rb +30 -0
- data/lib/kitchen/terraform/{config_schemas → config_attribute_contract}/boolean.rb +7 -11
- data/lib/kitchen/terraform/config_attribute_contract/hash_of_symbols_and_strings.rb +41 -0
- data/lib/kitchen/terraform/{config_schemas.rb → config_attribute_contract/integer.rb} +10 -3
- data/lib/kitchen/terraform/config_attribute_contract/optional_string.rb +30 -0
- data/lib/kitchen/terraform/{config_schemas → config_attribute_contract}/string.rb +7 -9
- data/lib/kitchen/terraform/config_attribute_contract/systems.rb +63 -0
- data/lib/kitchen/terraform/config_attribute_definer.rb +2 -2
- data/lib/kitchen/terraform/config_attribute_type.rb +1 -1
- data/lib/kitchen/terraform/config_attribute_type/hash_of_symbols_and_strings.rb +9 -16
- data/lib/kitchen/terraform/config_attribute_type/integer.rb +27 -23
- data/lib/kitchen/terraform/configurable.rb +1 -1
- data/lib/kitchen/terraform/debug_logger.rb +1 -1
- data/lib/kitchen/terraform/deprecating.rb +1 -1
- data/lib/kitchen/terraform/driver.rb +1 -1
- data/lib/kitchen/terraform/driver/create.rb +5 -5
- data/lib/kitchen/terraform/driver/destroy.rb +8 -8
- data/lib/kitchen/terraform/error.rb +1 -1
- data/lib/kitchen/terraform/file_path_config_attribute_definer.rb +1 -1
- data/lib/kitchen/terraform/inspec.rb +1 -1
- data/lib/kitchen/terraform/inspec/fail_fast_with_hosts.rb +1 -1
- data/lib/kitchen/terraform/inspec/fail_slow_with_hosts.rb +1 -1
- data/lib/kitchen/terraform/inspec/without_hosts.rb +1 -1
- data/lib/kitchen/terraform/inspec_factory.rb +1 -1
- data/lib/kitchen/terraform/inspec_options_factory.rb +1 -1
- data/lib/kitchen/terraform/inspec_runner.rb +1 -1
- data/lib/kitchen/terraform/outputs_manager.rb +1 -1
- data/lib/kitchen/terraform/outputs_parser.rb +1 -1
- data/lib/kitchen/terraform/outputs_reader.rb +2 -2
- data/lib/kitchen/terraform/provisioner.rb +1 -1
- data/lib/kitchen/terraform/provisioner/converge.rb +6 -6
- data/lib/kitchen/terraform/raise.rb +1 -1
- data/lib/kitchen/terraform/raise/action_failed.rb +1 -1
- data/lib/kitchen/terraform/raise/client_error.rb +1 -1
- data/lib/kitchen/terraform/shell_out.rb +2 -2
- data/lib/kitchen/terraform/system.rb +1 -1
- data/lib/kitchen/terraform/system_attrs_inputs_resolver.rb +1 -1
- data/lib/kitchen/terraform/system_attrs_outputs_resolver.rb +1 -1
- data/lib/kitchen/terraform/system_bastion_host_resolver.rb +1 -1
- data/lib/kitchen/terraform/system_hosts_resolver.rb +1 -1
- data/lib/kitchen/terraform/system_inspec_map.rb +1 -1
- data/lib/kitchen/terraform/systems_verifier.rb +1 -1
- data/lib/kitchen/terraform/systems_verifier/fail_fast.rb +1 -1
- data/lib/kitchen/terraform/systems_verifier/fail_slow.rb +1 -1
- data/lib/kitchen/terraform/systems_verifier_factory.rb +1 -1
- data/lib/kitchen/terraform/unsupported_client_version_error.rb +1 -1
- data/lib/kitchen/terraform/variables_manager.rb +1 -1
- data/lib/kitchen/terraform/verify_version.rb +1 -1
- data/lib/kitchen/terraform/verify_version_rescue_strategy.rb +1 -1
- data/lib/kitchen/terraform/verify_version_rescue_strategy/permissive.rb +1 -1
- data/lib/kitchen/terraform/verify_version_rescue_strategy/strict.rb +1 -1
- data/lib/kitchen/terraform/verify_version_rescue_strategy_factory.rb +1 -1
- data/lib/kitchen/terraform/version.rb +2 -2
- data/lib/kitchen/terraform/version_verifier.rb +1 -1
- data/lib/kitchen/terraform/version_verifier_strategy.rb +1 -1
- data/lib/kitchen/terraform/version_verifier_strategy/supported.rb +1 -1
- data/lib/kitchen/terraform/version_verifier_strategy/unsupported.rb +1 -1
- data/lib/kitchen/terraform/version_verifier_strategy_factory.rb +1 -1
- data/lib/kitchen/verifier/terraform.rb +1 -1
- metadata +60 -49
- metadata.gz.sig +0 -0
- data/lib/kitchen/terraform/config_predicates/hash_of_symbols_and_strings.rb +0 -81
- data/lib/kitchen/terraform/config_schemas/array_of_strings.rb +0 -38
- data/lib/kitchen/terraform/config_schemas/optional_string.rb +0 -38
- data/lib/kitchen/terraform/config_schemas/system.rb +0 -609
- data/lib/kitchen/terraform/config_schemas/systems.rb +0 -37
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d3817060a934ee0a8712bcb0f68b4ba6662078276216384e26d01f74f5fe2608
|
|
4
|
+
data.tar.gz: e477a746be09e08cc3c611c9fe679e4d2ccc620e216021755c14940f65834b06
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0557d8153736088165d4f9d14b0ebcc9b36a703fc1f31eaf2ef4e8aa3895e70e71652157c856a5cad4911ef3e99d96976ed44ac4fa7ec38e2d880714f6121254
|
|
7
|
+
data.tar.gz: 266fa709671ce5c8f04ad92bcd498788459ed0aaefc7fd1de598c9c79f8df640e094b0434c380a3d71ac59aa6f71acb3eb582445fa0412c91c601045c89cab05
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data.tar.gz.sig
CHANGED
|
Binary file
|
data/README.md
CHANGED
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
[![Gem downloads version][gem-downloads-version-shield]][kitchen-terraform-gem]
|
|
7
7
|
[![Gem downloads total][gem-downloads-total-shield]][kitchen-terraform-gem]
|
|
8
8
|
|
|
9
|
-
[![
|
|
10
|
-
[![AppVeyor Build status][appveyor-build-status-shield]][appveyor-build-status]
|
|
9
|
+
[![Test workflow][test-workflow-shield]][test-workflow]
|
|
11
10
|
[![Code coverage][code-coverage-shield]][code-coverage]
|
|
12
11
|
[![Maintainability][maintainability-shield]][maintainability]
|
|
13
12
|
[![Technical debt][technical-debt-shield]][technical-debt]
|
|
@@ -102,7 +101,7 @@ example.
|
|
|
102
101
|
> Installing Kitchen-Terraform with RubyGems
|
|
103
102
|
|
|
104
103
|
```sh
|
|
105
|
-
gem install kitchen-terraform --version
|
|
104
|
+
gem install kitchen-terraform --version 6.0.0
|
|
106
105
|
```
|
|
107
106
|
|
|
108
107
|
This approach is not recommended as it requires more effort to install
|
|
@@ -182,43 +181,43 @@ Information about changes to Kitchen-Terraform can be found in the
|
|
|
182
181
|
## Maintainers
|
|
183
182
|
|
|
184
183
|
Kitchen-Terraform is maintained by [community contributors][contributors]
|
|
185
|
-
and
|
|
184
|
+
and Copado NCS LLC.
|
|
186
185
|
|
|
187
186
|
<img
|
|
188
|
-
alt="
|
|
187
|
+
alt="Copado logo"
|
|
189
188
|
height="25"
|
|
190
|
-
src="https://raw.githubusercontent.com/newcontext-oss/kitchen-terraform/master/assets/
|
|
191
|
-
width="25"> [
|
|
189
|
+
src="https://raw.githubusercontent.com/newcontext-oss/kitchen-terraform/master/assets/copado_logo.png"
|
|
190
|
+
width="25"> [copado.com][copado]
|
|
192
191
|
|
|
193
192
|
<img
|
|
194
193
|
alt="Twitter logo"
|
|
195
194
|
height="25"
|
|
196
195
|
src="https://raw.githubusercontent.com/newcontext-oss/kitchen-terraform/master/assets/twitter_logo.png"
|
|
197
|
-
width="25"> [@
|
|
196
|
+
width="25"> [@CopadoSolutions][copado-twitter]
|
|
198
197
|
|
|
199
198
|
<img
|
|
200
199
|
alt="LinkedIn logo"
|
|
201
200
|
height="23"
|
|
202
201
|
src="https://raw.githubusercontent.com/newcontext-oss/kitchen-terraform/master/assets/linkedin_logo.png"
|
|
203
|
-
width="25"> [
|
|
202
|
+
width="25"> [Copado][copado-linkedin]
|
|
204
203
|
|
|
205
204
|
<img
|
|
206
205
|
alt="GitHub logo"
|
|
207
206
|
height="25"
|
|
208
207
|
src="https://raw.githubusercontent.com/newcontext-oss/kitchen-terraform/master/assets/github_logo.png"
|
|
209
|
-
width="25"> [@
|
|
208
|
+
width="25"> [@CopadoSolutions][copado-github]
|
|
210
209
|
|
|
211
210
|
<img
|
|
212
211
|
alt="Email logo"
|
|
213
212
|
height="16"
|
|
214
213
|
src="https://raw.githubusercontent.com/newcontext-oss/kitchen-terraform/master/assets/email_logo.png"
|
|
215
|
-
width="25"> kitchen-terraform@
|
|
214
|
+
width="25"> kitchen-terraform@copado.com
|
|
216
215
|
|
|
217
216
|
<img
|
|
218
217
|
alt="Email logo"
|
|
219
218
|
height="16"
|
|
220
219
|
src="https://raw.githubusercontent.com/newcontext-oss/kitchen-terraform/master/assets/email_logo.png"
|
|
221
|
-
width="25"> info@
|
|
220
|
+
width="25"> ss-info@copado.com
|
|
222
221
|
|
|
223
222
|
## License
|
|
224
223
|
|
|
@@ -257,10 +256,10 @@ Kitchen-Terraform is distributed under the [Apache License][license].
|
|
|
257
256
|
[license]: https://github.com/newcontext-oss/kitchen-terraform/blob/master/LICENSE
|
|
258
257
|
[maintainability-shield]: https://img.shields.io/codeclimate/maintainability-percentage/newcontext-oss/kitchen-terraform.svg
|
|
259
258
|
[maintainability]: https://codeclimate.com/github/newcontext-oss/kitchen-terraform/
|
|
260
|
-
[
|
|
261
|
-
[
|
|
262
|
-
[
|
|
263
|
-
[
|
|
259
|
+
[copado-github]: https://github.com/CopadoSolutions
|
|
260
|
+
[copado-linkedin]: https://www.linkedin.com/company/copado-solutions-s.l
|
|
261
|
+
[copado-twitter]: https://twitter.com/CopadoSolutions
|
|
262
|
+
[copado]: https://copado.com/
|
|
264
263
|
[rbenv]: https://github.com/rbenv/rbenv
|
|
265
264
|
[rbnacl-installation]: https://github.com/crypto-rb/rbnacl/tree/v4.0.2#installation
|
|
266
265
|
[ruby-branches]: https://www.ruby-lang.org/en/downloads/branches/
|
|
@@ -278,6 +277,8 @@ Kitchen-Terraform is distributed under the [Apache License][license].
|
|
|
278
277
|
[terraform-verifier]: http://www.rubydoc.info/github/newcontext-oss/kitchen-terraform/Kitchen/Verifier/Terraform
|
|
279
278
|
[terraform]: https://www.terraform.io/
|
|
280
279
|
[test-directory]: https://github.com/newcontext-oss/kitchen-terraform/tree/master/test
|
|
280
|
+
[test-workflow]: https://github.com/newcontext-oss/kitchen-terraform/actions/workflows/tests.yml
|
|
281
|
+
[test-workflow-shield]: https://github.com/newcontext-oss/kitchen-terraform/actions/workflows/tests.yml/badge.svg
|
|
281
282
|
[tfenv]: https://github.com/kamatama41/tfenv
|
|
282
283
|
[travis-build-status-shield]: https://img.shields.io/travis/com/newcontext-oss/kitchen-terraform.svg
|
|
283
284
|
[travis-build-status]: https://travis-ci.com/newcontext-oss/kitchen-terraform
|
data/lib/kitchen/terraform.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright 2016-
|
|
3
|
+
# Copyright 2016-2021 Copado NCS LLC
|
|
4
4
|
#
|
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
# you may not use this file except in compliance with the License.
|
|
@@ -40,14 +40,12 @@ module Kitchen
|
|
|
40
40
|
# @yieldparam standard_output [String] the standard output of the command.
|
|
41
41
|
# @raise [Kitchen::TransientFailure] if running the command results in failure.
|
|
42
42
|
# @return [self]
|
|
43
|
-
def run(command:, options
|
|
43
|
+
def run(command:, options:, &block)
|
|
44
44
|
::Kitchen::Terraform::ShellOut.new(
|
|
45
45
|
command: "#{client} #{command}",
|
|
46
46
|
logger: logger,
|
|
47
47
|
options: options,
|
|
48
|
-
).run
|
|
49
|
-
yield standard_output: standard_output
|
|
50
|
-
end
|
|
48
|
+
).run(&block)
|
|
51
49
|
|
|
52
50
|
self
|
|
53
51
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# Copyright 2016-
|
|
3
|
+
# Copyright 2016-2021 Copado NCS LLC
|
|
4
4
|
#
|
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
# you may not use this file except in compliance with the License.
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
|
|
17
17
|
require "kitchen/terraform/config_attribute_cacher"
|
|
18
|
-
require "kitchen/terraform/
|
|
18
|
+
require "kitchen/terraform/config_attribute_contract/string"
|
|
19
19
|
require "kitchen/terraform/config_attribute_definer"
|
|
20
20
|
require "tty/which"
|
|
21
21
|
|
|
@@ -47,7 +47,7 @@ module Kitchen
|
|
|
47
47
|
def included(plugin_class)
|
|
48
48
|
::Kitchen::Terraform::ConfigAttributeDefiner.new(
|
|
49
49
|
attribute: self,
|
|
50
|
-
schema: ::Kitchen::Terraform::
|
|
50
|
+
schema: ::Kitchen::Terraform::ConfigAttributeContract::String.new,
|
|
51
51
|
).define plugin_class: plugin_class
|
|
52
52
|
plugin_class.expand_path_for to_sym do |plugin|
|
|
53
53
|
!::TTY::Which.exist? plugin[to_sym]
|