kitchen-terraform 4.8.0 → 4.8.1
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/lib/kitchen/driver/terraform.rb +4 -0
- data/lib/kitchen/terraform/config_attribute/backend_configurations.rb +26 -20
- data/lib/kitchen/terraform/config_attribute/client.rb +0 -2
- data/lib/kitchen/terraform/config_attribute/color.rb +24 -19
- data/lib/kitchen/terraform/config_attribute/command_timeout.rb +21 -15
- data/lib/kitchen/terraform/config_attribute/fail_fast.rb +23 -17
- data/lib/kitchen/terraform/config_attribute/lock.rb +20 -15
- data/lib/kitchen/terraform/config_attribute/lock_timeout.rb +21 -16
- data/lib/kitchen/terraform/config_attribute/parallelism.rb +21 -16
- data/lib/kitchen/terraform/config_attribute/plugin_directory.rb +37 -30
- data/lib/kitchen/terraform/config_attribute/root_module_directory.rb +34 -28
- data/lib/kitchen/terraform/config_attribute/variable_files.rb +38 -32
- data/lib/kitchen/terraform/config_attribute/variables.rb +23 -18
- data/lib/kitchen/terraform/config_attribute/verify_version.rb +21 -14
- data/lib/kitchen/terraform/version.rb +1 -1
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: afe47e6a570e294255912a4c3ceb2700517dbb896ade2804a8e7f838f54f934a
|
|
4
|
+
data.tar.gz: 98ba81f1a138cdb446c8df485e80a3fd8a611749e763c78d819e33a043d8bdcb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b211d8803b02bca5e404e3ffa79a7dc078b214c05d6d1fe695714e1b123698e2cfe76bb67f8dbb3f3f7f77126c1a38c568b2255cc050b6eff30a07aefa697aac
|
|
7
|
+
data.tar.gz: b6aa8704814e6944d4bab56e0ac2588e781ff4698f963f936463c4d96533b7b5e94e8e3a4a21d538d794c895fd66b96771b0a9be06b686eb75f96f9dad3e9443
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data.tar.gz.sig
CHANGED
|
Binary file
|
|
@@ -138,6 +138,10 @@ end
|
|
|
138
138
|
#
|
|
139
139
|
# {include:Kitchen::Terraform::ConfigAttribute::BackendConfigurations}
|
|
140
140
|
#
|
|
141
|
+
# ==== client
|
|
142
|
+
#
|
|
143
|
+
# {include:Kitchen::Terraform::ConfigAttribute::Client}
|
|
144
|
+
#
|
|
141
145
|
# ==== color
|
|
142
146
|
#
|
|
143
147
|
# {include:Kitchen::Terraform::ConfigAttribute::Color}
|
|
@@ -17,24 +17,30 @@
|
|
|
17
17
|
require "kitchen/terraform/config_attribute"
|
|
18
18
|
require "kitchen/terraform/config_attribute_type/hash_of_symbols_and_strings"
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
#
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
20
|
+
module Kitchen
|
|
21
|
+
module Terraform
|
|
22
|
+
class ConfigAttribute
|
|
23
|
+
# This attribute comprises {https://www.terraform.io/docs/backends/config.html Terraform backend configuration}
|
|
24
|
+
# arguments to complete a
|
|
25
|
+
# {https://www.terraform.io/docs/backends/config.html#partial-configuration partial backend configuration}.
|
|
26
|
+
#
|
|
27
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2760142 Mapping of scalars to scalars}
|
|
28
|
+
# Required:: False
|
|
29
|
+
# Default:: <code>{}</code>
|
|
30
|
+
# Example::
|
|
31
|
+
# _
|
|
32
|
+
# backend_configurations:
|
|
33
|
+
# address: demo.consul.io
|
|
34
|
+
# path: example_app/terraform_state
|
|
35
|
+
module BackendConfigurations
|
|
36
|
+
::Kitchen::Terraform::ConfigAttributeType::HashOfSymbolsAndStrings.apply(
|
|
37
|
+
attribute: :backend_configurations,
|
|
38
|
+
config_attribute: self,
|
|
39
|
+
default_value: lambda do
|
|
40
|
+
{}
|
|
41
|
+
end,
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
40
46
|
end
|
|
@@ -37,8 +37,6 @@ module Kitchen
|
|
|
37
37
|
# Example:: <code>client: /usr/local/bin/terraform</code>
|
|
38
38
|
# Example:: <code>client: ./bin/terraform</code>
|
|
39
39
|
# Example:: <code>client: terraform</code>
|
|
40
|
-
#
|
|
41
|
-
# @abstract It must be included by a plugin class in order to be used.
|
|
42
40
|
module Client
|
|
43
41
|
class << self
|
|
44
42
|
def included(plugin_class)
|
|
@@ -18,23 +18,28 @@ require "kitchen"
|
|
|
18
18
|
require "kitchen/terraform/config_attribute"
|
|
19
19
|
require "kitchen/terraform/config_schemas/boolean"
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
#
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
21
|
+
module Kitchen
|
|
22
|
+
module Terraform
|
|
23
|
+
class ConfigAttribute
|
|
24
|
+
# This attribute toggles colored output from systems invoked by the plugin.
|
|
25
|
+
#
|
|
26
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2803629 Boolean}
|
|
27
|
+
# Required:: False
|
|
28
|
+
# Default:: If a {https://en.wikipedia.org/wiki/Terminal_emulator terminal emulator} is associated with the Test
|
|
29
|
+
# Kitchen process then +true+; else +false+.
|
|
30
|
+
# Example:: <code>color: false</code>
|
|
31
|
+
# Caveat:: This attribute does not toggle colored output from the Test Kitchen core, though it does use the same
|
|
32
|
+
# default logic. To toggle colored output from the core, the +--color+ and +--no-color+ command-line
|
|
33
|
+
# flags must be used.
|
|
34
|
+
module Color
|
|
35
|
+
::Kitchen::Terraform::ConfigAttribute.new(
|
|
36
|
+
attribute: :color,
|
|
37
|
+
default_value: lambda do
|
|
38
|
+
::Kitchen.tty?
|
|
39
|
+
end,
|
|
40
|
+
schema: ::Kitchen::Terraform::ConfigSchemas::Boolean,
|
|
41
|
+
).apply config_attribute: self
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
40
45
|
end
|
|
@@ -17,19 +17,25 @@
|
|
|
17
17
|
require "kitchen/terraform/config_attribute"
|
|
18
18
|
require "kitchen/terraform/config_attribute_type/integer"
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
20
|
+
module Kitchen
|
|
21
|
+
module Terraform
|
|
22
|
+
class ConfigAttribute
|
|
23
|
+
# This attribute controls the number of seconds that the plugin will wait for Terraform commands to finish
|
|
24
|
+
# running.
|
|
25
|
+
#
|
|
26
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2803828 Integer}
|
|
27
|
+
# Required:: False
|
|
28
|
+
# Default:: +600+
|
|
29
|
+
# Example:: <code>command_timeout: 1200</code>
|
|
30
|
+
module CommandTimeout
|
|
31
|
+
::Kitchen::Terraform::ConfigAttributeType::Integer.apply(
|
|
32
|
+
attribute: :command_timeout,
|
|
33
|
+
config_attribute: self,
|
|
34
|
+
default_value: lambda do
|
|
35
|
+
600
|
|
36
|
+
end,
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
35
41
|
end
|
|
@@ -18,21 +18,27 @@ require "kitchen"
|
|
|
18
18
|
require "kitchen/terraform/config_attribute"
|
|
19
19
|
require "kitchen/terraform/config_schemas/boolean"
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
21
|
+
module Kitchen
|
|
22
|
+
module Terraform
|
|
23
|
+
class ConfigAttribute
|
|
24
|
+
# This attribute toggles fail fast behaviour when verifying systems.
|
|
25
|
+
#
|
|
26
|
+
# If fail fast behaviour is enabled then Kitchen will halt on the first error raised by a system during
|
|
27
|
+
# verification; else errors raised by systems will be queued until all systems have attempted verification.
|
|
28
|
+
#
|
|
29
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2803629 Boolean}
|
|
30
|
+
# Required:: False
|
|
31
|
+
# Default:: <code>true</code>
|
|
32
|
+
# Example:: <code>fail_fast: false</code>
|
|
33
|
+
module FailFast
|
|
34
|
+
::Kitchen::Terraform::ConfigAttribute.new(
|
|
35
|
+
attribute: :fail_fast,
|
|
36
|
+
default_value: lambda do
|
|
37
|
+
true
|
|
38
|
+
end,
|
|
39
|
+
schema: ::Kitchen::Terraform::ConfigSchemas::Boolean,
|
|
40
|
+
).apply config_attribute: self
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
38
44
|
end
|
|
@@ -18,19 +18,24 @@ require "kitchen"
|
|
|
18
18
|
require "kitchen/terraform/config_attribute"
|
|
19
19
|
require "kitchen/terraform/config_schemas/boolean"
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
21
|
+
module Kitchen
|
|
22
|
+
module Terraform
|
|
23
|
+
class ConfigAttribute
|
|
24
|
+
# This attribute toggles {https://www.terraform.io/docs/state/locking.html locking of the Terraform state file}.
|
|
25
|
+
#
|
|
26
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2803629 Boolean}
|
|
27
|
+
# Required:: False
|
|
28
|
+
# Default:: +true+
|
|
29
|
+
# Example:: <code>lock: false</code>
|
|
30
|
+
module Lock
|
|
31
|
+
::Kitchen::Terraform::ConfigAttribute.new(
|
|
32
|
+
attribute: :lock,
|
|
33
|
+
default_value: lambda do
|
|
34
|
+
true
|
|
35
|
+
end,
|
|
36
|
+
schema: ::Kitchen::Terraform::ConfigSchemas::Boolean,
|
|
37
|
+
).apply config_attribute: self
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
36
41
|
end
|
|
@@ -17,20 +17,25 @@
|
|
|
17
17
|
require "kitchen/terraform/config_attribute"
|
|
18
18
|
require "kitchen/terraform/config_attribute_type/integer"
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
20
|
+
module Kitchen
|
|
21
|
+
module Terraform
|
|
22
|
+
class ConfigAttribute
|
|
23
|
+
# This attribute controls the number of seconds that Terraform will wait for a lock on the state to be obtained
|
|
24
|
+
# during {https://www.terraform.io/docs/state/locking.html operations related to state}.
|
|
25
|
+
#
|
|
26
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2803828 Integer}
|
|
27
|
+
# Required:: False
|
|
28
|
+
# Default:: +0+
|
|
29
|
+
# Example:: <code>lock_timeout: 10</code>
|
|
30
|
+
module LockTimeout
|
|
31
|
+
::Kitchen::Terraform::ConfigAttributeType::Integer.apply(
|
|
32
|
+
attribute: :lock_timeout,
|
|
33
|
+
config_attribute: self,
|
|
34
|
+
default_value: lambda do
|
|
35
|
+
0
|
|
36
|
+
end,
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
36
41
|
end
|
|
@@ -17,20 +17,25 @@
|
|
|
17
17
|
require "kitchen/terraform/config_attribute"
|
|
18
18
|
require "kitchen/terraform/config_attribute_type/integer"
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
20
|
+
module Kitchen
|
|
21
|
+
module Terraform
|
|
22
|
+
class ConfigAttribute
|
|
23
|
+
# This attribute controls the number of concurrent operations to use while Terraform
|
|
24
|
+
# {https://www.terraform.io/docs/internals/graph.html#walking-the-graph walks the resource graph}.
|
|
25
|
+
#
|
|
26
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2803828 Integer}
|
|
27
|
+
# Required:: False
|
|
28
|
+
# Default:: +10+
|
|
29
|
+
# Example:: <code>parallelism: 50</code>
|
|
30
|
+
module Parallelism
|
|
31
|
+
::Kitchen::Terraform::ConfigAttributeType::Integer.apply(
|
|
32
|
+
attribute: :parallelism,
|
|
33
|
+
config_attribute: self,
|
|
34
|
+
default_value: lambda do
|
|
35
|
+
10
|
|
36
|
+
end,
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
36
41
|
end
|
|
@@ -19,38 +19,45 @@ require "kitchen/terraform/config_attribute_cacher"
|
|
|
19
19
|
require "kitchen/terraform/config_schemas/optional_string"
|
|
20
20
|
require "kitchen/terraform/file_path_config_attribute_definer"
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
#
|
|
31
|
-
#
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
22
|
+
module Kitchen
|
|
23
|
+
module Terraform
|
|
24
|
+
class ConfigAttribute
|
|
25
|
+
# This attribute contains the path to the directory which contains
|
|
26
|
+
# {https://www.terraform.io/docs/commands/init.html#plugin-installation customized Terraform provider plugins} to
|
|
27
|
+
# install in place of the official Terraform provider plugins.
|
|
28
|
+
#
|
|
29
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2760844 Scalar}
|
|
30
|
+
# Required:: False
|
|
31
|
+
# Default:: There is no default value because any value will disable the normal Terraform plugin retrieval
|
|
32
|
+
# process.
|
|
33
|
+
# Example:: <code>plugin_directory: /path/to/terraform/plugins</code>
|
|
34
|
+
module PluginDirectory
|
|
35
|
+
class << self
|
|
36
|
+
# A callback to define the configuration attribute which is invoked when this module is included in a plugin
|
|
37
|
+
# class.
|
|
38
|
+
#
|
|
39
|
+
# @param plugin_class [::Kitchen::Configurable] A plugin class.
|
|
40
|
+
# @return [void]
|
|
41
|
+
def included(plugin_class)
|
|
42
|
+
::Kitchen::Terraform::FilePathConfigAttributeDefiner.new(
|
|
43
|
+
attribute: self,
|
|
44
|
+
schema: ::Kitchen::Terraform::ConfigSchemas::OptionalString,
|
|
45
|
+
).define plugin_class: plugin_class
|
|
46
|
+
end
|
|
44
47
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
# @return [::Symbol] the symbol corresponding to this attribute.
|
|
49
|
+
def to_sym
|
|
50
|
+
:plugin_directory
|
|
51
|
+
end
|
|
52
|
+
end
|
|
49
53
|
|
|
50
|
-
|
|
54
|
+
extend ::Kitchen::Terraform::ConfigAttributeCacher
|
|
51
55
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
# @return [nil]
|
|
57
|
+
def config_plugin_directory_default_value
|
|
58
|
+
nil
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
55
62
|
end
|
|
56
63
|
end
|
|
@@ -19,36 +19,42 @@ require "kitchen/terraform/config_attribute_cacher"
|
|
|
19
19
|
require "kitchen/terraform/config_schemas/string"
|
|
20
20
|
require "kitchen/terraform/file_path_config_attribute_definer"
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
22
|
+
module Kitchen
|
|
23
|
+
module Terraform
|
|
24
|
+
class ConfigAttribute
|
|
25
|
+
# This attribute contains the path to the directory which contains the root Terraform module to be tested.
|
|
26
|
+
#
|
|
27
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2760844 Scalar}
|
|
28
|
+
# Required:: False
|
|
29
|
+
# Default:: The {https://en.wikipedia.org/wiki/Working_directory working directory} of the Test Kitchen process.
|
|
30
|
+
# Example:: <code>root_module_directory: /path/to/terraform/root/module/directory</code>
|
|
31
|
+
module RootModuleDirectory
|
|
32
|
+
class << self
|
|
33
|
+
# A callback to define the configuration attribute which is invoked when this module is included in a plugin
|
|
34
|
+
# class.
|
|
35
|
+
#
|
|
36
|
+
# @param plugin_class [::Kitchen::Configurable] A plugin class.
|
|
37
|
+
# @return [void]
|
|
38
|
+
def included(plugin_class)
|
|
39
|
+
::Kitchen::Terraform::FilePathConfigAttributeDefiner.new(
|
|
40
|
+
attribute: self,
|
|
41
|
+
schema: ::Kitchen::Terraform::ConfigSchemas::String,
|
|
42
|
+
).define plugin_class: plugin_class
|
|
43
|
+
end
|
|
42
44
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
# @return [::Symbol] the symbol corresponding to the attribute.
|
|
46
|
+
def to_sym
|
|
47
|
+
:root_module_directory
|
|
48
|
+
end
|
|
49
|
+
end
|
|
47
50
|
|
|
48
|
-
|
|
51
|
+
extend ::Kitchen::Terraform::ConfigAttributeCacher
|
|
49
52
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
# @return [::String] the working directory of the Test Kitchen process.
|
|
54
|
+
def config_root_module_directory_default_value
|
|
55
|
+
"."
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
53
59
|
end
|
|
54
60
|
end
|
|
@@ -19,40 +19,46 @@ require "kitchen/terraform/config_attribute_cacher"
|
|
|
19
19
|
require "kitchen/terraform/config_schemas/array_of_strings"
|
|
20
20
|
require "kitchen/terraform/file_path_config_attribute_definer"
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
#
|
|
31
|
-
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
22
|
+
module Kitchen
|
|
23
|
+
module Terraform
|
|
24
|
+
class ConfigAttribute
|
|
25
|
+
# This attribute comprises paths to
|
|
26
|
+
# {https://www.terraform.io/docs/configuration/variables.html#variable-files Terraform variable files}.
|
|
27
|
+
#
|
|
28
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2760118 Sequence of scalars}
|
|
29
|
+
# Required:: False
|
|
30
|
+
# Example::
|
|
31
|
+
# _
|
|
32
|
+
# variable_files:
|
|
33
|
+
# - /path/to/first/variable/file
|
|
34
|
+
# - /path/to/second/variable/file
|
|
35
|
+
module VariableFiles
|
|
36
|
+
class << self
|
|
37
|
+
# A callback to define the configuration attribute which is invoked when this module is included in a plugin
|
|
38
|
+
# class.
|
|
39
|
+
#
|
|
40
|
+
# @param plugin_class [::Kitchen::Configurable] A plugin class.
|
|
41
|
+
# @return [void]
|
|
42
|
+
def included(plugin_class)
|
|
43
|
+
::Kitchen::Terraform::FilePathConfigAttributeDefiner.new(
|
|
44
|
+
attribute: self,
|
|
45
|
+
schema: ::Kitchen::Terraform::ConfigSchemas::ArrayOfStrings,
|
|
46
|
+
).define plugin_class: plugin_class
|
|
47
|
+
end
|
|
46
48
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
# @return [::Symbol] the symbol corresponding to this attribute.
|
|
50
|
+
def to_sym
|
|
51
|
+
:variable_files
|
|
52
|
+
end
|
|
53
|
+
end
|
|
51
54
|
|
|
52
|
-
|
|
55
|
+
extend ::Kitchen::Terraform::ConfigAttributeCacher
|
|
53
56
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
# @return [::Array] an empty array.
|
|
58
|
+
def config_variable_files_default_value
|
|
59
|
+
[]
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
57
63
|
end
|
|
58
64
|
end
|
|
@@ -17,22 +17,27 @@
|
|
|
17
17
|
require "kitchen/terraform/config_attribute"
|
|
18
18
|
require "kitchen/terraform/config_attribute_type/hash_of_symbols_and_strings"
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
20
|
+
module Kitchen
|
|
21
|
+
module Terraform
|
|
22
|
+
class ConfigAttribute
|
|
23
|
+
# This attribute comprises {https://www.terraform.io/docs/configuration/variables.html Terraform variables}.
|
|
24
|
+
#
|
|
25
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2760142 Mapping of scalars to scalars}
|
|
26
|
+
# Required:: False
|
|
27
|
+
# Example::
|
|
28
|
+
# _
|
|
29
|
+
# variables:
|
|
30
|
+
# image: image-1234
|
|
31
|
+
# zone: zone-5
|
|
32
|
+
module Variables
|
|
33
|
+
::Kitchen::Terraform::ConfigAttributeType::HashOfSymbolsAndStrings.apply(
|
|
34
|
+
attribute: :variables,
|
|
35
|
+
config_attribute: self,
|
|
36
|
+
default_value: lambda do
|
|
37
|
+
{}
|
|
38
|
+
end,
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
38
43
|
end
|
|
@@ -18,18 +18,25 @@ require "kitchen"
|
|
|
18
18
|
require "kitchen/terraform/config_attribute"
|
|
19
19
|
require "kitchen/terraform/config_schemas/boolean"
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
21
|
+
module Kitchen
|
|
22
|
+
module Terraform
|
|
23
|
+
class ConfigAttribute
|
|
24
|
+
# This attribute toggles verification of support for the version of the Terraform client specified by the
|
|
25
|
+
# <code>client</code> attribute.
|
|
26
|
+
#
|
|
27
|
+
# Type:: {http://www.yaml.org/spec/1.2/spec.html#id2803629 Boolean}
|
|
28
|
+
# Required:: False
|
|
29
|
+
# Default:: </code>true</code>
|
|
30
|
+
# Example:: <code>verify_version: false</code>
|
|
31
|
+
module VerifyVersion
|
|
32
|
+
::Kitchen::Terraform::ConfigAttribute.new(
|
|
33
|
+
attribute: :verify_version,
|
|
34
|
+
default_value: lambda do
|
|
35
|
+
true
|
|
36
|
+
end,
|
|
37
|
+
schema: ::Kitchen::Terraform::ConfigSchemas::Boolean,
|
|
38
|
+
).apply config_attribute: self
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
35
42
|
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: 4.8.
|
|
4
|
+
version: 4.8.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aaron Lane
|
|
@@ -61,7 +61,7 @@ cert_chain:
|
|
|
61
61
|
XAjP/LERlXAwM+NCUycJw7BZMn7L2wIdnq6Le1rL6VJS17CZt2heuRtsF+3g0egR
|
|
62
62
|
x97GmUumeM67PGeVodlIV65tdXrdlqKlHcE=
|
|
63
63
|
-----END CERTIFICATE-----
|
|
64
|
-
date: 2019-
|
|
64
|
+
date: 2019-05-11 00:00:00.000000000 Z
|
|
65
65
|
dependencies:
|
|
66
66
|
- !ruby/object:Gem::Dependency
|
|
67
67
|
name: guard-bundler
|
metadata.gz.sig
CHANGED
|
Binary file
|