feat: add generated parent modify resources
Introduce the modifier YAML kind for delayed parent-level modify operations and generate dedicated Terraform resources with typed parameters. Keep modifier parameters out of the ordinary instance CRUD resource, register modifiers separately, and leave delete as a no-op until an inverse API payload is confirmed. Mark vcOrg and vcNsxt modify operations during YAML generation so the contract survives regeneration.
This commit is contained in:
@@ -48,7 +48,7 @@ func run() error {
|
||||
return fmt.Errorf("NUBES_RESOURCES_GEN_DIR is required — must point to generated/{stand}/go/")
|
||||
}
|
||||
|
||||
instanceResources, subresources, actions, err := loader.LoadSpecs(resourcesDir)
|
||||
instanceResources, subresources, actions, modifiers, err := loader.LoadSpecs(resourcesDir)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -72,6 +72,12 @@ func run() error {
|
||||
writeErrs = append(writeErrs, serviceWriteErr{kind: "action", name: name, err: err})
|
||||
}
|
||||
}
|
||||
for _, modifier := range modifiers {
|
||||
if err := writers.WriteModifierResource(outDir, modifier); err != nil {
|
||||
name := fmt.Sprintf("%s_%s", modifier.ServiceName, modifier.ModifierName)
|
||||
writeErrs = append(writeErrs, serviceWriteErr{kind: "modifier", name: name, err: err})
|
||||
}
|
||||
}
|
||||
|
||||
if len(writeErrs) > 0 {
|
||||
var b strings.Builder
|
||||
@@ -82,7 +88,7 @@ func run() error {
|
||||
return errors.New(strings.TrimSpace(b.String()))
|
||||
}
|
||||
|
||||
if err := writers.WriteRegistry(outDir, instanceResources, subresources, actions); err != nil {
|
||||
if err := writers.WriteRegistry(outDir, instanceResources, subresources, actions, modifiers); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user