7
7
"github.com/disaster37/go-kibana-rest/v8/kbapi"
8
8
"github.com/elastic/terraform-provider-elasticstack/internal/kibana/synthetics"
9
9
"github.com/hashicorp/terraform-plugin-framework/resource"
10
+ "strings"
10
11
)
11
12
12
13
func (r * Resource ) Read (ctx context.Context , request resource.ReadRequest , response * resource.ReadResponse ) {
@@ -23,22 +24,27 @@ func (r *Resource) Read(ctx context.Context, request resource.ReadRequest, respo
23
24
return
24
25
}
25
26
26
- compositeId , dg := synthetics .GetCompositeId (state .ID .ValueString ())
27
- response .Diagnostics .Append (dg ... )
28
- if response .Diagnostics .HasError () {
29
- return
30
- }
27
+ resourceId := state .ID .ValueString ()
28
+ namespace := state .SpaceID .ValueString ()
29
+ if strings .Contains (resourceId , "/" ) {
30
+ compositeId , dg := synthetics .GetCompositeId (state .ID .ValueString ())
31
+ response .Diagnostics .Append (dg ... )
32
+ if response .Diagnostics .HasError () {
33
+ return
34
+ }
31
35
32
- namespace := compositeId .ClusterId
33
- result , err := kibanaClient .KibanaSynthetics .PrivateLocation .Get (ctx , compositeId .ResourceId , namespace )
36
+ resourceId = compositeId .ResourceId
37
+ namespace = compositeId .ClusterId
38
+ }
39
+ result , err := kibanaClient .KibanaSynthetics .PrivateLocation .Get (ctx , resourceId , namespace )
34
40
if err != nil {
35
41
var apiError * kbapi.APIError
36
42
if errors .As (err , & apiError ) && apiError .Code == 404 {
37
43
response .State .RemoveResource (ctx )
38
44
return
39
45
}
40
46
41
- response .Diagnostics .AddError (fmt .Sprintf ("Failed to get private location `%s`, namespace %s" , compositeId , namespace ), err .Error ())
47
+ response .Diagnostics .AddError (fmt .Sprintf ("Failed to get private location `%s`, namespace %s" , resourceId , namespace ), err .Error ())
42
48
return
43
49
}
44
50
0 commit comments