Bridging Plain English to Terraform HCL (Zero Lock-in)

Why you never have to worry about proprietary platform lock-in. How TellIaC's export engine translates plain sentences into idiomatic, standard HashiCorp Configuration Language ready for enterprise pipelines.

1. The Guarantee of Zero Vendor Lock-in

One of the greatest fears when adopting a new developer tool or infrastructure abstraction is vendor lock-in. What happens if your company decides to standardize on HashiCorp Terraform Cloud? What if a client mandates pure HCL deliverables?

TellIaC was engineered from day one with a Zero Lock-in Promise. TellIaC is not a proprietary silo; it serves as a high-velocity accelerator for the global Terraform ecosystem.

You can draft a complex multi-cloud architecture in 30 seconds using intuitive plain English sentences, then instantly generate standard, fully compliant Terraform HCL files with a single command:

telliac export --out-dir ./tf_export
🚀
The Terraform Accelerator Workflow Product teams, system architects, and developers who don't know HCL syntax can describe infrastructure requirements in plain English. The DevOps team runs telliac export and immediately gets production-grade HCL files ready for code review and deployment.

2. How the HCL Code Synthesis Engine Works

When you invoke telliac export, the compiler executes an AST transpilation pipeline:

  1. Provider Generation: Translates Use provider "aws" region "us-east-1" into a standard provider "aws" block with appropriate provider version constraints.
  2. Variable Extraction: Emits a dedicated variables.tf file with proper HCL type specifications (string, number, bool, list) and default values.
  3. Resource Synthesis: Maps resource declarations into idiomatic Terraform resource blocks in main.tf, automatically resolving cross-resource reference syntax (e.g. vpc_id = aws_vpc.prod_vpc.id).
  4. Outputs Generation: Creates outputs.tf mapping exported outputs with descriptive labels.
Advertisement
TellIaC is supported by compliant advertising to keep open documentation and tools freely accessible.

3. Side-by-Side Code Walkthrough

Observe the direct translation between a TellIaC plain English configuration and the generated Terraform files:

A. Source TellIaC Configuration (`main.hiac`)

# Declare provider and variables
Use provider "aws" region "us-east-1" for environment "production".
instance_count = 3
vpc_cidr       = "10.100.0.0/16"

# Declare network and compute
Create 1 "aws_vpc" resource named "prod_vpc" with cidr_block vpc_cidr in environment "production".

Create 1 "aws_subnet" resource named "prod_subnet" with cidr_block "10.100.1.0/24", vpc "prod_vpc", depending on "prod_vpc" in environment "production".

Create 1 "aws_instance" resource named "web_server" with instance_type "t3.medium", subnet "prod_subnet", count instance_count in environment "production".

Output "vpc_id" as the id of "prod_vpc" in environment "production".

B. Synthesized Terraform Configuration (`main.tf`)

# Synthesized by TellIaC HCL Export Engine
provider "aws" {
  region = "us-east-1"
  default_tags {
    tags = {
      Environment = "production"
      ManagedBy   = "TellIaC-Export"
    }
  }
}

resource "aws_vpc" "prod_vpc" {
  cidr_block = var.vpc_cidr
  tags = {
    Name = "prod_vpc"
  }
}

resource "aws_subnet" "prod_subnet" {
  vpc_id     = aws_vpc.prod_vpc.id
  cidr_block = "10.100.1.0/24"
  depends_on = [aws_vpc.prod_vpc]
}

resource "aws_instance" "web_server" {
  count         = var.instance_count
  instance_type = "t3.medium"
  subnet_id     = aws_subnet.prod_subnet.id
}

C. Synthesized Variables (`variables.tf`)

variable "instance_count" {
  type    = number
  default = 3
}

variable "vpc_cidr" {
  type    = string
  default = "10.100.0.0/16"
}

D. Synthesized Outputs (`outputs.tf`)

output "vpc_id" {
  description = "The ID of aws_vpc.prod_vpc"
  value       = aws_vpc.prod_vpc.id
}

4. Verifying and Deploying with Standard Terraform

Once exported, the files are completely decoupled from TellIaC. You can run standard HashiCorp CLI commands immediately:

cd ./tf_export
terraform init
terraform validate
terraform plan
terraform apply

5. Frequently Asked Questions

Does the export support all four providers (AWS, Azure, GCP, K8s)?

Yes. The export engine generates standard HashiCorp official provider blocks for hashicorp/aws, hashicorp/azurerm, hashicorp/google, and hashicorp/kubernetes.

Can I run the export in CI/CD?

Absolutely. Many teams use TellIaC in their pre-commit hooks to automatically generate and verify HCL before merging into their company's centralized Terraform repository.


Explore More Resources: Return to the Learning Center Hub or test your configurations in the Live Playground.