docs: add detailed package-level comments to all TOOLS/ and provider/

TOOLS:
- yaml-generator: types (API↔YAML), client (proxy/REST + retry)
- resource-generator: types (3 resource kinds), loader (pipeline),
  writers (generated files), params (merge/CreateOnly/ForceNew)
- docs-generator, ops-generator — already documented

provider:
- main.go: entrypoint + build instructions
- core: API client (GetInstance, RunOperation, GetInstanceState)
- provider: provider registration (New, Resources, Schema)
- resources_core: shared CRUD, state refresh, params, validation
This commit is contained in:
“Naeel”
2026-07-05 10:24:43 +04:00
parent 5da22335ae
commit 46e847a3c1
10 changed files with 84 additions and 3 deletions
+8 -1
View File
@@ -1,4 +1,11 @@
// ВНИМАНИЕ: НЕ ИЗМЕНЯТЬ НИЧЕГО В ЯДРЕ БЕЗ ПРЯМОГО РАЗРЕШЕНИЯ ОПЕРАТОРА.
// Package core — ядро провайдера: HTTP-клиент Nubes API.
//
// Содержит:
// - Client — HTTP-клиент с retry, таймаутами, Bearer-токеном
// - Методы GetInstance*, RunOperation*, GetInstanceState*
// - Логику определения proxy vs REST API (isProxyAPI)
//
// ⛔ НЕ ИЗМЕНЯТЬ НИЧЕГО В ЯДРЕ БЕЗ ПРЯМОГО РАЗРЕШЕНИЯ ОПЕРАТОРА.
package core
import (
+6
View File
@@ -1,3 +1,9 @@
// Package provider — регистрация Terraform-провайдера Nubes.
//
// Определяет:
// - New() — создание провайдера с конфигурацией (api_token, api_endpoint)
// - Resources() — список всех ресурсов из resources_gen.AllResources()
// - Schema() — схема конфигурации провайдера
package provider
import (
+10 -1
View File
@@ -1,4 +1,13 @@
// ВНИМАНИЕ: НЕ ИЗМЕНЯТЬ НИЧЕГО В CRUD БЕЗ ПРЯМОГО РАЗРЕШЕНИЯ ОПЕРАТОРА.
// Package resources_core — общая логика CRUD для сгенерированных ресурсов.
//
// Предоставляет функции, используемые всеми ресурсами из resources_gen:
// - Create/Read/Update/Delete — базовые CRUD-операции
// - State Refresh — обновление состояния из API
// - Param Mapping — маппинг параметров Terraform ↔ API
// - Validation — валидация обязательных полей и ref_svc
// - Plan Modifiers — UUID, JSON-нормализация
//
// ⛔ НЕ ИЗМЕНЯТЬ НИЧЕГО В CRUD БЕЗ ПРЯМОГО РАЗРЕШЕНИЯ ОПЕРАТОРА.
package resources_core
import (
+7
View File
@@ -1,3 +1,10 @@
// Terraform-провайдер Nubes Cloud.
//
// Регистрирует провайдер в hashicorp/terraform-plugin-framework.
// Все ресурсы подключаются через resources_gen.AllResources().
//
// Сборка: go build -o terraform-provider-nubes .
// Версия задаётся через ldflags: -ldflags "-X main.version=X.Y.Z"
package main
import (