fix: harden modifier resource lifecycle

Validate required modifier parameters, refresh modifier state from parent state_params, preserve operation timeout and log level during update, and normalize nested modifier payloads as JSON. Document the modifier contract, vcOrg/vcNsxt usage, and the intentionally unsupported rollback semantics.
This commit is contained in:
Repinoid
2026-09-20 18:11:17 +03:00
parent a48b658d78
commit 8f552ecacc
3 changed files with 58 additions and 2 deletions
@@ -70,6 +70,11 @@ func LoadSpecs(dir string) ([]types.GenResource, []types.GenSubresource, []types
Params: ConvertParams(op.Params),
}
modifier.SchemaParams = modifier.Params
for idx := range modifier.SchemaParams {
if modifier.SchemaParams[idx].HasSubParams {
modifier.SchemaParams[idx].IsJson = true
}
}
params.Analyze(&modifier.UsesBool, &modifier.UsesInt64, &modifier.UsesString, &modifier.HasDefaults, &modifier.NeedsBoolDefault, &modifier.NeedsInt64Default, &modifier.NeedsStringDefault, modifier.SchemaParams)
modifier.NeedsJsonPlanMod = params.AnalyzeJsonPlanMod(modifier.SchemaParams)
modifiers = append(modifiers, modifier)