TellIaC is an all-in-one IaC engine where infrastructure is described in plain English — no YAML, no DSL, no special syntax. Provision across AWS, Azure, GCP, and Kubernetes, export to native Terraform HCL, estimate cloud spend, scan security vulnerabilities, and generate architecture graphs.
Or install via pip: pip install "git+https://github.com/HARSHALJETHWA19/TellIaC.git#subdirectory=hiac&egg=hiac[all]"
All pre-compiled standalone executables, GitHub release assets, installer scripts, and source archives for Windows and Linux.
Self-contained executable for 64-bit Windows. Zero Python or dependency installation required.
Standalone executable for 64-bit Linux / Unix distributions (Ubuntu, Debian, RHEL, CentOS, Alpine).
Complete v2.5.0 source code archive compressed in standard ZIP format.
Complete v2.5.0 source code archive compressed in Tarball format for Unix environments.
Everything Terraform does — plus Plain English, HCL Export, Cost Estimation & Security Rules.
Write infrastructure as sentences. Deterministic grammar parser translates natural English into concrete cloud resources offline.
One file. Provision AWS, Azure, GCP, and Kubernetes resources simultaneously in a single telliac apply command.
Encapsulate infrastructure into blueprints (Include module "vpc_stack" named "prod_net") with zero-collision namespacing.
Export `.hiac` configs into standard Terraform HCL files (main.tf, variables.tf, outputs.tf) for Terraform Cloud & OpenTofu.
Calculate resource-level and total monthly cloud spend (telliac cost) before applying changes.
CLI state management (telliac backend status/init/migrate) supporting local, S3, Azure Blob, and GCS with distributed locking.
Export Mermaid.js diagrams, terminal ASCII trees, or standalone interactive HTML visualizers with telliac graph.
Scan for security vulnerabilities (telliac lint) and auto-align assignment formatting (telliac fmt).
Generate full valid `.hiac` configuration files directly from plain English prompt descriptions (telliac generate).
Browse supported infrastructure resources filtered by Cloud Provider.
Edit plain English code below and click any TellIaC tool command to see real-time simulated CLI execution!
Describe your desired cloud setup in plain English. Our engine generates complete working .hiac code files and internally tests them against syntax rules, dependency DAGs, security policies, and loop index calculations before presenting them to you.
Compare TellIaC (HiAC) with HashiCorp Terraform, Pulumi, AWS CloudFormation, Azure Bicep, ARM Templates, and Crossplane.
| Feature / Dimension | ⚡ TellIaC (HiAC) | HashiCorp Terraform | Pulumi | AWS CloudFormation | Azure Bicep | ARM Templates | Crossplane |
|---|---|---|---|---|---|---|---|
| Primary Syntax | Plain English Sentences | HCL Language | TS / Python / Go | JSON / YAML | Bicep DSL | Nested JSON | K8s YAML CRDs |
| Learning Curve | Zero (Human Read) | Medium | High (Code Skills) | High (Verbose) | Medium | Very High | High (K8s Skill) |
| Multi-Cloud Support | AWS + Azure + GCP + K8s | Native (1000+) | Native (All Clouds) | AWS Only | Azure Only | Azure Only | K8s Control Plane |
| Built-in Cost Estimator | Yes (telliac cost) |
Requires Infracost | Requires Infracost | AWS Cost Explorer | Azure Cost API | No | No |
| Built-in Security Linter | Yes (telliac lint) |
Requires Checkov / Tfsec | Pulumi Crossguard | CFN-Nag / Guard | Requires PSRule | Requires TTK Tool | Kyverno / OPA |
| Graph Visualizer with Icons | Yes (Service Icons) | Requires Graphviz | Pulumi Console | CFN Designer | VSCode Visualizer | Resource Visualizer | K8s Dashboard |
| Count & Loop Expressions | count, count.index, for_each | count, for_each | Native for loops | Fn::ForEach | for loops | copy loop index | K8s Loop Controller |
| Native HCL Exporter | Yes (telliac export) |
Native Target | No | No | No | No | No |
| AI Code Generator + Testing | Yes (Built-in Testing Lab) | External Copilot | Pulumi AI | AWS Q | Copilot | No | No |
From zero to multi-cloud infrastructure in 4 commands.
Download the standalone binary or install via pip. telliac is ready instantly.
telliac --help
Run telliac init inside any directory to set up state tracking, starter template, and git configs.
mkdir my-infra && cd my-infra
telliac init
Write your multi-cloud architecture in main.hiac.
Use provider "aws" region "us-east-1" for environment "production".
Include module "vpc_stack" named "prod_net" with vpc_cidr "10.100.0.0/16" in environment "production".
Create 1 "aws_s3_bucket" resource named "app_bucket" with bucket "my-unique-storage" in environment "production".
Create 1 "aws_dynamodb_table" resource named "app_db" with table_name "app_items", hash_key "id" in environment "production".
Output "bucket_id" as the id of "app_bucket" in environment "production".
telliac cost # Calculate monthly spend estimate ($36.20/mo)
telliac lint # Scan for open ports & plaintext secrets
telliac export --out-dir ./tf_export # Convert to Terraform HCL
telliac apply # Build infrastructure (with state locking)
Complete official documentation for TellIaC syntax, multi-cloud providers, resource attributes, and CLI tooling.
Use provider "aws" region "us-east-1" for environment "production".
Use provider "azure" subscription "sub-123" location "eastus" for environment "production".
Use provider "gcp" project "my-cloud" region "us-central1" for environment "production".
Use provider "k8s" context "docker-desktop" namespace "default" for environment "production".
# Canonical Form 1: Direct Assignment
instance_count = 3
vpc_cidr = "10.100.0.0/16"
my_buckets = ["app-logs-2026", "app-assets-2026", "app-backups-2026"]
# Verbose Form 2: Sentence Declaration
Define variable "instance_count" as number with default 3.
Create 1 "aws_s3_bucket" resource named "my_bucket"
with bucket "prod-app-assets-2026"
in environment "production".
Create 3 "aws_instance" resources named "web_server"
with type "t3.micro", subnet "public_subnet", depending on "public_subnet"
in environment "production".
# Array Lookup with count.index
Create 3 "aws_subnet" resources named "public_subnet" with
cidr_block "${var.subnet_cidrs[count.index]}",
name "subnet-${count.index + 1}",
vpc "main_vpc"
in environment "production".
# Natural Free-Form Loop Statement
Create 1 "aws_s3_bucket" resources named "storage"
and loop in ${var.my_buckets} with bucket each value
in environment "production".
# Vault / AWS Secrets Manager / Azure Key Vault integration
Create 1 "aws_db_instance" resource named "prod_db" with
master_username "admin",
master_password "${secret.db_password}"
in environment "production".
If environment is "production" create 2 "aws_nat_gateway" resources named "nat_gw" with vpc "main_vpc".
If environment is "staging" create 1 "aws_nat_gateway" resource named "nat_gw" with vpc "main_vpc".
Provisions AWS Cloud Resources across EC2, VPC, S3, DynamoDB, SQS, SNS, IAM, and Secrets Manager.
Use provider "aws" region "us-east-1" for environment "production".
Virtual Private Cloud network container.
Create 1 "aws_vpc" resource named "main_vpc"
with cidr_block "10.0.0.0/16"
in environment "production".
| Attribute | Status | Type |
|---|---|---|
cidr_block | Required | string |
enable_dns_hostnames | Optional | bool |
Subnetwork inside an AWS VPC.
Create 1 "aws_subnet" resource named "pub_sub"
with cidr_block "10.0.1.0/24", vpc "main_vpc"
in environment "production".
| Attribute | Status | Type |
|---|---|---|
cidr_block | Required | string |
vpc | Required | reference |
EC2 Compute Engine Virtual Machine Instance.
Create 3 "aws_instance" resources named "web"
with type "t3.micro", subnet "pub_sub"
in environment "production".
| Attribute | Status | Type |
|---|---|---|
type | Required | string |
ami | Optional | string |
subnet | Required | reference |
S3 Object Storage Bucket.
Create 1 "aws_s3_bucket" resource named "bkt"
with bucket "company-data-2026"
in environment "production".
| Attribute | Status | Type |
|---|---|---|
bucket | Required | string |
acl | Optional | string |
NoSQL DynamoDB Key-Value Table.
Create 1 "aws_dynamodb_table" resource named "db"
with table_name "app_users", hash_key "id"
in environment "production".
| Attribute | Status | Type |
|---|---|---|
table_name | Required | string |
hash_key | Required | string |
EC2 Security Group Firewall Rules.
Create 1 "aws_security_group" resource named "sg"
with vpc "main_vpc", ingress_ports [80, 443]
in environment "production".
| Attribute | Status | Type |
|---|---|---|
vpc | Required | reference |
ingress_ports | Required | list |
Provisions Azure Cloud Resources across Resource Groups, Storage Accounts, VNets, Subnets, VMs, and Key Vaults.
Use provider "azure" subscription "sub-123" location "eastus" for environment "production".
Resource Group logical container.
Create 1 "azure_resource_group" resource named "rg"
with location "eastus"
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
location | Required | string | Azure Region (e.g. eastus, westeurope) |
name | Optional | string | Resource Group Name override |
Blob and Object Storage Account.
Create 1 "azure_storage_account" resource named "st"
with resource_group "rg", sku "Standard_LRS"
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
resource_group | Required | reference | Azure Resource Group container |
sku | Optional | string | Performance SKU (Standard_LRS, Standard_GRS) |
Virtual Network (VNet).
Create 1 "azure_virtual_network" resource named "vnet"
with resource_group "rg", address_space "10.1.0.0/16"
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
resource_group | Required | reference | Target Resource Group |
address_space | Required | string | VNet IP Address CIDR block |
Azure Key Vault Secrets Store.
Create 1 "azure_key_vault" resource named "kv"
with resource_group "rg", sku_name "standard", secret_key "${secret.jwt_secret}"
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
resource_group | Required | reference | Target Resource Group |
secret_key | Optional | vault_secret | Encrypted Key Vault secret payload |
Provisions GCP Cloud Resources across Compute Engine Instances, VPC Networks, Subnetworks, Cloud Storage Buckets, and Secret Manager.
Use provider "gcp" project "cloud-proj-2026" region "us-central1" for environment "production".
Google Cloud Storage (GCS) Bucket.
Create 1 "gcp_storage_bucket" resource named "bkt"
with bucket "gcp-prod-data", location "US"
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
bucket | Required | string | Global unique bucket name |
location | Optional | string | GCP Region / Multi-region (US, EU, ASIA) |
GCP VPC Network.
Create 1 "gcp_compute_network" resource named "vpc"
with auto_create_subnetworks false
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
auto_create_subnetworks | Optional | bool | Auto-create regional subnets (default false) |
Compute Engine VM Instance.
Create 1 "gcp_compute_instance" resource named "vm"
with machine_type "e2-micro", zone "us-central1-a"
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
machine_type | Required | string | Compute Instance Machine Type (e2-micro) |
zone | Required | string | GCP Availability Zone |
Provisions Kubernetes Resources across Namespaces, Deployments, Services, ConfigMaps, Secrets, Ingress, and PVC Storage.
Use provider "k8s" context "docker-desktop" namespace "default" for environment "production".
Kubernetes Workload Deployment.
Create 1 "k8s_deployment" resource named "web"
with image "nginx:latest", replicas 3
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
image | Required | string | Container Image Registry URI |
replicas | Optional | number | Pod Replica Instance Count (default 1) |
Kubernetes Service LoadBalancer/ClusterIP.
Create 1 "k8s_service" resource named "web_svc"
with type "LoadBalancer", port 80, target_port 8080
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
type | Required | string | Service Type (LoadBalancer, ClusterIP, NodePort) |
port | Required | number | Exposed External Network Service Port |
Kubernetes Encrypted Secret.
Create 1 "k8s_secret" resource named "db_sec"
with secret_type "Opaque", token "${secret.db_password}"
in environment "production".
| Attribute | Status | Type | Description |
|---|---|---|---|
secret_type | Optional | string | Secret Category (Opaque, kubernetes.io/tls) |
token | Required | vault_secret | Encrypted Secret Token payload |
Encapsulate multi-resource infrastructure blueprints and instantiate them in plain English with argument overrides and automatic resource namespacing.
# Instantiate module "vpc_stack" for Production
Include module "vpc_stack" named "prod_net"
with vpc_cidr "10.100.0.0/16", subnet_cidr "10.100.1.0/24"
in environment "production".
# Instantiate the same blueprint for Staging (zero naming collisions)
Include module "vpc_stack" named "staging_net"
with vpc_cidr "10.200.0.0/16", subnet_cidr "10.200.1.0/24"
in environment "production".
Export any TellIaC `.hiac` file directly into Terraform HCL, Pulumi TypeScript, AWS CloudFormation YAML, or Azure Bicep DSL!
resource "aws_s3_bucket" "bkt" {
bucket = "prod-app-assets-2026"
}
export const bkt = new aws.s3.Bucket("bkt", {
bucket: "prod-app-assets-2026"
});
Resources:
Bkt:
Type: AWS::S3::Bucket
Properties:
BucketName: prod-app-assets-2026
resource st 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: 'prodstore'
}
TellIaC Estimated Monthly Cloud Cost [production]
=====================================================
Resource Monthly (USD)
-----------------------------------------------------
aws_instance.prod_web_server $7.50
aws_s3_bucket.prod_app_bucket $1.50
aws_dynamodb_table.prod_app_table $2.50
azure_storage_account.prod_az_storage $2.00
azure_virtual_machine.prod_az_vm $7.50
gcp_storage_bucket.prod_gcp_bucket $1.20
k8s_pvc.prod_k8s_pvc $1.50
-----------------------------------------------------
Total Estimated Cloud Spend : $36.20 / month
TellIaC Security Scan Report
=====================================================
[MEDIUM] SEC-03: aws_secretsmanager_secret.prod_app_secret
Potential hardcoded secret in attribute 'secret_name'.
[LOW] SEC-05: aws_iam_role.prod_iam_role
Resource has no description specified.
-----------------------------------------------------
Summary: 0 High, 1 Medium, 1 Low (2 total issue(s))
telliac init--state-dir <dir>Initialize state store (`state/`), starter `main.hiac`, and `.gitignore`telliac validatecheck, testParse and validate `.hiac` files and resource dependency treestelliac rephrasefix (--write)Normalize informal human language into standard `.hiac` grammartelliac planpreview, showShow infrastructure create/update/destroy diff without applyingtelliac applydeploy (--auto-approve)Build or update cloud infrastructure to match desired statetelliac export--target <target>Convert `.hiac` configuration into Terraform HCL, Pulumi, CloudFormation, or Biceptelliac import<type> <name> <id>Import existing live cloud resource into clean `.hiac` statementtelliac drift--remediateDetect configuration drift and auto-remediate live state back to desired configtelliac chat—Start interactive AI REPL terminal shell to build infrastructure livetelliac cost--env <name>Calculate estimated monthly cloud spend (USD) breakdowntelliac backendstatus, init, migrateRemote state backend management (S3, Azure Blob, GCS) and state lockingtelliac graph--format mermaid/ascii/htmlGenerate visual dependency architecture graphs with service iconstelliac lint—Scan configuration for security vulnerabilities and misconfigurationstelliac fmt--writeAuto-format `.hiac` variable assignment alignment and commentstelliac generate--out <file>Synthesize `.hiac` configuration from plain English prompt descriptiontelliac statelist, show, unlockInspect state entries or force release environment state locktelliac destroyremove, deleteTeardown all tracked resources in target environmentExplore the latest revolutionary features added to TellIaC for multi-cloud human infrastructure management.
telliac chat) and web shell where engineers can build infrastructure live using plain English conversational commands.telliac drift --remediate) back to desired state.telliac import) across AWS, Azure, GCP, and K8s into clean plain English .hiac code.${secret.db_password}) resolved dynamically at apply time from HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, or GCP.If environment is "production" create 2 aws_nat_gateway else create 1...Our infrastructure specialists are ready to help. Submit a ticket and we'll respond within one business day.
All tickets are triaged, assigned a unique ID, and tracked to resolution.
Whether you're exploring TellIaC for your team, need a custom enterprise multi-cloud blueprint, or want to report an issue — we're here.