19 — Glossary¶
Fast lookup. Each term links to the page that defines it properly.
| Term | Definition | Page |
|---|---|---|
| ADC (Application Default Credentials) | ambient Google credentials read from ~/.config/gcloud/application_default_credentials.json |
§2 |
| Backend | where state is stored — local disk, GCS, S3, Terraform Cloud | §14 |
| Child module | a directory pulled in with a module block |
§12 |
| Constraint | the acceptable version range for a provider, e.g. ~> 5.0 |
§3 |
| Data source | a block Terraform only reads, never manages | §11 |
| Declarative | describing the desired end state rather than the steps | §1 |
| Drift | divergence between state/code and the real, live resource | §13 |
dynamic block |
generates repeated nested blocks inside one resource | §9 |
| Force replacement / "Force New" | a change requiring destroy + recreate because the field can't be updated in place | §5 |
for expression |
transforms one collection into another; does not create resources | §8 |
for_each |
creates one instance per key of a set/map; keyed addressing | §9 |
| GitOps | running IaC changes through a Git PR + CI/CD pipeline instead of local execution | §16 |
| Guard propagation | every consumer of a conditionally-created resource having to re-check for emptiness | §8 |
| HCL | HashiCorp Configuration Language; the .tf file syntax |
§1 |
| Implicit dependency | a graph edge created simply by referencing another resource's attribute | §6 |
import |
binds an existing real resource into state under a given address | §13 |
lifecycle |
meta-argument overriding default create/update/destroy behaviour | §5 |
Local (locals) |
an internally computed value, never settable from outside | §7 |
Lock file (.terraform.lock.hcl) |
records the exact provider versions/checksums chosen; normally committed to git, though this repo is a deliberate exception | §3 |
| Meta-argument | an argument interpreted by Terraform core rather than the provider (count, for_each, provider, depends_on, lifecycle) |
§9 |
| Module | a directory of .tf files used as a unit: inputs in, outputs out |
§12 |
moved block |
a committed, reviewable declaration that a resource changed address | §5 |
| Output | a value a config exposes to humans, callers, or other configs | §10 |
| Provider | plugin translating HCL into a specific API's calls (GCP, AWS, …) | §2 |
| Provider alias | a second configuration of the same provider, routed to explicitly | §2 |
| Refresh | the live-API query step before diffing, on every plan/apply |
§13 |
| Resource | a block Terraform creates, owns and destroys | §4 |
| Resource address | type.local_name[key] — the identity Terraform uses in state |
§5 |
| Root module | the directory you run terraform in |
§12 |
| Secret masking | CI/CD replacing known secret values with *** in logs; defeated by transforming the value first |
§16 |
sensitive |
display masking for CLI output — not encryption | §14 |
| State file | JSON ledger mapping HCL resource addresses to real cloud resource IDs | §4 |
| State locking | backend-level mutex preventing two simultaneous applies | §14 |
terraform_remote_state |
a data source that reads another config's state outputs from its backend | §15 |
| Variable | an external input to a config, like a function argument | §7 |
| Workspace | a named, isolated state file within the same config | §13 |
Back to the theory index or the concept index.