Repinoid
c5a4499094
chore(tools): страж хардкодов покрыл provider/ + id сервиса в именованную константу
...
check_hardcoded_service_ids.sh:
- область расширена с TOOLS/ на TOOLS/ + provider/internal/ (кроме generated resources_gen/);
- второй паттерн: литеральный ref-service id в ResolveRefSvcParamValue/DisplayName(ctx, N,...);
- справка обновлена (убран удалённый serviceSpecificModifiers);
- сервис-специфичные литералы пояснены как 'именованные константы'.
org_ip_allocation_resource.go: ResolveRefSvcParamValue(ctx, 19, ...) -> svcIDVcOrg.
Проверено: bash TOOLS/scripts/check_hardcoded_service_ids.sh -> OK (exit 0).
2026-09-30 20:33:09 +03:00
Repinoid
9aed2dcdd9
fix(provider): нормализация регистра UUID при отправке map-fixed JSON в API
...
- resources_core.BuildJSON оборачивает результат в jsonutil.LowercaseUUIDsInText:
платформа сравнивает регистр UUID при create, а ресурсы отдают id в UPPERCASE
(nsxtUid/vdcUid) -> без нормализации create Штурвала падал 'Edge не развёрнут
в указанном vDC' (обнаружено на провайдере 2.0.23 из-под Windows).
- Одна точка покрывает все map-fixed-параметры (create/modify/redeploy),
регенерация не требуется.
- Документация: HISTORY/2026-09-30, docs/60_strategy/terraform_case_sensitivity_fix.md §11,
NOTES/30_analysis/ARCHITECTURE_NEW.md §6.5, docs/help/architecture-and-methods.md §7.
Не выпущено: версия не поднималась, релиз/регенерация не выполнялись.
2026-09-30 08:34:04 +03:00
Nail
621280a530
fix(uuid-case): нормализация UUID внутри JSON — adopt suspended-инстанса больше не падает на регистре (jsonutil + JsonNormalize), тесты
2026-09-24 20:17:32 +03:00
Repinoid
5bd197f031
feat(provider): ресурс аллокации принимает имя организации (резолв в UUID через ResolveRefSvcParamValue, как в nubes_vc_vdc); конфиги и доки без org_uid
2026-09-24 15:28:13 +03:00
Repinoid
807dfde287
fix(provider): убран plan-modifier, менявший пользовательское значение (Terraform: planned value must match config); сравнение аллокаций — смысловое в Read
2026-09-24 13:57:56 +03:00
Repinoid
1236c59e18
test(provider): тесты канонизации vIPConfigure (jsonencode-форма, пробелы, [{}], невалидный JSON)
2026-09-24 10:52:36 +03:00
Repinoid
4b497e61db
fix(provider): nsxt_snat — не писать null в Required-атрибут, ошибки API в Delete → error, валидация пустого ip_space_name
2026-09-24 10:52:36 +03:00
Repinoid
ba6c4f5122
fix(provider): канонизирующий plan-modifier для vip_configure (jsonencode сортирует ключи → вечный diff); не писать null в Required; Delete: ошибки API → error
2026-09-24 10:52:36 +03:00
Repinoid
3973f912fc
chore(docs): удалить docs/TODO/what_not_in_terraform.md + убрать ссылки на него из комментариев
2026-09-24 10:24:13 +03:00
Repinoid
80d82a145a
feat(provider): ресурс nubes_vc_nsxt_snat (modify ipSpaceName, inverse no-needed)
2026-09-24 10:22:17 +03:00
Repinoid
22cf2595ee
feat(provider): ресурс nubes_vc_org_ip_allocation (modify vIPConfigure, uid орги) + тесты нормализации
2026-09-24 10:22:17 +03:00
Repinoid
94c4c44ba4
fix(core): ShouldRemoveFromState читает deleted/404 через GetInstanceStateRaw без падения
2026-09-22 21:44:16 +03:00
Repinoid
25e988886d
feat(core): modifierDesiredEqualsCurrent + RunInstanceOperationUniversalByIdempotent + RunOperationByCodeIdempotent
2026-09-22 21:13:56 +03:00
Repinoid
17a803836a
refactor(core): вынести JSON-эквивалентность в core/jsonutil (+реэкспорт в resources_core)
2026-09-22 21:10:13 +03:00
Repinoid
4b34cc7e63
fix(core): гарантия known для read-back полей (unknown -> null), чтобы Computed без Default не ломал apply
2026-09-21 21:48:54 +03:00
Repinoid
8d405ba695
fix(core): подсказки при конфликте имени учитывают отсутствие suspend/resume (no adopt) + supportsSuspend в сигнатурах
2026-09-21 20:26:41 +03:00
“Naeel”
6660008af1
fix: ResolveS3UidInAllMapFixed exported + called in RequiredParamsMismatch
2026-07-19 13:36:40 +04:00
“Naeel”
cfb546651b
fix: zero-value fallback — integer→0, boolean→false; modify uses WithDefaults
2026-07-18 22:28:02 +04:00
Naeel
ab7ab7abf2
fix: S3 refSvcId=12 — разрешить имя наравне с UUID, версия 5.1.3
2026-07-18 13:33:59 +03:00
“Naeel”
3d22758385
resource-generator: SubParams → nested SingleNestedAttribute/ListNestedAttribute + bump 5.0.73
2026-07-16 15:06:35 +04:00
“Naeel”
6929562fc9
fix: lifecycle bugs A+B (HasError guard, not_created hard error) + bump 5.0.72
2026-07-16 14:51:01 +04:00
“Naeel”
a0474c3949
debug: log PlanExistingResourceDiagnostics entry point
2026-07-09 00:51:26 +04:00
“Naeel”
d70bf5d171
v5.0.64: delete idempotency, duplicate adopt, defer unlock, exist marker
2026-07-07 10:08:50 +04:00
“Naeel”
4ac21d9367
v5.0.63: instance-level mutex to prevent parallel operations on same resource
2026-07-07 08:27:42 +04:00
“Naeel”
d9f2c60e90
v5.0.62: fix modify 500 (remove WithDefaults GET ?fields=cfsParams) + tests
2026-07-06 22:43:19 +04:00
“Naeel”
46e847a3c1
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
2026-07-05 10:24:43 +04:00
“Naeel”
5da22335ae
refactor: rename universal_rebuild/ → provider/
...
- Rename directory
- Update all 9 devops scripts
- Update 4 generator source files
- Rebuild all binaries
2026-07-05 10:20:04 +04:00