Skip to content

Commit 254d9e1

Browse files
committed
update private location delete to support both id formats
1 parent 0c8a2b0 commit 254d9e1

File tree

3 files changed

+28
-13
lines changed

3 files changed

+28
-13
lines changed

internal/kibana/synthetics/private_location/delete.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,24 @@ func (r *Resource) Delete(ctx context.Context, request resource.DeleteRequest, r
2121
return
2222
}
2323

24-
monitorId, dg := synthetics.GetCompositeId(plan.ID.ValueString())
24+
resourceId := plan.ID.ValueString()
25+
namespace := plan.SpaceID.ValueString()
26+
27+
compositeId, dg := readCompositeIdOrConfigId(resourceId)
2528
response.Diagnostics.Append(dg...)
2629
if response.Diagnostics.HasError() {
2730
return
2831
}
2932

30-
namespace := plan.SpaceID.ValueString()
31-
err := kibanaClient.KibanaSynthetics.PrivateLocation.Delete(ctx, monitorId.ResourceId, namespace)
33+
if compositeId != nil {
34+
resourceId = compositeId.ResourceId
35+
namespace = compositeId.ClusterId
36+
}
37+
38+
err := kibanaClient.KibanaSynthetics.PrivateLocation.Delete(ctx, resourceId, namespace)
3239

3340
if err != nil {
34-
response.Diagnostics.AddError(fmt.Sprintf("Failed to delete private location `%s`, namespace %s", monitorId, namespace), err.Error())
41+
response.Diagnostics.AddError(fmt.Sprintf("Failed to delete private location `%s`, namespace %s", resourceId, namespace), err.Error())
3542
return
3643
}
3744

internal/kibana/synthetics/private_location/read.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/disaster37/go-kibana-rest/v8/kbapi"
88
"github.com/elastic/terraform-provider-elasticstack/internal/kibana/synthetics"
99
"github.com/hashicorp/terraform-plugin-framework/resource"
10-
"strings"
1110
)
1211

1312
func (r *Resource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) {
@@ -26,17 +25,16 @@ func (r *Resource) Read(ctx context.Context, request resource.ReadRequest, respo
2625

2726
resourceId := state.ID.ValueString()
2827
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-
}
3528

29+
compositeId, dg := readCompositeIdOrConfigId(resourceId)
30+
response.Diagnostics.Append(dg...)
31+
if response.Diagnostics.HasError() {
32+
return
33+
}
34+
35+
if compositeId != nil {
3636
resourceId = compositeId.ResourceId
3737
namespace = compositeId.ClusterId
38-
} else {
39-
resourceId = state.Label.ValueString()
4038
}
4139

4240
result, err := kibanaClient.KibanaSynthetics.PrivateLocation.Get(ctx, resourceId, namespace)

internal/kibana/synthetics/private_location/schema.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ import (
44
"github.com/disaster37/go-kibana-rest/v8/kbapi"
55
"github.com/elastic/terraform-provider-elasticstack/internal/clients"
66
"github.com/elastic/terraform-provider-elasticstack/internal/kibana/synthetics"
7+
"github.com/hashicorp/terraform-plugin-framework/diag"
78
"github.com/hashicorp/terraform-plugin-framework/resource/schema"
89
"github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier"
910
"github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
1011
"github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
1112
"github.com/hashicorp/terraform-plugin-framework/types"
13+
"strings"
1214
)
1315

1416
type tfModelV0 struct {
@@ -86,6 +88,14 @@ func (m *tfModelV0) toPrivateLocationConfig() kbapi.PrivateLocationConfig {
8688
}
8789
}
8890

91+
func readCompositeIdOrConfigId(id string) (*clients.CompositeId, diag.Diagnostics) {
92+
if strings.Contains(id, "/") {
93+
compositeId, diagnostics := synthetics.GetCompositeId(id)
94+
return compositeId, diagnostics
95+
}
96+
return nil, diag.Diagnostics{}
97+
}
98+
8999
func toModelV0(pLoc kbapi.PrivateLocation) tfModelV0 {
90100

91101
resourceID := clients.CompositeId{

0 commit comments

Comments
 (0)