Providers
Written by
Updated at August 7, 2025
In Terraform, a provider is a component that enables interaction with various cloud and infrastructure services. Technically, providers are links between Terraform and target platforms such as AWS, Google Cloud, Azure, Docker, and others.
Providers' main functions:
- Supplying Terraform with resources and data it needs to describe and manage the infrastructure.
- Implementing the logic required to create, update, read, and delete resources on relevant platforms.
- Processing authentication and authorization for Terraform to securely communicate with the APIs of cloud services.
- Converting configurations written in HCL
into API calls the target services can understand.
In Terraform, each provider has its own collection of resources representing various infrastructure components (virtual machines, networks, databases, etc.). To use a provider in a project, you should first declare it in the configuration file stating the necessary credentials and connection parameters. Here is an example of connecting a Yandex Cloud Terraform provider:
terraform {
required_providers {
yandex = {
source = "yandex-cloud/yandex"
}
}
required_version = ">= 0.13"
}
provider "yandex" {
zone = "<default_availability_zone>"
}