Skip to content

Latest commit

 

History

History
35 lines (29 loc) · 780 Bytes

terraform-locals.md

File metadata and controls

35 lines (29 loc) · 780 Bytes

Terraform Locals

A Terraform local assigns a name to an expression to allow repeated usage. They can be thought of similar to a local variable, and as such, can often be replaced by one.

In TypeScript, a Terraform local is expressed by TerraformLocal.

const commonTags = new TerraformLocal(this, "common_tags", {
  Service: "service_name",
  Owner: "owner",
});

new Instance(this, "example", {
  tags: commonTags.expression,
});

The TerraformLocal synthesizes to the following:

"locals": {
    "common_tags": {
      "Service": "service_name",
      "Owner": "owner"
    }
}
...
"resource": {
  "aws_instance": {
    "example": {
      "tags": "${local.common_tags}"
    }
  }
}