Using Terragrunt’s generate block to make your Terraform DRY

As you write more Terraform modules for your Infrastructure as Code (IaC), you will notice some repetitions across all your modules. An example of this is the providerblock. Terragrunt’s generate block can be used to eliminate this repetition and keep your Terraform DRY.

Example Time

Let’s say you have the following directory structure for your IaC

terragrunt/
- terragrunt.hcl
- vpc/
- terragrunt.hcl
- security_groups/
- terragrunt.hcl
modules/
- vpc/
- main.tf

--

--

--

Be Happy, Be Awesome! We deliver high-quality digital services to citizens and businesses in Singapore 😊

Recommended from Medium

End to End Basic AWS Architecture -Solution Architect SAA — C01

Introducing Jetbrain IDE plugins for Apache Openwhisk

Google Cloud Database

I like data and I like writing so here is mine.

UniDexBot updates 2nd quarter 2021

An introduction to Redis’ PubSub system

Our journey to route-less HTTP services

route_66_3

Compare environment settings on SQL Server and Azure SQL that may impact performance

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Salihan Zaol-kefli

Salihan Zaol-kefli

Software Engineer, Amateur Writer, Casual Gamer

More from Medium

bits | Build versions for AWS Image Builder Pipelines

Is AWS Control Tower suitable for Terraform users?

Terraform AWS Provider — Default Tags

The Power of Terraform