.tfvars

Terraform .tfvars Reference

Comprehensive documentation for defining and managing Terraform configuration variables through .tfvars files

Variable Declaration

variables.tf

variable "region" {
  description = "AWS region for deployment"
  type        = string
  default     = "us-east-1"
}

variable "ami_id" {
  description = "Pre-baked EC2 AMI ID"
  type        = string
}
                

Define inputs in variables.tf to establish schema and documentation

terraform.tfvars

region   = "us-west-2"
ami_id    = "ami-0abcde12345678901"

Default variable values in auto-detected terraform.tfvars

Configuration Strategies

Environment-Specific Files

# dev.tfvars
environment   = "development"
instance_type = "t3.nano"

# prod.tfvars
instance_type = "c5.xlarge"

Use separate .tfvars files for different environments. Terraform will automatically load dev.tfvars when running terraform apply -var-file=prod.tfvars

Sensitive Values

# secrets.tfvars
access_key = "your-credentials-here"

Never commit files with sensitive data. Use the TF_VAR_* environment variable syntax for production credentials

⚠️ Never include secrets in version control

Usage Examples

Auto-load

terraform apply

Automatically loads terraform.tfvars, *.auto.tfvars

Explicit Files

terraform apply -var-file=prod.tfvars

Specify exactly which file to load

Direct Input

terraform apply -var "ami_id=ami-12345678"

Pass individual values at execution

```