hashicorp / terraform-plugin-sdk

Terraform Plugin SDK enables building plugins (providers) to manage any service providers or custom in-house solutions

Home Page:https://developer.hashicorp.com/terraform/plugin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Updates for Protocol Version 5.4

bflad opened this issue · comments

SDK version

v2.28.0

Use-cases

Terraform 1.6 is introducing new functionality which can greatly reduce memory utilization when there are multiple instances of same provider type, by only calling the GetProviderSchema RPC against one provider instance. This can be accomplished by the provider signaling to core that the GetProviderSchema RPC is not required before other RPCs. To support this enhancement with terraform-plugin-mux use cases, a lighter-weight GetMetadata RPC is being introduced which only returns server capabilities and resource type names.

Proposal

Update terraform-plugin-go dependency with protocol version 5.4 changes. Enable GetProviderSchemaOptional server capability, as none of the functionality of this SDK is reliant on RPC ordering, and implement the GetMetadata RPC.

It is anticipated that providers needing the memory usage improvements will upgrade these Go module dependencies at once:

  • terraform-plugin-go (targeting v0.19.0)
  • terraform-plugin-framework (targeting v1.4.0)
  • terraform-plugin-sdk (targeting v2.29.0)
  • terraform-plugin-mux (targeting v0.12.0)

References

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.