Terraform is a platform-agnostic tool that defines infrastructure in human-readable code. Terraform code describes the end state of the infrastructure after creation or change, not the instructions for making the change. The provider turns the declarative code into imperative instructions.