@@ -24,8 +24,6 @@ var _ tfprotov6.ProviderServer = &Server{}
24
24
type Server struct {
25
25
FrameworkServer fwserver.Server
26
26
27
- // Provider will be migrated to FrameworkServer over time.
28
- Provider tfsdk.Provider
29
27
contextCancels []context.CancelFunc
30
28
contextCancelsMu sync.Mutex
31
29
}
@@ -47,46 +45,6 @@ func (s *Server) cancelRegisteredContexts(_ context.Context) {
47
45
s .contextCancels = nil
48
46
}
49
47
50
- func (s * Server ) getResourceType (ctx context.Context , typ string ) (tfsdk.ResourceType , diag.Diagnostics ) {
51
- // TODO: Cache GetResources call in GetProviderSchema and reference cache instead
52
- // Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/299
53
- logging .FrameworkDebug (ctx , "Calling provider defined Provider GetResources" )
54
- resourceTypes , diags := s .Provider .GetResources (ctx )
55
- logging .FrameworkDebug (ctx , "Called provider defined Provider GetResources" )
56
- if diags .HasError () {
57
- return nil , diags
58
- }
59
- resourceType , ok := resourceTypes [typ ]
60
- if ! ok {
61
- diags .AddError (
62
- "Resource not found" ,
63
- fmt .Sprintf ("No resource named %q is configured on the provider" , typ ),
64
- )
65
- return nil , diags
66
- }
67
- return resourceType , diags
68
- }
69
-
70
- func (s * Server ) getDataSourceType (ctx context.Context , typ string ) (tfsdk.DataSourceType , diag.Diagnostics ) {
71
- // TODO: Cache GetDataSources call in GetProviderSchema and reference cache instead
72
- // Reference: https://github.com/hashicorp/terraform-plugin-framework/issues/299
73
- logging .FrameworkDebug (ctx , "Calling provider defined Provider GetDataSources" )
74
- dataSourceTypes , diags := s .Provider .GetDataSources (ctx )
75
- logging .FrameworkDebug (ctx , "Called provider defined Provider GetDataSources" )
76
- if diags .HasError () {
77
- return nil , diags
78
- }
79
- dataSourceType , ok := dataSourceTypes [typ ]
80
- if ! ok {
81
- diags .AddError (
82
- "Data source not found" ,
83
- fmt .Sprintf ("No data source named %q is configured on the provider" , typ ),
84
- )
85
- return nil , diags
86
- }
87
- return dataSourceType , diags
88
- }
89
-
90
48
func (s * Server ) GetProviderSchema (ctx context.Context , proto6Req * tfprotov6.GetProviderSchemaRequest ) (* tfprotov6.GetProviderSchemaResponse , error ) {
91
49
ctx = s .registerContext (ctx )
92
50
ctx = logging .InitContext (ctx )
@@ -223,7 +181,7 @@ func (s *Server) upgradeResourceState(ctx context.Context, req *tfprotov6.Upgrad
223
181
return
224
182
}
225
183
226
- resourceType , diags := s .getResourceType (ctx , req .TypeName )
184
+ resourceType , diags := s .FrameworkServer . ResourceType (ctx , req .TypeName )
227
185
228
186
resp .Diagnostics .Append (diags ... )
229
187
@@ -302,7 +260,7 @@ func (s *Server) upgradeResourceState(ctx context.Context, req *tfprotov6.Upgrad
302
260
}
303
261
304
262
logging .FrameworkDebug (ctx , "Calling provider defined ResourceType NewResource" )
305
- resource , diags := resourceType .NewResource (ctx , s .Provider )
263
+ resource , diags := resourceType .NewResource (ctx , s .FrameworkServer . Provider )
306
264
logging .FrameworkDebug (ctx , "Called provider defined ResourceType NewResource" )
307
265
308
266
resp .Diagnostics .Append (diags ... )
@@ -450,7 +408,7 @@ func (s *Server) ReadResource(ctx context.Context, req *tfprotov6.ReadResourceRe
450
408
}
451
409
452
410
func (s * Server ) readResource (ctx context.Context , req * tfprotov6.ReadResourceRequest , resp * readResourceResponse ) {
453
- resourceType , diags := s .getResourceType (ctx , req .TypeName )
411
+ resourceType , diags := s .FrameworkServer . ResourceType (ctx , req .TypeName )
454
412
resp .Diagnostics .Append (diags ... )
455
413
if resp .Diagnostics .HasError () {
456
414
return
@@ -463,7 +421,7 @@ func (s *Server) readResource(ctx context.Context, req *tfprotov6.ReadResourceRe
463
421
return
464
422
}
465
423
logging .FrameworkDebug (ctx , "Calling provider defined ResourceType NewResource" )
466
- resource , diags := resourceType .NewResource (ctx , s .Provider )
424
+ resource , diags := resourceType .NewResource (ctx , s .FrameworkServer . Provider )
467
425
logging .FrameworkDebug (ctx , "Called provider defined ResourceType NewResource" )
468
426
resp .Diagnostics .Append (diags ... )
469
427
if resp .Diagnostics .HasError () {
@@ -483,7 +441,7 @@ func (s *Server) readResource(ctx context.Context, req *tfprotov6.ReadResourceRe
483
441
Schema : resourceSchema ,
484
442
},
485
443
}
486
- if pm , ok := s .Provider .(tfsdk.ProviderWithProviderMeta ); ok {
444
+ if pm , ok := s .FrameworkServer . Provider .(tfsdk.ProviderWithProviderMeta ); ok {
487
445
logging .FrameworkTrace (ctx , "Provider implements ProviderWithProviderMeta" )
488
446
logging .FrameworkDebug (ctx , "Calling provider defined Provider GetMetaSchema" )
489
447
pmSchema , diags := pm .GetMetaSchema (ctx )
@@ -599,7 +557,7 @@ func (s *Server) PlanResourceChange(ctx context.Context, req *tfprotov6.PlanReso
599
557
func (s * Server ) planResourceChange (ctx context.Context , req * tfprotov6.PlanResourceChangeRequest , resp * planResourceChangeResponse ) {
600
558
// get the type of resource, so we can get its schema and create an
601
559
// instance
602
- resourceType , diags := s .getResourceType (ctx , req .TypeName )
560
+ resourceType , diags := s .FrameworkServer . ResourceType (ctx , req .TypeName )
603
561
resp .Diagnostics .Append (diags ... )
604
562
if resp .Diagnostics .HasError () {
605
563
return
@@ -647,7 +605,7 @@ func (s *Server) planResourceChange(ctx context.Context, req *tfprotov6.PlanReso
647
605
// create the resource instance, so we can call its methods and handle
648
606
// the request
649
607
logging .FrameworkDebug (ctx , "Calling provider defined ResourceType NewResource" )
650
- resource , diags := resourceType .NewResource (ctx , s .Provider )
608
+ resource , diags := resourceType .NewResource (ctx , s .FrameworkServer . Provider )
651
609
logging .FrameworkDebug (ctx , "Called provider defined ResourceType NewResource" )
652
610
resp .Diagnostics .Append (diags ... )
653
611
if resp .Diagnostics .HasError () {
@@ -740,7 +698,7 @@ func (s *Server) planResourceChange(ctx context.Context, req *tfprotov6.PlanReso
740
698
Raw : plan ,
741
699
},
742
700
}
743
- if pm , ok := s .Provider .(tfsdk.ProviderWithProviderMeta ); ok {
701
+ if pm , ok := s .FrameworkServer . Provider .(tfsdk.ProviderWithProviderMeta ); ok {
744
702
logging .FrameworkTrace (ctx , "Provider implements ProviderWithProviderMeta" )
745
703
logging .FrameworkDebug (ctx , "Calling provider defined Provider GetMetaSchema" )
746
704
pmSchema , diags := pm .GetMetaSchema (ctx )
@@ -811,7 +769,7 @@ func (s *Server) planResourceChange(ctx context.Context, req *tfprotov6.PlanReso
811
769
Raw : plan ,
812
770
},
813
771
}
814
- if pm , ok := s .Provider .(tfsdk.ProviderWithProviderMeta ); ok {
772
+ if pm , ok := s .FrameworkServer . Provider .(tfsdk.ProviderWithProviderMeta ); ok {
815
773
logging .FrameworkTrace (ctx , "Provider implements ProviderWithProviderMeta" )
816
774
logging .FrameworkDebug (ctx , "Calling provider defined Provider GetMetaSchema" )
817
775
pmSchema , diags := pm .GetMetaSchema (ctx )
@@ -928,7 +886,7 @@ func (s *Server) ApplyResourceChange(ctx context.Context, req *tfprotov6.ApplyRe
928
886
func (s * Server ) applyResourceChange (ctx context.Context , req * tfprotov6.ApplyResourceChangeRequest , resp * applyResourceChangeResponse ) {
929
887
// get the type of resource, so we can get its schema and create an
930
888
// instance
931
- resourceType , diags := s .getResourceType (ctx , req .TypeName )
889
+ resourceType , diags := s .FrameworkServer . ResourceType (ctx , req .TypeName )
932
890
resp .Diagnostics .Append (diags ... )
933
891
if resp .Diagnostics .HasError () {
934
892
return
@@ -947,7 +905,7 @@ func (s *Server) applyResourceChange(ctx context.Context, req *tfprotov6.ApplyRe
947
905
// create the resource instance, so we can call its methods and handle
948
906
// the request
949
907
logging .FrameworkDebug (ctx , "Calling provider defined ResourceType NewResource" )
950
- resource , diags := resourceType .NewResource (ctx , s .Provider )
908
+ resource , diags := resourceType .NewResource (ctx , s .FrameworkServer . Provider )
951
909
logging .FrameworkDebug (ctx , "Called provider defined ResourceType NewResource" )
952
910
resp .Diagnostics .Append (diags ... )
953
911
if resp .Diagnostics .HasError () {
@@ -1020,7 +978,7 @@ func (s *Server) applyResourceChange(ctx context.Context, req *tfprotov6.ApplyRe
1020
978
Raw : plan ,
1021
979
},
1022
980
}
1023
- if pm , ok := s .Provider .(tfsdk.ProviderWithProviderMeta ); ok {
981
+ if pm , ok := s .FrameworkServer . Provider .(tfsdk.ProviderWithProviderMeta ); ok {
1024
982
logging .FrameworkTrace (ctx , "Provider implements ProviderWithProviderMeta" )
1025
983
logging .FrameworkDebug (ctx , "Calling provider defined Provider GetMetaSchema" )
1026
984
pmSchema , diags := pm .GetMetaSchema (ctx )
@@ -1082,7 +1040,7 @@ func (s *Server) applyResourceChange(ctx context.Context, req *tfprotov6.ApplyRe
1082
1040
Raw : priorState ,
1083
1041
},
1084
1042
}
1085
- if pm , ok := s .Provider .(tfsdk.ProviderWithProviderMeta ); ok {
1043
+ if pm , ok := s .FrameworkServer . Provider .(tfsdk.ProviderWithProviderMeta ); ok {
1086
1044
logging .FrameworkTrace (ctx , "Provider implements ProviderWithProviderMeta" )
1087
1045
logging .FrameworkDebug (ctx , "Calling provider defined Provider GetMetaSchema" )
1088
1046
pmSchema , diags := pm .GetMetaSchema (ctx )
@@ -1136,7 +1094,7 @@ func (s *Server) applyResourceChange(ctx context.Context, req *tfprotov6.ApplyRe
1136
1094
Raw : priorState ,
1137
1095
},
1138
1096
}
1139
- if pm , ok := s .Provider .(tfsdk.ProviderWithProviderMeta ); ok {
1097
+ if pm , ok := s .FrameworkServer . Provider .(tfsdk.ProviderWithProviderMeta ); ok {
1140
1098
logging .FrameworkTrace (ctx , "Provider implements ProviderWithProviderMeta" )
1141
1099
logging .FrameworkDebug (ctx , "Calling provider defined Provider GetMetaSchema" )
1142
1100
pmSchema , diags := pm .GetMetaSchema (ctx )
@@ -1255,7 +1213,7 @@ func (s *Server) ReadDataSource(ctx context.Context, req *tfprotov6.ReadDataSour
1255
1213
}
1256
1214
1257
1215
func (s * Server ) readDataSource (ctx context.Context , req * tfprotov6.ReadDataSourceRequest , resp * readDataSourceResponse ) {
1258
- dataSourceType , diags := s .getDataSourceType (ctx , req .TypeName )
1216
+ dataSourceType , diags := s .FrameworkServer . DataSourceType (ctx , req .TypeName )
1259
1217
resp .Diagnostics .Append (diags ... )
1260
1218
if resp .Diagnostics .HasError () {
1261
1219
return
@@ -1268,7 +1226,7 @@ func (s *Server) readDataSource(ctx context.Context, req *tfprotov6.ReadDataSour
1268
1226
return
1269
1227
}
1270
1228
logging .FrameworkDebug (ctx , "Calling provider defined DataSourceType NewDataSource" )
1271
- dataSource , diags := dataSourceType .NewDataSource (ctx , s .Provider )
1229
+ dataSource , diags := dataSourceType .NewDataSource (ctx , s .FrameworkServer . Provider )
1272
1230
logging .FrameworkDebug (ctx , "Called provider defined DataSourceType NewDataSource" )
1273
1231
resp .Diagnostics .Append (diags ... )
1274
1232
if resp .Diagnostics .HasError () {
@@ -1288,7 +1246,7 @@ func (s *Server) readDataSource(ctx context.Context, req *tfprotov6.ReadDataSour
1288
1246
Schema : dataSourceSchema ,
1289
1247
},
1290
1248
}
1291
- if pm , ok := s .Provider .(tfsdk.ProviderWithProviderMeta ); ok {
1249
+ if pm , ok := s .FrameworkServer . Provider .(tfsdk.ProviderWithProviderMeta ); ok {
1292
1250
logging .FrameworkTrace (ctx , "Provider implements ProviderWithProviderMeta" )
1293
1251
logging .FrameworkDebug (ctx , "Calling provider defined Provider GetMetaSchema" )
1294
1252
pmSchema , diags := pm .GetMetaSchema (ctx )
0 commit comments