Guide

How to use Terraform Generator: create projects, configure AWS services (S3, IAM, EC2, VPC), and generate ready-to-run Terraform code.

Quick start

Follow these steps to generate your first Terraform module.

  1. Create or open a project — Go to Projects, create a new project (from scratch, from template, or import). A project groups all Terraform resources for one environment (e.g. dev, prod). Each project has a name, region, and common tags.
  2. Add and configure services — Open the project and use the service cards (S3, IAM, EC2, VPC) to add resources. Each service opens a full-page form with tabs (e.g. General, Networking). Fill in options; the right panel shows a live Terraform preview that updates as you type.
  3. Generate and download — Click Generate Terraform to save your config and produce HCL files. Use Generate & Download to get a ZIP. Unzip into your repo and run terraform init and terraform apply.
Tip: You can have multiple buckets (S3), roles (IAM), instances (EC2), or VPCs per project. Use the "Add …" / list at the top of each config page to switch between them.

Projects

Projects are the top-level container. Each project has a name, region, environment (dev/stg/prod), and common tags applied to all generated resources.

  • Create project — From the project list, choose "New project" then from scratch, from template, or import.
  • Open project — Click a project to see its dashboard with configured services (S3 buckets, IAM roles, EC2 instances, VPCs).
  • Configure services — Click a service card or "Configure" to open the Terraform config page (e.g. S3, EC2) and add or edit resources.
Open Projects

AWS services

You can generate Terraform for the following AWS resources. Each has its own config page with a form aligned to AWS Console options and a live HCL preview.

S3

Buckets: name, versioning, encryption, CORS, lifecycle, block public access. Multiple buckets per project.

Configure S3 →

IAM

Roles: assume-role policy, inline policies. Multiple roles per project.

Configure IAM →

EC2

Instances: instance type, AMI, key pair, networking, storage, metadata options. Multiple instances per project.

Configure EC2 →

VPC

VPC: CIDR, DNS options, tenancy, subnets, optional Internet Gateway. Multiple VPCs per project.

Configure VPC →

For concepts and best practices, see the Resources page (AWS & Terraform knowledge).

Form and live preview

On each Terraform config page (S3, IAM, EC2, VPC), the layout is split into two panels.

  • Left — Form with tabs (e.g. General, Networking, Storage). Fields use dropdowns with search where there are many options (e.g. instance type, AMI). Labels and options follow AWS Console wording where possible.
  • Right — Live Terraform preview: a file tree and code viewer. The preview updates as you change the form so you can see the resulting HCL before generating.
  • • You can resize the panels by dragging the divider between them.

Buttons and actions

At the bottom of each config form you will see:

  • Generate Terraform — Saves your config and generates the Terraform module. The result (file list, copy/download) appears below. Config is stored so you can return later.
  • Generate & Download — Same as above but also downloads a ZIP of the generated files so you can unzip and run Terraform locally.
  • Cancel — Returns to the project page without saving.
  • Delete (when editing an existing resource) — Removes that resource config and its generated module. A confirmation is shown.

Buttons are disabled if required fields are missing or the project is not selected; the button label will indicate why.

Terraform output

Generated files follow a standard layout:

  • terraform/<project>/ — Project root (main.tf, variables.tf, versions.tf, backend.tf)
  • terraform/<project>/s3/<bucket>/ — S3 module (main.tf, variables.tf, outputs.tf)
  • terraform/<project>/ec2/<instance>/ — EC2 module
  • terraform/<project>/vpc/<vpc>/ — VPC module

Use Generate & Download to get a ZIP. Unzip and run terraform init and terraform plan / apply in the project folder. Configure backend (e.g. S3 + DynamoDB) via the generated config files if needed.

Settings and Activity

Configure the app and see recent activity.

  • Update profile — From the user menu (top right): change your name; current password required to confirm.
  • Settings — From the user menu: help language, Terraform preview, full screen, items per page.
  • Activity — The Activity page shows recent activity (e.g. projects, generated modules).

More help

Learn AWS & Terraform concepts, send feedback, or get in touch.