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.
A recap of HashiCorp infrastructure and security news and developments from Google Cloud Next, from scaling infrastructure as code to fighting secrets sprawl and more.
New in Terraform 1.8: Provider-defined functions let users extend Terraform with custom capabilities. Plus, refactoring can now be done across resource types.
See usage examples of Terraform 1.8's new launch-day provider-defined functions for AWS, Google Cloud, and Kubernetes.