layout | title | published |
---|---|---|
default |
data_expand |
true |
[%CFEngine_function_prototype(data_container)%]
Description: Transforms a data container to expand all variable references.
This function will take a data container and expand variable references once in all keys and values.
[This function can accept many types of data parameters.][Functions#collecting functions]
Any compound (arrays or maps) data structures will be expanded recursively, so for instance data in a map inside another map will be expanded.
This function is chiefly useful if you want to read data from an external source and it can contain variable references.
[%CFEngine_function_attributes(data_container)%]
Example:
Prepare to run the example policy:
[%CFEngine_include_snippet(data_expand.cf, #+begin_src prep, .*end_src)%]
Policy:
[%CFEngine_include_snippet(data_expand.cf, #+begin_src cfengine3, .*end_src)%]
Output:
[%CFEngine_include_snippet(data_expand.cf, #+begin_src\s+example_output\s*, .*end_src)%]
Notes:
History: Was introduced in version 3.7.0 (2015). The [collecting functions][Functions#collecting functions] behavior was added in 3.9.
See also: [readcsv()
][readcsv], [readjson()
][readjson], [readyaml()
][readyaml], [mergedata()
][mergedata], [readenvfile()
][readenvfile], [classfiltercsv()
][classfiltercsv], [about collecting functions][Functions#collecting functions], and data
documentation.