A Terraform provider is a plugin that extends Terraform for a particular infrastructure platform. Providers let Terraform create and configure resources across cloud vendors, including Azure, AWS, and Google Cloud. section 7.7.1 section 7.7
Configure and use a provider through a small operational workflow:
- Declare the provider in providers.tf, including its source and preferably a constrained version. section 7.8.3
- Run terraform init before executing Terraform code; initialization downloads providers required by the project. section 7.8.4
- Reuse the cached plugins stored under .terraform, and initialize again when a new provider is added. section 7.8.5 section 7.8.4
Pinning the Azure provider
A minimal configuration requires hashicorp/azurerm, constrains it to the 3.71 release line, and enables the provider with features {}. Running terraform init then installs the selected provider and prepares the project for execution. section 7.8.3 section 7.8.4
Listing 7.2 Configuring Terraform provider plugins
terraform {
required_providers {
azurerm = { #1
source = "hashicorp/azurerm"
version = "~> 3.71.0" #2
}
}
required_version = ">= 1.5.6" #3
}
provider "azurerm" {
features {} #4
}
Inspect the complete providers.tf configuration, including the provider source, version constraint, Terraform version requirement, and Azure features block. section 7.8.3



