internal/elasticsearch/security/api_key/update.go (34 lines of code) (raw):

package api_key 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) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { var planModel tfModel resp.Diagnostics.Append(req.Plan.Get(ctx, &planModel)...) if resp.Diagnostics.HasError() { return } client, diags := clients.MaybeNewApiClientFromFrameworkResource(ctx, planModel.ElasticsearchConnection, r.client) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return } apiModel, diags := r.buildApiModel(ctx, planModel, client) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return } resp.Diagnostics.Append(elasticsearch.UpdateApiKey(client, apiModel)...) if resp.Diagnostics.HasError() { return } finalModel, diags := r.read(ctx, client, planModel) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return } resp.Diagnostics.Append(resp.State.Set(ctx, *finalModel)...) }