A new hire is learning Terraform and asks how it decides what actions to take. A colleague explains that with Terraform you write configuration that describes the end result you want, and Terraform figures out the create, update, or delete steps needed to reach it. Which term best describes this approach to Infrastructure as Code?
Pick an answer to reveal the explanation.
Why this is correct
Terraform is a declarative Infrastructure as Code tool. You declare the desired end state of your infrastructure in HCL, and Terraform compares that against the recorded state to compute the exact set of actions required to converge reality with your declaration. Imperative and procedural describe tools where you script each step and its ordering manually, and "interpreted" describes how a language is executed, not an IaC paradigm.