docs-generator: keep_on_destroy в документации (подресурсы + инстансы)
- у подресурсов появился раздел «Поведение при destroy» с таблицей флагов (keep_on_destroy / skip_missing_on_delete / adopt_existing_on_create) и предупреждением про расхождение state и облака; - в блоке destroy у инстансовых ресурсов добавлен keep_on_destroy (раньше не документировался вообще ни на одной странице); - в types добавлено поле Lifecycle.KeepOnDestroyDefault. Проверено генерацией: keep_on_destroy упоминается на 49 страницах test-стенда, включая postgres_user.md (подресурс) и postgres_params_create.md (инстанс).
This commit is contained in:
@@ -396,11 +396,12 @@ func buildCreateParamsPage(spec types.ServiceSpec, nav string, version string) s
|
||||
lifecycle := spec.Lifecycle
|
||||
if lifecycle.SuspendOnDestroyDefault || lifecycle.AdoptExistingOnCreateDefault {
|
||||
b.WriteString("\n!!! danger \"Важно: поведение при destroy\"\n")
|
||||
b.WriteString(fmt.Sprintf(" По умолчанию: `suspend_on_destroy = %s`, `adopt_existing_on_create = %s`.\n", formatBoolTitle(lifecycle.SuspendOnDestroyDefault), formatBoolTitle(lifecycle.AdoptExistingOnCreateDefault)))
|
||||
b.WriteString(fmt.Sprintf(" По умолчанию: `suspend_on_destroy = %s`, `adopt_existing_on_create = %s`, `keep_on_destroy = %s`.\n", formatBoolTitle(lifecycle.SuspendOnDestroyDefault), formatBoolTitle(lifecycle.AdoptExistingOnCreateDefault), formatBoolTitle(lifecycle.KeepOnDestroyDefault)))
|
||||
b.WriteString(" \n")
|
||||
b.WriteString(" При `terraform destroy` или удалении ресурса из манифеста:\n")
|
||||
b.WriteString(" - `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).\n")
|
||||
b.WriteString(" - `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.\n")
|
||||
b.WriteString(" - `keep_on_destroy=true` — ресурс вообще не меняется в облаке, только убирается из состояния (state_only). Приоритетнее `suspend_on_destroy`.\n")
|
||||
b.WriteString(" \n")
|
||||
b.WriteString(" При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:\n")
|
||||
b.WriteString(" - `false` — если ресурс уже есть, будет ошибка.\n")
|
||||
@@ -616,6 +617,19 @@ func buildSubresourcePage(spec types.ServiceSpec, srName string, nav string, ver
|
||||
b.WriteString("None.\n")
|
||||
}
|
||||
|
||||
b.WriteString("\n## Поведение при destroy\n\n")
|
||||
b.WriteString("Подресурс создаётся и удаляется отдельными операциями внутри родительского\n")
|
||||
b.WriteString(fmt.Sprintf("инстанса `nubes_%s`. Флаги жизненного цикла:\n\n", spec.Name))
|
||||
b.WriteString("| Атрибут | По умолчанию | Поведение |\n")
|
||||
b.WriteString("|---|---|---|\n")
|
||||
b.WriteString("| `keep_on_destroy` | `false` | `true` — при `destroy` подресурс **не удаляется** и не меняется в облаке, только убирается из состояния (режим state_only). Нужен, когда родительский инстанс при `destroy` не удаляется (например `suspend_on_destroy = true`), и объект должен остаться внутри него — иначе следующий `apply` создаст его заново. |\n")
|
||||
b.WriteString("| `skip_missing_on_delete` | `true` | `true` — если объект уже отсутствует, удаление пропускается без ошибки. |\n")
|
||||
b.WriteString("| `adopt_existing_on_create` | `false` | `true` — если объект с таким именем уже есть, он усыновляется вместо ошибки. |\n")
|
||||
b.WriteString("\n!!! warning \"Объект останется в облаке\"\n")
|
||||
b.WriteString(" Если `keep_on_destroy = true`, а родительский инстанс удаляется **по-настоящему**\n")
|
||||
b.WriteString(" (не suspend), объект исчезнет вместе с ним, а из состояния уже уйдёт — до следующего\n")
|
||||
b.WriteString(" `apply` состояние и облако будут расходиться.\n")
|
||||
|
||||
return b.String()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user