In this article, we recap Terraform providers and illustrate how to use them to provision resources across various platforms. Terraform follows a plugin-based architecture that supports hundreds of platforms, including AWS, GCP, Azure, and more. The first command you’ll run with a valid configuration is the Terraform init command. This command installs the necessary plugins for the providers specified in your configuration.Documentation Index
Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
Use this file to discover all available pages before exploring further.
Running
terraform init is safe and can be executed multiple times without affecting your deployed infrastructure.- Official Providers: Owned and maintained by HashiCorp. These include major cloud providers like AWS, GCP, and Azure. Official providers feature a distinct badge in the Terraform Registry.
- Partner Providers: Maintained by third-party technology companies but reviewed and tested by HashiCorp. They are identified by a checkmark badge in the registry.
- Community Providers: Published and maintained by individual contributors.

Understanding Terraform Init Output
When runningterraform init, you may see output similar to the following:
.terraform/plugins located in the directory containing your configuration files.
For production environments, always add version constraints in your configuration to avoid unexpected breaking changes from automatic upgrades.
Provider Naming Convention
Terraform provider names include an organizational namespace. For example, in the case of the local provider, the namespace is “hashicorp”, and the provider type is “local”. Other common examples include AWS, Azure, and Google Cloud.registry.terraform.io. Therefore, the source address for the local provider can be specified as either:
- registry.terraform.io/hashicorp/local
- or simply hashicorp/local
