internal/elasticsearch/index/data_stream_lifecycle/delete.go (29 lines of code) (raw):
package data_stream_lifecycle
import (
"context"
"github.com/elastic/terraform-provider-elasticstack/internal/clients"
"github.com/elastic/terraform-provider-elasticstack/internal/clients/elasticsearch"
"github.com/hashicorp/terraform-plugin-framework/resource"
)
func (r *Resource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) {
var stateModel tfModel
resp.Diagnostics.Append(req.State.Get(ctx, &stateModel)...)
if resp.Diagnostics.HasError() {
return
}
client, diags := clients.MaybeNewApiClientFromFrameworkResource(ctx, stateModel.ElasticsearchConnection, r.client)
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
return
}
compId, diags := stateModel.GetID()
resp.Diagnostics.Append(diags...)
if resp.Diagnostics.HasError() {
return
}
resp.Diagnostics.Append(elasticsearch.DeleteDataStreamLifecycle(ctx, client, compId.ResourceId, stateModel.ExpandWildcards.ValueString())...)
if resp.Diagnostics.HasError() {
return
}
resp.State.RemoveResource(ctx)
}