diff --git a/TEST_STAND/PGwNewRegistry/main.tf b/TEST_STAND/PGwNewRegistry/main.tf index 1ebe410..bcb14b2 100644 --- a/TEST_STAND/PGwNewRegistry/main.tf +++ b/TEST_STAND/PGwNewRegistry/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { nubes = { source = "tf-registry.containerk8s.services.ngcloud.ru/nubes-test/nubes" - version = "5.0.4" + version = "5.0.5" } } } diff --git a/TEST_STAND/PGwNewRegistry/nubes_postgres.tf b/TEST_STAND/PGwNewRegistry/nubes_postgres.tf index 72791e1..105c087 100644 --- a/TEST_STAND/PGwNewRegistry/nubes_postgres.tf +++ b/TEST_STAND/PGwNewRegistry/nubes_postgres.tf @@ -1,5 +1,5 @@ resource "nubes_postgres" "npg" { - resource_name = "pgdev02" + resource_name = "pgdev03" startup_configuration = { resource_realm = var.realm diff --git a/TOOLS/config/dev/profile.env b/TOOLS/config/dev/profile.env index fece2b9..36c6afe 100644 --- a/TOOLS/config/dev/profile.env +++ b/TOOLS/config/dev/profile.env @@ -4,7 +4,7 @@ TOKEN_FILE="secrets/dev.token" # Release versions # Version -VERSION="3.0.5" +VERSION="3.0.6" NAMESPACE="nubes-dev" PROVIDER_NAME="nubes" diff --git a/TOOLS/config/prod/profile.env b/TOOLS/config/prod/profile.env index 30fa6c7..9e43d02 100644 --- a/TOOLS/config/prod/profile.env +++ b/TOOLS/config/prod/profile.env @@ -4,7 +4,7 @@ TOKEN_FILE="secrets/prod.token" # Release versions # Version -VERSION="2.0.5" +VERSION="2.0.6" NAMESPACE="nubes" PROVIDER_NAME="nubes" diff --git a/TOOLS/config/test/profile.env b/TOOLS/config/test/profile.env index 53b932e..8f5045f 100644 --- a/TOOLS/config/test/profile.env +++ b/TOOLS/config/test/profile.env @@ -3,7 +3,7 @@ NUBES_API_ENDPOINT="https://lk-api-gateway-test.ngcloud.ru/api/v1/svc" TOKEN_FILE="secrets/test.token" # Version -VERSION="5.0.4" +VERSION="5.0.5" NAMESPACE="nubes-test" PROVIDER_NAME="nubes" diff --git a/TOOLS/resource-generator/bin/resource-generator b/TOOLS/resource-generator/bin/resource-generator new file mode 100755 index 0000000..3fa210c Binary files /dev/null and b/TOOLS/resource-generator/bin/resource-generator differ diff --git a/TOOLS/resource-generator/internal/helpers/helpers.go b/TOOLS/resource-generator/internal/helpers/helpers.go index ea324df..52145d6 100644 --- a/TOOLS/resource-generator/internal/helpers/helpers.go +++ b/TOOLS/resource-generator/internal/helpers/helpers.go @@ -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])) }