hcl/ext
Martin Atkins 6631d7cd0a ext/dynblock: Make iterator variables visible to nested block for_each
Previously we were incorrectly passing down the original forEachCtx down
to nested child blocks for recursive expansion. Instead, we must use the
iteration-specific constructed EvalContext, which then allows any nested
dynamic blocks to use the parent's iterator variable in their for_each or
labels expressions, and thus unpack nested data structures into
corresponding nested block structures:

    dynamic "parent" {
      for_each = [["a", "b"], []]
      content {
        dynamic "child" {
          for_each = parent.value
          content {}
        }
      }
    }
2018-12-19 17:20:50 -08:00
..
dynblock ext/dynblock: Make iterator variables visible to nested block for_each 2018-12-19 17:20:50 -08:00
include ext/include: update stale reference to "zcl" 2018-01-27 11:03:05 -08:00
transform go fmt updates 2018-12-11 16:49:03 -08:00
typeexpr ext/typeexpr: correct examples in the README 2018-04-05 19:34:53 -07:00
userfunc ext/userfunc: use bare identifiers for param names 2018-02-04 11:20:42 -08:00
README.md Update doc comments and readmes for zcl -> HCL. 2017-09-11 16:56:31 -07:00

HCL Extensions

This directory contains some packages implementing some extensions to HCL that add features by building on the core API in the main hcl package.

These serve as optional language extensions for use-cases that are limited only to specific callers. Generally these make the language more expressive at the expense of increased dynamic behavior that may be undesirable for applications that need to impose more rigid structure on configuration.