internal/kibana/data_view/update.go (37 lines of code) (raw):

package data_view import ( "context" "github.com/elastic/terraform-provider-elasticstack/internal/clients/kibana_oapi" "github.com/hashicorp/terraform-plugin-framework/resource" ) func (r *DataViewResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { var planModel dataViewModel diags := req.Plan.Get(ctx, &planModel) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return } client, err := r.client.GetKibanaOapiClient() if err != nil { resp.Diagnostics.AddError(err.Error(), "") return } body, diags := planModel.toAPIUpdateModel(ctx) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return } viewID, spaceID := planModel.getViewIDAndSpaceID() dataView, diags := kibana_oapi.UpdateDataView(ctx, client, spaceID, viewID, body) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return } diags = planModel.populateFromAPI(ctx, dataView, spaceID) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return } diags = resp.State.Set(ctx, planModel) resp.Diagnostics.Append(diags...) }