A HCL2 parser and evaluator based on python-hcl2 that produces an Abstract Syntax Tree.
Note: This project is in an early stage. It does not currently cover all HCL2 syntax features and does not have good test coverage.
from hcl2_ast import parse_string
module = parse_string("""
hello {
name = "World"
}
""")
print(module.pformat())
Outputs:
Module(body=[
Block(
name='hello',
args=[],
body=[
Attribute(key='name', value=Literal(value='World')),
]
),
])
Also check out the hcl2-eval package to evaluate HCL2 configuration ASTs.
hcl2-ast requires Python 3.6 or higher.
- No understanding of operator precedence in expressions (grouping with parentheses works as expected)