Document work-arounds necessary to parameterize list types.
Related to https://github.com/hashicorp/terraform/issues/57.
This commit is contained in:
parent
1ef9731a2f
commit
a074b33bcf
|
@ -112,5 +112,8 @@ The supported built-in functions are:
|
|||
|
||||
* `split(delim, string)` - Splits the string previously created by `join`
|
||||
back into a list. This is useful for pushing lists through module
|
||||
outputs since they currently only support string values.
|
||||
outputs since they currently only support string values. Depending on the
|
||||
use, the string this is being performed within may need to be wrapped
|
||||
in brackets to indicate that the output is actually a list, e.g.
|
||||
`a_resource_param = ["${split(",", var.CSV_STRING)}"]`.
|
||||
Example: `split(",", module.amod.server_ids)`
|
||||
|
|
|
@ -59,6 +59,22 @@ for a module by inspecting the source of it very easily.
|
|||
Additionally, because these map directly to variables, they're always simple
|
||||
key/value pairs. Modules can't have complex variable inputs.
|
||||
|
||||
## Dealing with parameters of the list type
|
||||
|
||||
Variables are currently unable to hold the list type. Sometimes, though, it's
|
||||
desirable to parameterize a module's resource with an attribute that is of the
|
||||
list type, for example `aws_instance.security_groups`.
|
||||
|
||||
Until a future release broadens the functionality of variables to include list
|
||||
types, the way to work around this limitation is to use the [`split` and
|
||||
`join`](/docs/configuration/interpolation.html) string interpolation functions
|
||||
to pass a delimited string as a module parameter, and then "unpack" that
|
||||
parameter using `split` within the module definition.
|
||||
|
||||
Depending on the resource parameter in question, you may have to
|
||||
indicate that the unpacked string is actually a list but using the
|
||||
`resource_param = ["${split(",", var.CSV_STRING)}"]` notation.
|
||||
|
||||
## Outputs
|
||||
|
||||
Modules can also specify their own [outputs](/docs/configuration/outputs.html).
|
||||
|
|
Loading…
Reference in New Issue