fix: add missing fields to Legacy UniversalClient + bump version to 5.0.56 + concurrency docs

This commit is contained in:
“Naeel”
2026-06-30 17:43:35 +04:00
parent 2bc0e0160a
commit 3239c7807a
5 changed files with 41 additions and 21 deletions
+1
View File
@@ -53,3 +53,4 @@ universal_rebuild/gen_v2
universal_rebuild/docs_template_gen_v2 universal_rebuild/docs_template_gen_v2
secrets/test.token.new secrets/test.token.new
secrets/*.token.new secrets/*.token.new
terraform-provider-nubes_*
+17
View File
@@ -108,6 +108,23 @@ resource "nubes_postgres_restart" "restart1" {
run_id = "2026-02-20-001" run_id = "2026-02-20-001"
} }
## Concurrency and State Locking
**Provider-level guarantees:**
- The provider does NOT implement distributed locking for instance operations.
- Two concurrent `terraform apply` with the same `resource_name` may create duplicate
instances, leading to a «multiple instances found» error on subsequent applies.
**User responsibility:**
- Use Terraform backend with state locking (S3+DynamoDB, etc.).
- Do NOT run `terraform apply` from two workspaces against the same state simultaneously.
- If duplicates occur: delete extras via Cloud Console and re-apply.
**API-side limitations:**
- Nubes API does not enforce unique `displayName` per serviceId.
- The provider cannot atomically guarantee «create-or-adopt» without API support
for conditional creation or name uniqueness constraints.
## Documentation Model ## Documentation Model
From the unified YAML, generate: From the unified YAML, generate:
+2
View File
@@ -28,6 +28,8 @@ type UniversalClient struct {
HttpClient *http.Client HttpClient *http.Client
ApiEndpoint string ApiEndpoint string
ApiToken string ApiToken string
ProviderVersion string
LogLevel string
} }
// Request models // Request models
+1 -1
View File
@@ -10,7 +10,7 @@ import (
) )
var ( var (
version string = "5.0.51" version string = "5.0.56"
) )
func main() { func main() {