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, installer scripts, and source archives for Windows and Linux.
Self-contained 64-bit Windows release zip with executable launcher, installation script, and starter configuration.
Standalone 64-bit Linux distribution tarball (Ubuntu, Debian, RHEL, Alpine) with launcher script and documentation.
Direct standalone Windows binary executable for instant CLI operation without unzipping.
Direct standalone Linux shell executable launcher for single file deployment.
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.
Select any enterprise capability tab below to view the exact input configuration file, the executed CLI command line, and the resulting execution output.
Evaluates pre-flight infrastructure against CIS security benchmarks & cloud best practices.
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".
# 100% Plain Human Text without quotes or programming syntax
Use provider aws region us-east-1 for environment production.
Create 1 aws ec2 instance named web_server with t3.medium size in environment production.
Create 1 aws s3 bucket named app_storage with private access in environment production.
Create 1 aws rds database named payment_db with db.t3.micro size using postgres engine in environment production.
# 1. Implicit Dependency (Auto-inferred from attribute references)
Create 1 aws_subnet resource named app_subnet with vpc main_vpc in environment production.
# 2. Explicit Dependency (User-defined via depending on [...])
Create 1 aws_instance resource named web_server with subnet app_subnet, depending on [app_storage] in environment production.
# Topological Sort Apply Order: main_vpc -> app_subnet -> app_storage -> web_server
# Reverse Topological Destroy Order: web_server -> app_storage -> app_subnet -> main_vpc
# 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 drift --remediate) back to desired state.telliac apply --parallel 4) delivering up to 5x deployment speed.Owner, Environment, CostCenter) across multi-cloud resources with telliac tag audit compliance scoring..tf HCL files into plain text TellIaC statements or export .hiac plain text files into native HCL code (telliac convert).Create 1 aws ec2 instance named web_server...).depending on [...] rules via Kahn Topological Sorting.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.