Description
Terraform recommends migrating to Terraform Plugins Framework as it provides some benefits over the SDKv2.
- https://developer.hashicorp.com/terraform/plugin/framework-benefits/
- https://developer.hashicorp.com/terraform/plugin/framework/migrating/benefits
Docs
Terraform Plugin Framework
Develop Terraform providers using the recommended plugin framework.
The plugin framework is HashiCorp’s recommended way develop Terraform Plugins on protocol version 6 or protocol version 5.
We recommend using the framework to develop new providers because it offers significant advantages as compared to Terraform Plugin SDKv2. We also recommend migrating existing providers to the framework when possible. Refer to Plugin Framework Benefits for higher level details about how the framework makes provider development easier and Plugin Framework Features for a detailed functionality comparison between the SDKv2 and the framework.
Get Started
Try the Terraform Plugin Framework tutorials.
Clone the terraform-provider-scaffolding-framework template repository on GitHub.
Migration steps
Take the following steps when you migrate a provider from SDKv2 to the Framework:
- Ensure all tests pass.
- Consider finding SDKv2 resource data consistency errors, which might affect migrating to the Framework. Some errors can be resolved and verified with SDKv2 code before migration, if desired, otherwise resolving these errors must be part of the migration.
- Serve the provider via the Framework.
- Implement muxing, if you plan to migrate the provider iteratively.
- Update the provider definition to use the Framework.
- Update the provider schema.
- Update each of the provider's resources and data sources.
- Update related tests to use the Framework, and ensure that the tests fail.
- Migrate the resource or data source.
- Verify that related tests now pass.
- If you used muxing, remove the muxing configuration.
Depends on #222