Terraform is a toolset to configure any cloud service through an infrastructure-as-code approach
Configuration is defined declaratively in text files using a Terraform-specific syntax and referencing provider modules that are aligned to specific cloud providers.
The application parses the configuration plan and seeks to conform the deployed infrastructure to match the plan: creating. modifying and/or deleting assets as required.
After application of a plan Terraform stores a representation of the remote cloud service state. On subsequent runs the (possibly modified) plan is compared with the stored state to compute corrective actions.
If uncontrolled changes are made to the cloud service outside the Terraform cycle future applications of the plan may fail, requiring further intervention to synchronise stored state and actual resources.