fix: ToSnake acronym bug, migrate compare script to Gateway, YAML regen all stands

- ToSnake: fix acronym splitting (CPU, TTL, CA, API, VIP, AVI)
- compare_yaml_vs_api.py: deck-api → lk-api-gateway
- YAML regenerated from API for all 3 stands
- Go resources regenerated
- Providers rebuilt 3.0.6/5.0.5/2.0.6
This commit is contained in:
“Naeel”
2026-08-10 09:25:53 +04:00
parent f6494d038e
commit 5f81e4a664
7 changed files with 18 additions and 7 deletions
Binary file not shown.
@@ -25,11 +25,22 @@ func ToCamel(s string) string {
}
// ToSnake конвертирует CamelCase → snake_case.
// Аббревиатуры (CPU, TTL, CA, API, VIP) сохраняются слитно: resourceCPU → resource_cpu.
func ToSnake(s string) string {
var out []rune
for i, r := range s {
runes := []rune(s)
for i, r := range runes {
if i > 0 && r >= 'A' && r <= 'Z' {
out = append(out, '_')
// Вставляем _ только если предыдущий символ — строчная буква
// (переход из слова в аббревиатуру: resourceCPU → resource_cpu)
// ИЛИ если следующий символ — строчная буква
// (переход из аббревиатуры в слово: HTTPSProxy → https_proxy)
prev := runes[i-1]
if prev >= 'a' && prev <= 'z' {
out = append(out, '_')
} else if i+1 < len(runes) && runes[i+1] >= 'a' && runes[i+1] <= 'z' {
out = append(out, '_')
}
}
out = append(out, rune(strings.ToLower(string(r))[0]))
}