Terraform Lab: Using `locals` (Real Project Style)
π Project Structure terraform-locals-lab/ βββ main.tf βββ variables.tf βββ outputs.tf βββ providers.tf βββ terraform.tfvars 1οΈβ£ providers.tf provider "aws" { region = var.aws_region } 2οΈβ£ variable...

Source: DEV Community
π Project Structure terraform-locals-lab/ βββ main.tf βββ variables.tf βββ outputs.tf βββ providers.tf βββ terraform.tfvars 1οΈβ£ providers.tf provider "aws" { region = var.aws_region } 2οΈβ£ variables.tf π Only inputs (NO hardcoding) variable "aws_region" { type = string } variable "project_name" { type = string } variable "environment" { type = string } variable "bucket_suffix" { type = string } 3οΈβ£ locals (MAIN PART) π This is where magic happens locals { name_prefix = "${var.project_name}-${var.environment}" common_tags = { Project = var.project_name Environment = var.environment ManagedBy = "Terraform" } bucket_name = "${local.name_prefix}-${var.bucket_suffix}" } 4οΈβ£ main.tf resource "aws_s3_bucket" "this" { bucket = local.bucket_name tags = local.common_tags } 5οΈβ£ terraform.tfvars aws_region = "us-east-2" project_name = "jumptotech" environment = "dev" bucket_suffix = "lab" 6οΈβ£ outputs.tf output "bucket_name" { value = local.bucket_name } π How to Run terraform init terraform pla