pkl icon indicating copy to clipboard operation
pkl copied to clipboard

Feature Request: Add `hcl` format

Open garysassano opened this issue 1 year ago • 1 comments

While Pkl currently supports various formats like json and yaml, direct output in hcl would be a powerful addition for Terraform users.

Although generating HCL through intermediary formats like YAML or JSON is technically possible using HCL's yamldecode and jsondecode functions, it introduces unnecessary complexity. Direct HCL output would significantly streamline the workflow for creating .tfvars files used in Terraform configurations.

This feature would eliminate conversion steps, reduce potential errors, and solidify Pkl's position as a valuable tool within the Terraform ecosystem.

See also #59

garysassano avatar May 10 '24 11:05 garysassano

We don't plan to generate higher-level languages from Pkl. You can, of course, define your own renderers (see the TOML and CSV renderers, for example).

The problem is that we can't "inspect" constructs that change under evaluation (for/when/if/etc). We only render static output.

I have used Terraform's tf.json format quite a lot without any problems or notable "added complexity." Using it from HCL might add the extra indirection, but I just do everything in tf.json and forget about HCL altogether.

holzensp avatar Jun 25 '24 12:06 holzensp