Skip to content

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.