in ec/ecresource/deploymentresource/elasticsearch/v2/elasticsearch_payload.go [100:132]
func CheckAvailableMigration(ctx context.Context, plan types.Object, state types.Object) (bool, diag.Diagnostics) {
esPlan, diags := objectToElasticsearch(ctx, plan)
if diags.HasError() {
return false, diags
}
esState, diags := objectToElasticsearch(ctx, state)
if diags.HasError() {
return false, diags
}
if esPlan == nil || esState == nil {
return false, nil
}
planTiers, diags := esPlan.topologies(ctx)
if diags.HasError() {
return false, diags
}
stateTiers, diags := esState.topologies(ctx)
if diags.HasError() {
return false, diags
}
for topologyId, tier := range planTiers {
if tier != nil && stateTiers[topologyId] != nil && tier.checkAvailableMigration(stateTiers[topologyId]) {
return true, nil
}
}
return false, nil
}