hcl is a package for decoding HCL into usable Go structures.
hcl input can come in either pure HCL format or JSON format. It can be parsed into an AST, and then decoded into a structure, or it can be decoded directly from a string into a structure.
If you choose to parse HCL into a raw AST, the benefit is that you can write custom visitor implementations to implement custom semantic checks. By default, HCL does not perform any semantic checks.
Decode reads the given input and decodes it into the structure given by `out`.
DecodeObject is a lower-level version of Decode. It decodes a raw Object into the given output.
Parse parses the given input and returns the root object.
The input format can be either HCL or JSON.