@@ -24,8 +24,8 @@ import (
2424
2525 "github.com/hashicorp/terraform-plugin-go/tfprotov5"
2626 "github.com/opentofu/opentofu/internal/tfplugin5"
27+ "github.com/opentofu/opentofu/shim/grpcutil"
2728 "github.com/opentofu/opentofu/shim/protov5/translate"
28- "google.golang.org/grpc"
2929)
3030
3131var _ tfprotov5.ProviderServer = (* provider )(nil )
@@ -39,7 +39,7 @@ type provider struct{ remote tfplugin5.ProviderClient }
3939func (p provider ) GetMetadata (
4040 ctx context.Context , req * tfprotov5.GetMetadataRequest ,
4141) (* tfprotov5.GetMetadataResponse , error ) {
42- return translateGRPC (ctx ,
42+ return grpcutil . Translate (ctx ,
4343 p .remote .GetMetadata ,
4444 translate .GetMetadataRequest (req ),
4545 translate .GetMetadataResponse )
@@ -48,7 +48,7 @@ func (p provider) GetMetadata(
4848func (p provider ) GetProviderSchema (
4949 ctx context.Context , req * tfprotov5.GetProviderSchemaRequest ,
5050) (* tfprotov5.GetProviderSchemaResponse , error ) {
51- return translateGRPC (ctx ,
51+ return grpcutil . Translate (ctx ,
5252 p .remote .GetSchema ,
5353 translate .GetProviderSchemaRequest (req ),
5454 translate .GetProviderSchemaResponse )
@@ -57,7 +57,7 @@ func (p provider) GetProviderSchema(
5757func (p provider ) PrepareProviderConfig (
5858 ctx context.Context , req * tfprotov5.PrepareProviderConfigRequest ,
5959) (* tfprotov5.PrepareProviderConfigResponse , error ) {
60- return translateGRPC (ctx ,
60+ return grpcutil . Translate (ctx ,
6161 p .remote .PrepareProviderConfig ,
6262 translate .PrepareProviderConfigRequest (req ),
6363 translate .PrepareProviderConfigResponse )
@@ -66,7 +66,7 @@ func (p provider) PrepareProviderConfig(
6666func (p provider ) ConfigureProvider (
6767 ctx context.Context , req * tfprotov5.ConfigureProviderRequest ,
6868) (* tfprotov5.ConfigureProviderResponse , error ) {
69- return translateGRPC (ctx ,
69+ return grpcutil . Translate (ctx ,
7070 p .remote .Configure ,
7171 translate .ConfigureProviderRequest (req ),
7272 translate .ConfigureProviderResponse )
@@ -75,7 +75,7 @@ func (p provider) ConfigureProvider(
7575func (p provider ) StopProvider (
7676 ctx context.Context , req * tfprotov5.StopProviderRequest ,
7777) (* tfprotov5.StopProviderResponse , error ) {
78- return translateGRPC (ctx ,
78+ return grpcutil . Translate (ctx ,
7979 p .remote .Stop ,
8080 translate .StopProviderRequest (req ),
8181 translate .StopProviderResponse )
@@ -84,7 +84,7 @@ func (p provider) StopProvider(
8484func (p provider ) ValidateResourceTypeConfig (
8585 ctx context.Context , req * tfprotov5.ValidateResourceTypeConfigRequest ,
8686) (* tfprotov5.ValidateResourceTypeConfigResponse , error ) {
87- return translateGRPC (ctx ,
87+ return grpcutil . Translate (ctx ,
8888 p .remote .ValidateResourceTypeConfig ,
8989 translate .ValidateResourceTypeConfigRequest (req ),
9090 translate .ValidateResourceTypeConfigResponse )
@@ -93,7 +93,7 @@ func (p provider) ValidateResourceTypeConfig(
9393func (p provider ) UpgradeResourceState (
9494 ctx context.Context , req * tfprotov5.UpgradeResourceStateRequest ,
9595) (* tfprotov5.UpgradeResourceStateResponse , error ) {
96- return translateGRPC (ctx ,
96+ return grpcutil . Translate (ctx ,
9797 p .remote .UpgradeResourceState ,
9898 translate .UpgradeResourceStateRequest (req ),
9999 translate .UpgradeResourceStateResponse )
@@ -102,7 +102,7 @@ func (p provider) UpgradeResourceState(
102102func (p provider ) ReadResource (
103103 ctx context.Context , req * tfprotov5.ReadResourceRequest ,
104104) (* tfprotov5.ReadResourceResponse , error ) {
105- return translateGRPC (ctx ,
105+ return grpcutil . Translate (ctx ,
106106 p .remote .ReadResource ,
107107 translate .ReadResourceRequest (req ),
108108 translate .ReadResourceResponse )
@@ -111,7 +111,7 @@ func (p provider) ReadResource(
111111func (p provider ) PlanResourceChange (
112112 ctx context.Context , req * tfprotov5.PlanResourceChangeRequest ,
113113) (* tfprotov5.PlanResourceChangeResponse , error ) {
114- return translateGRPC (ctx ,
114+ return grpcutil . Translate (ctx ,
115115 p .remote .PlanResourceChange ,
116116 translate .PlanResourceChangeRequest (req ),
117117 translate .PlanResourceChangeResponse )
@@ -120,7 +120,7 @@ func (p provider) PlanResourceChange(
120120func (p provider ) ApplyResourceChange (
121121 ctx context.Context , req * tfprotov5.ApplyResourceChangeRequest ,
122122) (* tfprotov5.ApplyResourceChangeResponse , error ) {
123- return translateGRPC (ctx ,
123+ return grpcutil . Translate (ctx ,
124124 p .remote .ApplyResourceChange ,
125125 translate .ApplyResourceChangeRequest (req ),
126126 translate .ApplyResourceChangeResponse )
@@ -129,7 +129,7 @@ func (p provider) ApplyResourceChange(
129129func (p provider ) ImportResourceState (
130130 ctx context.Context , req * tfprotov5.ImportResourceStateRequest ,
131131) (* tfprotov5.ImportResourceStateResponse , error ) {
132- return translateGRPC (ctx ,
132+ return grpcutil . Translate (ctx ,
133133 p .remote .ImportResourceState ,
134134 translate .ImportResourceStateRequest (req ),
135135 translate .ImportResourceStateResponse )
@@ -138,7 +138,7 @@ func (p provider) ImportResourceState(
138138func (p provider ) MoveResourceState (
139139 ctx context.Context , req * tfprotov5.MoveResourceStateRequest ,
140140) (* tfprotov5.MoveResourceStateResponse , error ) {
141- return translateGRPC (ctx ,
141+ return grpcutil . Translate (ctx ,
142142 p .remote .MoveResourceState ,
143143 translate .MoveResourceStateRequest (req ),
144144 translate .MoveResourceStateResponse )
@@ -147,7 +147,7 @@ func (p provider) MoveResourceState(
147147func (p provider ) ValidateDataSourceConfig (
148148 ctx context.Context , req * tfprotov5.ValidateDataSourceConfigRequest ,
149149) (* tfprotov5.ValidateDataSourceConfigResponse , error ) {
150- return translateGRPC (ctx ,
150+ return grpcutil . Translate (ctx ,
151151 p .remote .ValidateDataSourceConfig ,
152152 translate .ValidateDataSourceConfigRequest (req ),
153153 translate .ValidateDataSourceConfigResponse )
@@ -156,7 +156,7 @@ func (p provider) ValidateDataSourceConfig(
156156func (p provider ) ReadDataSource (
157157 ctx context.Context , req * tfprotov5.ReadDataSourceRequest ,
158158) (* tfprotov5.ReadDataSourceResponse , error ) {
159- return translateGRPC (ctx ,
159+ return grpcutil . Translate (ctx ,
160160 p .remote .ReadDataSource ,
161161 translate .ReadDataSourceRequest (req ),
162162 translate .ReadDataSourceResponse )
@@ -165,7 +165,7 @@ func (p provider) ReadDataSource(
165165func (p provider ) CallFunction (
166166 ctx context.Context , req * tfprotov5.CallFunctionRequest ,
167167) (* tfprotov5.CallFunctionResponse , error ) {
168- return translateGRPC (ctx ,
168+ return grpcutil . Translate (ctx ,
169169 p .remote .CallFunction ,
170170 translate .CallFunctionRequest (req ),
171171 translate .CallFunctionResponse )
@@ -174,26 +174,8 @@ func (p provider) CallFunction(
174174func (p provider ) GetFunctions (
175175 ctx context.Context , req * tfprotov5.GetFunctionsRequest ,
176176) (* tfprotov5.GetFunctionsResponse , error ) {
177- return translateGRPC (ctx ,
177+ return grpcutil . Translate (ctx ,
178178 p .remote .GetFunctions ,
179179 translate .GetFunctionsRequest (req ),
180180 translate .GetFunctionsResponse )
181181}
182-
183- func translateGRPC [
184- In , Out , Final any ,
185- Call func (context.Context , In , ... grpc.CallOption ) (Out , error ),
186- MapResult func (Out ) Final ,
187- ](
188- ctx context.Context ,
189- call Call ,
190- i In ,
191- m MapResult ,
192- ) (Final , error ) {
193- v , err := call (ctx , i )
194- if err != nil {
195- var tmp Final
196- return tmp , err
197- }
198- return m (v ), nil
199- }
0 commit comments