- Resource
- A configuration block describing an infrastructure object that Terraform creates, updates, or deletes, such as a compute instance or storage bucket.
- Infrastructure as Code (IaC)
- The practice of defining and managing infrastructure using declarative or imperative configuration files instead of manual, ad hoc processes.
- HCL (HashiCorp Configuration Language)
- The domain-specific configuration language used to write Terraform configuration files, designed for readability by both humans and machines.
- Provider
- A plugin that Terraform uses to interact with a specific API or platform (such as a cloud vendor), translating configuration into calls that manage resources.
- Data Source
- A configuration block that reads information from an external system or existing infrastructure for use within a configuration, without Terraform managing its lifecycle.
- State File
- The file where Terraform records the mapping between configuration-defined resources and real infrastructure objects, along with metadata used for planning.
- Remote Backend
- A storage location, external to the local machine, where Terraform state is kept so that it can be shared and locked among multiple users or automation.
- State Locking
- A safeguard that prevents simultaneous write operations to the same state file, avoiding corruption from concurrent Terraform runs.
- Drift
- A divergence between the actual state of infrastructure and what is recorded in Terraform's state or defined in configuration, usually caused by out-of-band changes.
- Module
- A reusable, self-contained set of Terraform configuration files that together define a group of related resources.
- Root Module
- The top-level Terraform configuration in the main working directory from which Terraform commands are run, which may call child modules.
- Input Variable
- A named parameter in Terraform configuration used to pass external values into a module, enabling reuse and customization.
- Output Value
- A value defined in configuration to expose information from a module after it is applied, often used to pass data to other modules or display results to users.
- Local Value
- A named, reusable expression defined within a module using the locals block, used to avoid repeating a value or calculation.
- Provisioner
- A configuration block used to run scripts or commands on a resource during creation or destruction, generally recommended only when no built-in provider functionality can accomplish the task.
- Terraform Registry
- HashiCorp's public catalog of providers and modules that users can reference directly in configuration by name and version.
- HCP Terraform
- HashiCorp's managed platform (formerly Terraform Cloud) offering remote state storage, remote execution, private registries, policy enforcement, and team collaboration features.
- Workspace (CLI)
- In open-source Terraform, a named state instance tied to a single configuration directory, allowing multiple isolated states to be managed from the same code.
- Sentinel
- HashiCorp's policy-as-code framework used within HCP Terraform to enforce organizational, security, or cost policies on infrastructure runs.
- Execution Plan
- The output of terraform plan describing the specific actions Terraform will take to reconcile real infrastructure with configuration.
- Dependency Graph
- An internal representation Terraform builds from resource references to determine the correct order of operations during plan and apply.
- Immutable Infrastructure
- An infrastructure management approach where components are replaced rather than modified in place, often reflected in Terraform's create-before-destroy or force-replacement behavior.
- Terraform Core
- The main Terraform engine responsible for reading configuration, building the dependency graph, and orchestrating providers to plan and apply changes.