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: Copy MoveResourceState method into ResourceServer #363
Labels
breaking-change
This will impact or improve our compatibility posture
enhancement
New feature or request
Milestone
Comments
bflad
added
enhancement
New feature or request
breaking-change
This will impact or improve our compatibility posture
labels
Jan 12, 2024
bflad
added a commit
that referenced
this issue
Jan 12, 2024
Reference: #363 The next version of the plugin protocol (5.5/6.5) includes support for moving resource state. This change introduces the initial implementation of that support including: - Updated Protocol Buffers definitions - Re-generated Protocol Buffers Go code - Initial implementations of `tfprotov5` and `tfprotov6` package abstractions and wiring between those abstractions and the Protocol Buffers generated Go code - Initial implementations of `tfprotov5/tf5server` and `tfprotov6/tf6server` for the new `MoveResourceState` RPC This temporarily will not require `ProviderServer` implementations to include `MoveResourceState` implementation, however that change will occur in a subsequent release.
bflad
added a commit
that referenced
this issue
Jan 12, 2024
Reference: #362 Reference: #363 The next version of the plugin protocol (5.5/6.5) includes support for moving resource state. This change introduces the initial implementation of that support including: - Updated Protocol Buffers definitions - Re-generated Protocol Buffers Go code - Initial implementations of `tfprotov5` and `tfprotov6` package abstractions and wiring between those abstractions and the Protocol Buffers generated Go code - Initial implementations of `tfprotov5/tf5server` and `tfprotov6/tf6server` for the new `MoveResourceState` RPC This temporarily will not require `ProviderServer` implementations to include `MoveResourceState` implementation, however that change will occur in a subsequent release.
bflad
added a commit
that referenced
this issue
Jan 17, 2024
Reference: #362 Reference: #363 The next version of the plugin protocol (5.5/6.5) includes support for moving resource state. This change introduces the initial implementation of that support including: - Updated Protocol Buffers definitions - Re-generated Protocol Buffers Go code - Initial implementations of `tfprotov5` and `tfprotov6` package abstractions and wiring between those abstractions and the Protocol Buffers generated Go code - Initial implementations of `tfprotov5/tf5server` and `tfprotov6/tf6server` for the new `MoveResourceState` RPC This temporarily will not require `ProviderServer` implementations to include `MoveResourceState` implementation, however that change will occur in a subsequent release.
bflad
added a commit
that referenced
this issue
Mar 11, 2024
…eResourceState in ResourceServer Reference: #353 Reference: #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.
Per #388 (comment), this issue is going to be changed into just copying the |
bflad
changed the title
tfprotov5+tfprotov6: Move MoveResourceState method into ResourceServer
tfprotov5+tfprotov6: Copy MoveResourceState method into ResourceServer
Mar 12, 2024
bflad
added a commit
that referenced
this issue
Apr 22, 2024
…eResourceState in ResourceServer (#388) Reference: #353 Reference: #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.
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
enhancement
New feature or request
terraform-plugin-go version
Description
The upcoming v0.21.0 release will contain the
tfprotov5
andtfprotov6
packageResourceServerWithMoveResourceState
temporary interface, which contains theMoveResourceState
RPC function handler. Rather than immediately requiring all downstream SDK implementations to implement this functionality immediately by requiringMoveResourceState
as part ofResourceServer
, it seems ideal if we can stagger the releases between introducing and supporting the newMoveResourceState
bits then having a followup release that makes the implementation required with the "breaking change" to match the intended design of this Go module to always require all provider implementations to fully implement the protocol.For provider developers, this type of terraform-plugin-go change previously surfaced as confusing
missing method XXX
when updating only some dependencies of terraform-plugin-framework, terraform-plugin-mux, terraform-plugin-sdk, or terraform-plugin-testing where terraform-plugin-go required the additionalResourceServer
bits, but with the newer setup there can at least be better chance that particular update issue won't occur for them and changelog can reference the minimum SDK versions.Proposal
Move the
MoveResourceState
method fromResourceServerWithMoveResourceState
toResourceServer
. Remove temporaryResourceServerWithMoveResourceState
interface, logic referencing it, and associated error diagnostics when it was missing in the server implementations.References
The text was updated successfully, but these errors were encountered: