docs: правки по ревью (канонизация, destroy-семантика) + статус выполнения
This commit is contained in:
@@ -808,15 +808,14 @@ func (m jsonNormalizePlanModifier) PlanModifyString(_ context.Context, req planm
|
||||
(только destroy) — **задокументировать** в описании атрибута.
|
||||
- Раздел 3 (риски живой платформы) без прогона не закрывается — остаётся открытым.
|
||||
|
||||
## Требуется сделать (по итогам ревью) — ЖДЁТ КОМАНДЫ
|
||||
## Требуется сделать (по итогам ревью) — ВЫПОЛНЕНО (коммиты `ba6c4f5`, `4b497e6`, `1236c59`)
|
||||
|
||||
1. Заменить `JsonNormalize()` на канонизирующий plan-modifier (`parse → formatVipConfigure`) — закрывает
|
||||
баг порядка ключей (в т.ч. для `jsonencode`).
|
||||
2. Убрать запись `null` в `Required`-атрибуты (`vip_configure`, `ip_space_name`) — хранить конфиг-значение
|
||||
либо сменить на `Optional`.
|
||||
3. `Delete`: ошибки API → `AddError`; warning оставить только для отсутствующего родителя.
|
||||
4. `setSnat`: вместо тихой подмены — валидация пустой строки.
|
||||
5. Документировать: «снять всё» через `vip_configure` нельзя, только `destroy`.
|
||||
6. Поправить `TestFormatVipConfigure_Canonical` (и добавить тест на канонизацию `jsonencode`-формы
|
||||
`count,name`).
|
||||
7. Требуется новый релиз провайдера (2.0.19) с повторной заливкой в `nubes-dev`.
|
||||
1. ✅ Заменить `JsonNormalize()` на канонизирующий plan-modifier (`parse → formatVipConfigure`) —
|
||||
закрывает баг порядка ключей (в т.ч. для `jsonencode`).
|
||||
2. ✅ Убрать запись `null` в `Required`-атрибуты (`vip_configure`, `ip_space_name`) — при пустом live
|
||||
сохраняется текущее значение state (проверка «что отправили — то и в state»).
|
||||
3. ✅ `Delete`: ошибки API → `AddError`; warning оставлен только для отсутствующего родителя.
|
||||
4. ✅ `setSnat`: вместо тихой подмены — валидация пустой строки.
|
||||
5. ✅ Задокументировано: «снять всё» через `vip_configure` нельзя, только `destroy`.
|
||||
6. ✅ Поправлены/добавлены тесты канонизации (`jsonencode`-форма, пробелы, `[{}]`, невалидный JSON).
|
||||
7. ⏳ Новый релиз провайдера (2.0.19) с повторной заливкой в `nubes-dev`.
|
||||
|
||||
@@ -16,6 +16,12 @@
|
||||
| `vip_configure` | string (JSON), обязательный | Массив аллокаций: `[{"name":"internet-ipv4-v1","count":"3"}]`. `count` — строка |
|
||||
| `keep_on_destroy` | bool, по умолчанию `false` | Не снимать квоту при `destroy` |
|
||||
|
||||
Порядок ключей и форматирование не важны — значение канонизируется при планировании
|
||||
(важно потому, что `jsonencode` сортирует ключи по алфавиту).
|
||||
|
||||
Снять аллокацию через `vip_configure` **нельзя** (пустой массив отклоняется): для этого удали ресурс —
|
||||
тогда отправится обратный `modify` с `count = "0"`.
|
||||
|
||||
```hcl
|
||||
resource "nubes_vc_org_ip_allocation" "this" {
|
||||
org_uid = var.org_uid
|
||||
|
||||
Reference in New Issue
Block a user