Quick Migration
.iac files, a ubx.yaml scaffold, and MIGRATION_NOTES.md for anything needing manual review.
Conversion Mapping
| Terraform | ubx |
|---|---|
resource "aws_s3_bucket" "assets" {} | unit "aws_s3_bucket_v2" "assets" {} |
variable "region" {} | input "region" {} |
output "endpoint" {} | output "endpoint" {} |
locals { name = "x" } | local "name" { value = "x" } |
module "vpc" {} | component "vpc" {} |
${var.region} | ${input.region} |
${aws_s3_bucket.assets.bucket} | ~unit.aws_s3_bucket_v2.assets.bucket |
data "aws_vpc" "main" {} | data "aws_vpc" "main" {} |
Example
Input (main.tf):
main.iac):
Key Differences
| Concept | Terraform | ubx |
|---|---|---|
| Resource reference | aws_s3_bucket.assets.bucket | ~unit.aws_s3_bucket_v2.assets.bucket |
| Output wiring | Manual | Native ~ sigil |
| Modules | module block | component block |
| Variables | variable block | input block |
| Locals | locals {} | local "name" {} |
| Data sources | data block | data block |
