@@ -5,29 +5,20 @@ import (
55 "errors"
66 "fmt"
77
8+ "github.com/disaster37/go-kibana-rest/v8"
89 "github.com/disaster37/go-kibana-rest/v8/kbapi"
910 "github.com/elastic/terraform-provider-elasticstack/internal/kibana/synthetics"
11+ "github.com/hashicorp/terraform-plugin-framework/diag"
1012 "github.com/hashicorp/terraform-plugin-framework/resource"
13+ "github.com/hashicorp/terraform-plugin-framework/tfsdk"
1114)
1215
13- func (r * Resource ) Read (ctx context.Context , request resource.ReadRequest , response * resource.ReadResponse ) {
14- kibanaClient := synthetics .GetKibanaClient (r , response .Diagnostics )
15- if kibanaClient == nil {
16- return
17- }
18-
19- var state tfModelV0
20- diags := request .State .Get (ctx , & state )
21- response .Diagnostics .Append (diags ... )
22- if response .Diagnostics .HasError () {
23- return
24- }
25-
26- resourceId := state .ID .ValueString ()
16+ func (r * Resource ) readState (ctx context.Context , kibanaClient * kibana.Client , model tfModelV0 , state * tfsdk.State , diagnostics * diag.Diagnostics ) {
17+ resourceId := model .ID .ValueString ()
2718
2819 compositeId , dg := tryReadCompositeId (resourceId )
29- response . Diagnostics .Append (dg ... )
30- if response . Diagnostics .HasError () {
20+ diagnostics .Append (dg ... )
21+ if diagnostics .HasError () {
3122 return
3223 }
3324
@@ -39,20 +30,36 @@ func (r *Resource) Read(ctx context.Context, request resource.ReadRequest, respo
3930 if err != nil {
4031 var apiError * kbapi.APIError
4132 if errors .As (err , & apiError ) && apiError .Code == 404 {
42- response . State .RemoveResource (ctx )
33+ state .RemoveResource (ctx )
4334 return
4435 }
4536
46- response . Diagnostics .AddError (fmt .Sprintf ("Failed to get parameter `%s`" , resourceId ), err .Error ())
37+ diagnostics .AddError (fmt .Sprintf ("Failed to get parameter `%s`" , resourceId ), err .Error ())
4738 return
4839 }
4940
50- state = toModelV0 (* result )
41+ model = toModelV0 (* result )
5142
5243 // Set refreshed state
53- diags = response .State .Set (ctx , & state )
44+ diags := state .Set (ctx , & model )
45+ diagnostics .Append (diags ... )
46+ if diagnostics .HasError () {
47+ return
48+ }
49+ }
50+
51+ func (r * Resource ) Read (ctx context.Context , request resource.ReadRequest , response * resource.ReadResponse ) {
52+ kibanaClient := synthetics .GetKibanaClient (r , response .Diagnostics )
53+ if kibanaClient == nil {
54+ return
55+ }
56+
57+ var state tfModelV0
58+ diags := request .State .Get (ctx , & state )
5459 response .Diagnostics .Append (diags ... )
5560 if response .Diagnostics .HasError () {
5661 return
5762 }
63+
64+ r .readState (ctx , kibanaClient , state , & response .State , & response .Diagnostics )
5865}
0 commit comments