← All Tools
Terraform Builder Generator🔒 100% local
Generate HCL2 configurations. Privacy-first, no server uploads, no tracking.
Related Tools
Generates Terraform HCL2 scaffolding from a one-line resource description such as aws_instance, web, t2.micro. It returns a versions.tf block, a main.tf resource block with defaults filled in, a workflow cheat-sheet and warnings about common traps. Parsing happens in the browser.
How to use it
- Type the resource as type, name, size (the size is optional), or type help to list the ten built-in resource types.
- Press Process to render versions.tf and main.tf.
- Copy the blocks into your project and run terraform init, fmt, validate and plan before any apply.
Worked example
aws_security_group, apibecomesTerraform for aws_security_group.api
versions.tf:
terraform {
required_version = ">= 1.5"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
main.tf:
resource "aws_security_group" "api" {
name = "api-sg"
description = "managed by terraform"
}
Workflow:
terraform init # download providers
terraform fmt # canonical formatting
terraform validate # syntax + types (offline)
terraform plan # show the diff BEFORE touching anything
terraform apply
State is the real risk:
never commit terraform.tfstate — it contains secrets in plain text.
for teams use a remote backend (S3 + DynamoDB lock, or Terraform Cloud).
add .terraform/ and *.tfstate* to .gitignore now.
About this resource: Never open 0.0.0.0/0 on SSH or databases.
Cost check before applying: run terraform plan, then price the instance type — a plan with a bigger size than you meant is the classic way to get a surprise bill.Verbatim output. Every blank line is missing because the code that joins the sections also filters out empty entries.
When to use it
- Starting a first Terraform file for a resource type and wanting the required arguments present rather than guessing.
- Writing a demo or lab config where valid syntax matters more than the exact instance size.
- Checking which provider source string and version constraint belong in required_providers.
What it does not do
- The catalogue holds only ten resource types. Any other type gets a generic resource block with just a tags argument and a warning that the required fields are up to you.
- Blank lines are dropped from the output: a filter meant to remove empty array entries also removes every intentional separator, so versions.tf:, main.tf: and Workflow: sit directly above their first line.
- Instance-size checks fire only for aws_instance and only for the t2, t3 and t4g families, so t3a.largea is not questioned.
- It is a scaffold, not a validator. Defaults such as the AMI id, the nodejs20.x runtime and the US bucket location are placeholders, and only terraform validate confirms the file is usable.