Skip to main content
HashiTalks 2025 Learn about unique use cases, homelab setups, and best practices at scale at our 24-hour virtual knowledge sharing event. Register
Demo

Intermediate HCL: Configuration Languages in HCL2

Learn how it's possible to create really powerful configuration languages using HCL.

At HashiCorp we have started using HCL to configure our continuous integration system for Terraform Cloud. Learning HCL and how to write a configuration language for deploys taught us a lot. But not many people have access to the HCL developers at HashiCorp.

There are a lot of examples of simple HCL usage and how to get started parsing simple data structures represented in it. There are some amazing examples of incredibly complicated HCL usage (the source code to Terraform is right there for you!). But for those of us sitting between "Hello World" and HCL expert, there's a lot of ground to cover.

What You'll Learn

Using examples and demos, this talk will walk through leveling up HCL knowledge from level 2 to level 7. You'll see examples of using functions, variables, and polymorphism to work through a "configuration DSL" built using HCL. The example will be fun and simple, but the techniques should be generalizable to a lot of problems.

You'll also see code samples and and a demo of a simple application that uses HCL for configuration.

Slides

More resources like this one

3/15/2023Presentation

Advanced Terraform techniques

2/3/2023Case Study

Automating Multi-Cloud, Multi-Region Vault for Teams and Landing Zones

2/1/2023Case Study

Should My Team Really Need to Know Terraform?

1/20/2023Case Study

Packaging security in Terraform modules