fix: bulletproof .gitignore for ALL Go binaries + classifyOperation for any underscore prefix
This commit is contained in:
+17
-3
@@ -13,10 +13,24 @@ devops/profiles/*/generated/
|
||||
*.sha256sum
|
||||
|
||||
# === Go binaries (compiled tools) ===
|
||||
universal_rebuild/tools/gen_v2/gen_v2
|
||||
universal_rebuild/tools/gen/gen
|
||||
universal_rebuild/docs_template_gen_v2
|
||||
# Каждый тул в tools/ компилируется в бинарник с именем пакета.
|
||||
# Паттерн ловит ВСЕ бинарники во всех поддиректориях tools/.
|
||||
universal_rebuild/tools/*/gen
|
||||
universal_rebuild/tools/*/gen_v2
|
||||
universal_rebuild/tools/*/service_spec_gen
|
||||
universal_rebuild/tools/*/service_ops_gen
|
||||
universal_rebuild/tools/*/service_params_gen
|
||||
universal_rebuild/tools/*/docs_template_gen
|
||||
universal_rebuild/tools/*/docs_template_gen_v2
|
||||
# Бинарники в корне universal_rebuild/
|
||||
universal_rebuild/gen
|
||||
universal_rebuild/gen_v2
|
||||
universal_rebuild/service_spec_gen
|
||||
universal_rebuild/service_ops_gen
|
||||
universal_rebuild/service_params_gen
|
||||
universal_rebuild/docs_template_gen
|
||||
universal_rebuild/docs_template_gen_v2
|
||||
universal_rebuild/terraform-provider-nubes_*
|
||||
*.exe
|
||||
*.test
|
||||
*.out
|
||||
|
||||
@@ -519,29 +519,19 @@ func (c *apiClient) collectOperations(ops []operationInfo) ([]OperationSpec, boo
|
||||
|
||||
func classifyOperation(name string) (string, string, string) {
|
||||
// Canonical classification rules:
|
||||
// - create/modify/delete/suspend/resume -> instance
|
||||
// - create_*/modify_*/delete_* -> subresource
|
||||
// - everything else -> action
|
||||
// - create/modify/delete/suspend/resume (exact match) → instance
|
||||
// - verb_subresource (any prefix with underscore) → subresource (verb: action, suffix: subresource name)
|
||||
// - everything else → action
|
||||
n := strings.ToLower(strings.TrimSpace(name))
|
||||
if n == "create" || n == "modify" || n == "delete" || n == "suspend" || n == "resume" {
|
||||
return "instance", n, ""
|
||||
}
|
||||
if strings.HasPrefix(n, "create_") {
|
||||
sub := strings.TrimPrefix(n, "create_")
|
||||
// Any name with underscore → subresource (e.g. create_user, modify_database, restart_service)
|
||||
if idx := strings.Index(n, "_"); idx > 0 {
|
||||
verb := n[:idx]
|
||||
sub := n[idx+1:]
|
||||
if sub != "" {
|
||||
return "subresource", "create", sub
|
||||
}
|
||||
}
|
||||
if strings.HasPrefix(n, "modify_") {
|
||||
sub := strings.TrimPrefix(n, "modify_")
|
||||
if sub != "" {
|
||||
return "subresource", "modify", sub
|
||||
}
|
||||
}
|
||||
if strings.HasPrefix(n, "delete_") {
|
||||
sub := strings.TrimPrefix(n, "delete_")
|
||||
if sub != "" {
|
||||
return "subresource", "delete", sub
|
||||
return "subresource", verb, sub
|
||||
}
|
||||
}
|
||||
return "action", n, ""
|
||||
|
||||
Reference in New Issue
Block a user