Closed bflad closed 6 months ago
Submitted https://github.com/hashicorp/terraform-provider-corner/pull/223 to make CI happier 😄
Looks like this will need to be done over two releases because terraform-plugin-mux required calling MoveResourceState
, which required directly referencing the temporary ResourceServerWithMoveResourceState
interface. This PR will be updated to contain MoveResourceState
method in both interfaces, then we can remove ResourceServerWithMoveResourceState
later.
Maybe it can be a takeaway for future prerelease RPCs to only implement them in mux if absolutely necessary. The problem is that hashicorp/aws
and other large providers tend to be a target for those features and use mux. We could consider whether mux should still remain a separate Go module, instead moving all those packages under the scope of this Go module. Mux is stable enough, low level enough, and also allows breaking changes. We would just need to sort out with the web platform team the website documentation since it references the terraform-plugin-mux repository directly.
Updated this PR to reinstate ResourceServerWithMoveResourceServer
a little longer. Created https://github.com/hashicorp/terraform-plugin-go/issues/389 for eventual followup once this is released and terraform-plugin-mux is upgraded and released.
Given this functionality is now GA in Terraform 1.8 and the interfaces have been out for a month+, going to update and merge this for release at any time.
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions. If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
Closes #353 Closes #363
This removes the temporary handling to smoothly release the new Terraform 1.8 and later RPC handling for provider servers. These changes codify this Go module's desired design that it reflects the protocol via its required implementations.