- What is HCL?
- HashiCorp Configuration Language — the syntax Terraform, Packer, and Vault use for configuration. HCL2 supports expressions and type definitions.
- Does it execute expressions?
- No — the tool is a syntactic converter. `${var.name}` is preserved as a string literal. To resolve expressions, Terraform plan/validate is the right path.
- What about heredoc strings?
- Preserved as multi-line JSON strings. The HCL form `<<EOF ... EOF` becomes a `\n`-separated string in JSON.
- Can I convert back?
- Yes — JSON is a valid Terraform input format. The generated HCL style is clean but may differ in whitespace from hand-written HCL.