Edit this page on GitHub
Terraform Plugin Framework
Develop Terraform providers using the recommended plugin framework.
Note: The Plugin Framework is in beta.
- Try the Terraform Plugin Framework collection on HashiCorp Learn.
- Clone the terraform-provider-scaffolding-framework template repository on GitHub.
- Provider Servers encapsulate all Terraform plugin details and handle all calls for provider, resource, and data source operations by implementing the Terraform Plugin Protocol. They are implemented as binaries that the Terraform CLI downloads, starts, and stops.
- Providers are the top level abstraction that define the available resources and data sources for practitioners to use and may accept its own configuration, such as authentication information.
- Schemas define available fields for provider, resource, or provisioner configuration block, and give Terraform metadata about those fields.
- Resources are an abstraction that allow Terraform to manage infrastructure objects, such as a compute instance, an access policy, or disk. Providers act as a translation layer between Terraform and an API, offering one or more resources for practitioners to define in a configuration.
- Data Sources are an abstraction that allow Terraform to reference external data. Providers have data sources that tell Terraform how to request external data and how to convert the response into a format that practitioners can interpolate.
- Learn to write acceptance tests for your provider.
- Learn to publish your provider to the Terraform Registry.