internal/elasticsearch/security/api_key/state_upgrade.go (25 lines of code) (raw):
package api_key
import (
"context"
"github.com/elastic/terraform-provider-elasticstack/internal/utils"
"github.com/hashicorp/terraform-plugin-framework/resource"
"github.com/hashicorp/terraform-plugin-framework/types/basetypes"
)
func (r *Resource) UpgradeState(context.Context) map[int64]resource.StateUpgrader {
return map[int64]resource.StateUpgrader{
0: {
PriorSchema: utils.Pointer(r.getSchema(0)),
StateUpgrader: func(ctx context.Context, req resource.UpgradeStateRequest, resp *resource.UpgradeStateResponse) {
var model tfModel
resp.Diagnostics.Append(req.State.Get(ctx, &model)...)
if resp.Diagnostics.HasError() {
return
}
if utils.IsKnown(model.Expiration) && model.Expiration.ValueString() == "" {
model.Expiration = basetypes.NewStringNull()
}
resp.State.Set(ctx, model)
},
},
}
}