Skip to content

Latest commit

 

History

History
43 lines (26 loc) · 1.41 KB

data_expand.markdown

File metadata and controls

43 lines (26 loc) · 1.41 KB
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.