Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tfprotov5+tfprotov6: Remove temporary ResourceServerWithMoveResourceState interface #389

Open
bflad opened this issue Mar 12, 2024 · 0 comments
Labels
breaking-change This will impact or improve our compatibility posture tech-debt
Milestone

Comments

@bflad
Copy link
Member

bflad commented Mar 12, 2024

terraform-plugin-go version

v0.23.0

Description

The ResourceServerWithMoveResourceState temporary interface was introduced as a way to onboard downstream SDKs onto the new MoveResourceState RPC before it was required. This enabled a period where terraform-plugin-go could support new functionality while not causing compilation errors if downstream Go modules happened to be referencing differing SDK versions that may or may not all support the new functionality immediately.

The challenge with this setup is that terraform-plugin-mux is low level enough to need to reference even the temporary interface in order to work correct. This means that while ResourceServer can require the new method, the temporary interface needs one additional release before it can removed "safely".

Proposal

In tfprotov5 and tfprotov6 remove the ResourceServerWithMoveResourceState interface type. In the changelog, note that consumers should require terraform-plugin-mux@v0.16.0 (or whatever is correct at the time) dependency to prevent compilation errors.

References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change This will impact or improve our compatibility posture tech-debt
Projects
None yet
Development

No branches or pull requests

1 participant