Guides, tutorials, and tips for CloudFormation — the multi-cloud Terraform designer
aws_vpc.main.id.main.tf. Switch the format dropdown to see all other output files.terraform init.- Click — select a resource
- Drag — move a resource
- Scroll — zoom in / out
- Middle-click drag — pan the canvas
- Shift+click — add to selection
- Drag blank area — marquee select
- Double-click — open properties
- Right-click — context menu
- Tap component — add to canvas
- Tap resource — select it
- Drag node — move it
- Two-finger drag — pan canvas
- Pinch — zoom in / out
- Long-press — open context menu
- Double-tap — open properties
subnet_id = aws_subnet.public.id.| File | Contents | When to use |
|---|---|---|
| main.tf | All resource blocks for every component on the canvas | Always — this is your infrastructure |
| variables.tf | Input variable declarations with type, description, and default | Always — defines parameterised inputs |
| outputs.tf | Output value declarations — IDs, ARNs, endpoints, connection strings | Always — exposes key resource attributes |
| provider.tf | Provider blocks with auth configuration for each detected cloud | Always — configures cloud credentials |
| backend.tf | Remote state backend configuration (S3, Azure Blob, GCS) | When you need shared or persistent state |
| terraform.tfvars | Example variable values per environment | As a template for your real .tfvars files |
| README.md | Architecture documentation with full resource list | Always useful for team documentation |
| deploy.sh / .py / .ts / .go | Deployment automation scripts wrapping terraform CLI | As an alternative to running Terraform manually |
main.tf appears immediately.Generated Terraform is a starting point. Review all resource configurations, check variable values for your environment, and test in dev/staging before applying to production.
| Cloud | Provider source | Authentication |
|---|---|---|
| AWS | hashicorp/aws | aws configure or OIDC in CI/CD |
| Azure | hashicorp/azurerm | az login or ARM_* env vars |
| GCP | hashicorp/google | gcloud auth application-default login |
| IBM | IBM-Cloud/ibm | TF_VAR_ibmcloud_api_key env var |
| OCI | oracle/oci | oci setup config → ~/.oci/config |
| VMware | hashicorp/vsphere | VSPHERE_USER / VSPHERE_PASSWORD env vars |
| Kubernetes | hashicorp/kubernetes | KUBE_CONFIG_PATH or host+token |
| Alibaba | aliyun/alicloud | ALICLOUD_ACCESS_KEY / ALICLOUD_SECRET_KEY |
aws_s3, azurerm_virtual, or google_compute to find exact resources by their Terraform identifier.vpc_id, subnet_ids, security_group_ids, etc.) in the generated code instead of placeholder values.terraform apply for every future change. This avoids "works on my machine" issues and builds a proper audit trail.CloudFormation is a self-hosted tool and the application itself is free. Your cloud provider costs (AWS, Azure, GCP, etc.) depend entirely on what infrastructure you choose to deploy using the generated Terraform code. CloudFormation never charges you for cloud resources — those charges come directly from your cloud accounts.
No. CloudFormation only generates Terraform HCL code and related files. You must run terraform init, terraform plan, and terraform apply yourself — either manually or via the generated CI/CD pipeline — using your own cloud credentials. CloudFormation never touches your cloud accounts.
First, review the resource property values in the Properties panel and make sure all required fields are filled in. Run the Security Scan (Scan button) which highlights missing required configurations. Remember that generated code is a starting point — some manual editing is normal, particularly for resource dependencies and interpolation between modules.
CloudFormation auto-saves your canvas to browser localStorage every few seconds. You'll see "All changes saved" in the footer status bar. To create a portable backup you can share, use File → Export to download a .tforge file. You can also use the ZIP button in the output panel to download the complete Terraform project at any time.
This was a CSS layout bug in the output panel where the code area had zero height on desktop. It was fixed in v2.1 by switching from height: calc(100%) to flex: 1 sizing. If you're still seeing the issue: hard-refresh the page with Ctrl+Shift+R, then click the Output tab explicitly after clicking Generate.
The canvas and all code generation work fully offline once the page has loaded. The AI assistant, Security Scan API calls, and Cost Estimation may require a network connection depending on your deployment configuration. The help bot on this page works entirely offline using a built-in knowledge base.
The recommended approach is to export your design as a ZIP, commit the Terraform files to a shared Git repository, and use a shared Terraform backend (add one from the Multi-Cloud palette) so your team shares state. Use the Pipeline button to generate a CI/CD pipeline that runs terraform apply on merge to main.
You can paste a terraform plan JSON output using the diff visualiser in the Output panel to see a visual representation of planned changes. Full reverse-engineering from HCL files into canvas nodes is on the product roadmap.
Generated code targets Terraform ≥ 1.5 with the HCL2 syntax. Provider version minimums: AWS ≥ 5.0, Azure ≥ 3.90, GCP ≥ 5.0, IBM ≥ 1.60, OCI ≥ 5.30, Kubernetes ≥ 2.25. These are declared in the required_providers block inside the generated provider.tf.
Not through the UI yet — this is planned for a future release. For self-hosted deployments, you can add custom components by editing the component extension files (components-*-ext.js). Follow the same defComp(cloud, category, [...]) pattern used in the existing files.
Hi! I'm the CloudFormation Help Bot.
I can answer questions about using the platform, explain features, walk you through tutorials, and help troubleshoot issues. What would you like to know?