The Terraform Plugin Framework 1.0 is now generally available to provide a modern and extensible way for developers to create Terraform providers.
We are excited to share that Terraform Plugin Framework version 1.0.0 is now generally available (GA). The Terraform Plugin Framework is the successor to the Terraform Plugin SDKv2, and forms the basis for creating Terraform providers. Terraform relies on a type of plugin called a provider to interact with cloud resources, SaaS platforms, and other APIs. Providers are at the heart of Terraform’s extensibility for multi-cloud provisioning, and the ecosystem now includes more than 2,700 public providers in the Terraform Registry.
In this post, we’ll discuss why we changed the way Terraform providers are built and review the new features in the 1.0 release.
Providers are executable binaries written in Go that communicate with Terraform Core over an RPC interface. While Terraform providers have traditionally been developed using the Terraform Plugin SDKv2, Terraform functionality and Go coding standards have evolved considerably over the years. To continue providing a great user experience for plugin development, we redesigned our provider authoring tools from the ground up using familiar, idiomatic patterns while prioritizing extensibility and concise abstractions. The result was our new Plugin Framework. The Plugin Framework’s code is more maintainable and future-proof, and it will serve as the foundation for future Terraform plugin development features and tooling.
Terraform Plugin SDKv2 technology will continue to exist alongside the Plugin Framework, but we recommend that provider developers adopt the new Plugin Framework to make use of the latest features. Going forward, new features and tooling will be prioritized for the Plugin Framework.
The tutorials available on the HashiCorp Developer site are the best places to start if you are new to plugin development. You can begin by reading this getting started page, and then continue exploring our provider-development documentation collection. If you are interested in migrating an existing provider to the Plugin Framework, please take a look at our migration guide.
For more insight, check out some of the providers already developed using the Plugin Framework: AWS Cloud Control, HTTP , null, TLS, time, and random.
Please file any bugs you encounter, let us know about your feature requests, and share other questions, thoughts, and experiences in the Terraform discussion forum. We’d love to hear from you, and we can’t wait to see what our partners and the community build with this new framework.
Streamlined run task reviews provide meaningful context on run task evaluations to help practitioners resolve issues faster without having to leave Terraform Cloud.
No-code provisioning adds more Day 2 operations. Users can now update the module version used in their no-code workspaces.
Terraform Enterprise now supports more flexible deployment options for self-hosted environments, including cloud-managed Kubernetes services.