# Terraform Provider

> A Terraform provider is a plugin that lets Terraform and OpenTofu manage resources of a platform such as AWS, Azure or Kubernetes through its API.

- Source: https://www.itwonderlab.com/terraform-provider/
- Published: 2026-06-04
- Updated: 2026-06-04
- Author: Javier Ruiz Jiménez (https://www.javierruizjimenez.com/)
- Site: IT Wonder Lab (https://www.itwonderlab.com/)

---

A **Terraform provider** is a plugin, distributed from a registry, that translates resources in [HCL](https://www.itwonderlab.com/hcl/) into API calls of a platform. The `aws` provider manages AWS, and there are providers for Azure, Google Cloud, Kubernetes, Cloudflare, GitHub and thousands more.

```hcl title="providers.tf"
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = "eu-west-1"
}
```

`terraform init` downloads the providers and records their checksums in `.terraform.lock.hcl`. Multiple configurations of the same provider are selected with `alias`. OpenTofu 1.9 and later can also use `for_each` on providers.

See [how the AWS provider authenticates](https://www.itwonderlab.com/aws-terraform-tutorial-terraform-aws-provider/) and [how to find the right resources](https://www.itwonderlab.com/terraform-cheat-sheet/).
