Skip to main content
ubx convert converts existing Terraform HCL or Pulumi TypeScript/Python/Go files to ubx .iac format.

Usage

ubx convert --from <source> [path] [flags]

Supported Sources

SourceFlag
Terraform HCL--from terraform
Pulumi TypeScript--from pulumi
Pulumi Python (AI only)--from pulumi
Pulumi Go (AI only)--from pulumi

Examples

# Convert Terraform
ubx convert --from terraform ./terraform/
ubx convert --from terraform main.tf
ubx convert --from terraform ./tf/ --out ./iac/

# Convert Pulumi TypeScript (mechanical)
ubx convert --from pulumi index.ts

# Convert Pulumi Python (requires AI)
ubx convert --from pulumi __main__.py

Flags

FlagDescription
--from stringSource format: terraform or pulumi
--out stringOutput directory (default: same directory)

Output

Generates:
  • .iac files for each source file
  • ubx.yaml project scaffold (if not present)
  • MIGRATION_NOTES.md for items needing manual review

Terraform Conversion

See Migrating from Terraform for the full mapping table and examples.

Pulumi TypeScript Conversion

Mechanical conversion for TypeScript. AI-assisted for Python and Go (requires UBX_AI_API_KEY):
export UBX_AI_API_KEY=sk-ant-...
ubx convert --from pulumi __main__.py