Tools to Visualize your Terraform plan

Vidyasagar Machupalli
vmacwrites
Published in
2 min readApr 22, 2021

--

Updated: 02-April-2023

For starters, Terraform is open-source software, developed by HashiCorp, that enables predictable and consistent provisioning of IBM Cloud platform, classic infrastructure, and VPC infrastructure resources by using a high-level scripting language. You can use Terraform to automate your IBM Cloud resource provisioning, rapidly build complex, multi-tier cloud environments, and enable Infrastructure as Code (IaC).

Think of a scenario in which you are revisiting your own Terraform scripts and scratching your head to understand what resources it provisions.

To simplify this, there is an in-built Terraform command

terraform graph

The terraform graph command is used to generate a visual representation of either a configuration or execution plan. The output is in the DOT format, which can be used by GraphViz to generate charts.

You can use the command to generate a .png file from the dot output

terraform graph -type=plan | dot -Tpng > graph.png

or

terraform graph -type=plan | dot -Tpng -o graph.png

If there are too many resources, then the graph will look something like this.

As you can see, readability is a challenge and also there are extra nodes in the graph that are not required. So, you need better tools to visualize your Terraform plan.

Blast radius

Blast Radius is a tool for reasoning about Terraform dependency graphs through interactive visualizations. Awesome tool but couldn’t make it work with the newer versions of Terraform. As per the Dockerfile in the respective repository and the comments in the issues, the last Terraform version that worked fine was 0.12.x.

Terraform Visual

Terraform Visual is a simple but powerful tool to help you understand your Terraform plan easily.

Click here to see the large image

Needs additional steps like generating plan.dot file and then plan.json file. but, a pretty good tool for any version of Terraform.

Inframap

Inframap reads your tfstate or HCL to generate a graph specific for each provider, showing only the resources that are most important/relevant.

Additional tools that support older versions of Terraform

Rover

Rover is a Terraform visualizer. Check the GitHub repository for installation, usage, and other instructions.

If you know any other visualization tools, please drop in a comment below and would love to give them a try 😄

What’s next?

Originally published at https://dev.to on April 22, 2021.

--

--

Vidyasagar Machupalli
vmacwrites

Architect, Developer, IBMer, Speaker, Blogger, Teetotaller, Geek & many more…