Terraform is a declarative tool that employs configuration files in a custom language for infrastructure management that is both human and machine-readable. Being declarative means you write code in Terraform to describe what your infrastructure should look like at the end state, or provide a blueprint of what Terraform should execute for you. Unlike an imperative tool, which would run each line of script or code to reach an outcome, a declarative tool is only concerned with the end state.
See Linode’s Beginner’s Guide to Terraform for help getting started.