Home - Plugin Development | Terraform by HashiCorp
Terraform is logically split into two main parts:
Terraform Core: This is the Terraform binary that communicates with plugins to manage infrastructure resources. It provides a common interface that allows you to leverage many different cloud providers, databases, services, and in-house solutions.
Terraform Plugins: These are executable binaries written in Go that communicate with Terraform Core over an RPC interface. Each plugin exposes an implementation for a specific service, such as the AWS provider or the cloud-init provider. Terraform currently supports one type of Plugin called providers.
![](https://mktg-content-api-hashicorp.vercel.app/api/assets?product=terraform-docs-common&version=refs%2Fheads%2Fmain&asset=website%2Fimg%2Fdocs%2Fterraform-plugin-overview.png&width=4096&height=728)
![](https://mktg-content-api-hashicorp.vercel.app/api/assets?product=terraform-docs-common&version=refs%2Fheads%2Fmain&asset=website%2Fimg%2Fdocs%2Fterraform-plugin-overview.png&width=4096&height=728)
hashicorp/terraform-provider-random: Supports the use of randomness within Terraform configurations.
@GitHub