github timeweb-cloud/terraform-provider-timeweb-cloud v1.8.3

3 hours ago

Changelog

[v1.8.3] - 15.10.2026

Базы данных

twc_database_cluster

  • feat: maintenance_slot — окно обслуживания кластера: в любое время (any_time) или в заданный интервал (fixed_time, from/to в формате HH:MMZ, UTC).
  • feat: disk_autoscaling — автоматическое увеличение диска: шаг (step_size, кратно 5120 МБ) и порог заполнения (threshold_percent: 80, 90 или 95).
  • feat: is_soft_remove_recovery — платная защита от удаления: кластер можно восстановить после удаления.
  • feat: replications (1, 3 или 5 — общее число нод вместе с мастером) теперь реально меняется без пересоздания кластера и показывает фактическое значение.
  • feat: новые поля только для чтения: domains (технические домены кластера) и сведения о локальной сети в networks.
  • feat: блок timeouts — можно задать время ожидания операций (по умолчанию: создание и изменение — 60 минут, удаление — 30 минут).
  • fix: terraform plan для существующих кластеров устаревших типов (например, postgres, redis, mysql5) больше не завершается ошибкой.
  • fix: replications = 1 больше не вызывает ошибку у типов БД без репликации.
  • fix: недопустимые настройки теперь отклоняются уже на этапе plan, а не во время apply: уменьшение числа реплик, изменение реплик не у PostgreSQL, реплики вместе с disk_autoscaling или is_soft_remove_recovery, окно обслуживания короче 60 минут, fixed_time без from/to.
  • fix: если изменение кластера прервалось ошибкой, неприменённые значения не попадают в состояние Terraform.
  • fix: при создании кластера база по умолчанию больше не остаётся физически на сервере после удаления; создание кластера не зависает, если база по умолчанию долго не создаётся.

twc_database_instance

  • feat: extensions и extensions_is_global — установка расширений в базу (PostgreSQL, RabbitMQ), в том числе одинаковый набор для всех баз кластера.
  • feat: config_parameters — параметры топика Kafka (partitions, retention_ms, cleanup_policy и другие); большие значения сохраняются точно; удаление всех параметров возвращает значения по умолчанию.
  • feat: owner_login — логин владельца базы (только для чтения).
  • feat: блок timeouts (по умолчанию 30 минут); провайдер дожидается готовности базы после создания и изменения.
  • fix: изменение name у базы PostgreSQL переименовывает её без пересоздания и потери данных; у остальных типов БД база по-прежнему пересоздаётся.
  • fix: owner_id применяется сразу при создании базы (раньше требовался повторный apply).
  • fix: попытка установить выведенное из употребления расширение pgagent отклоняется на этапе plan.
  • fix: уменьшение partitions у топика Kafka отклоняется на этапе plan (раньше молча игнорировалось).
  • fix: база, удалённая сразу после создания, больше не остаётся физически на сервере.

twc_database_user

  • feat: блок timeouts (по умолчанию 30 минут); провайдер дожидается фактического применения прав.
  • fix: пользователь с блоками instance больше не получает права на базы, которых нет в его конфигурации.
  • fix: права, которые не были выданы (например, на базы, созданные позже пользователя), видны в plan и выдаются при apply.
  • fix: изменение прав на одной базе или её удаление из instance больше не снимает с пользователя глобальные привилегии (CREATEDB, CREATEROLE и т.п.).
  • fix: смена пароля или описания больше не завершается ошибкой, если пользователь — владелец одной из баз в instance; изменение прав на собственной базе даёт предупреждение вместо ошибки.
  • fix: host теперь действительно задаётся при создании; изменение host пересоздаёт пользователя.
  • fix: нет постоянных изменений password в plan при API-ключе со скрытием секретных данных.

Data sources

  • feat(twc_database_preset): новые поля cpu_frequency и tags; поддержаны дробные цены в price и price_filter.
  • feat(twc_database_cluster): новые поля replications, maintenance_slot, disk_autoscaling, domains и сведения о сети; находит кластеры устаревших типов.
  • feat(twc_database_instance): новые поля owner_login, extensions, extensions_is_global.
  • feat(twc_database_user): instances[].is_owner — является ли пользователь владельцем базы.

Документация

  • chore: обновлены примеры twc_database_cluster, twc_database_instance, twc_database_user: актуальные типы БД (postgres17, redis8_1), локация ru-3 и рабочие фильтры цен, окно обслуживания, автоувеличение диска, защита от удаления, timeouts, расширения, владелец базы, топик Kafka, ограничение пользователя по host.
  • chore: в примеры data sources БД добавлено использование новых полей: цена и характеристики пресета, настройки и домены кластера, владелец и расширения базы, базы во владении пользователя.

Kubernetes

twc_k8s_node_group

  • fix: taints, заданные при создании группы, применяются к нодам (раньше ноды могли запуститься без них).
  • fix: ноды, добавленные при увеличении node_count, получают labels и taints группы (раньше добавлялись без них).
  • fix: изменение только labels больше не снимает taints с нод, и наоборот; провайдер дожидается применения изменений на нодах.
  • fix: значение taints.effect проверяется на этапе plan (NoSchedule, PreferNoSchedule, NoExecute).
  • feat: блок timeouts (по умолчанию: создание и изменение — 60 минут, удаление — 30 минут).

twc_k8s_cluster

  • feat: блок timeouts (по умолчанию: создание и изменение — 60 минут, удаление — 30 минут).
  • fix: если кластер не оплачен или удаляется, провайдер сразу сообщает об ошибке, а не ждёт до истечения времени.
  • fix: кластер гарантированно попадает в проект, указанный в project_id.
  • fix: кратковременная ошибка доступа сразу после создания кластера больше не прерывает apply.
  • fix: если API-ключ скрывает секретные данные, kubeconfig не сохраняется в состояние, а провайдер выводит предупреждение.

twc_k8s_cluster_addon

  • feat: блок timeouts (по умолчанию 30 минут).

Документация

  • chore: в примерах twc_k8s_node_group, twc_k8s_cluster, twc_k8s_addon показаны несколько taints с разными effect, размещение кластера в проекте и блоки timeouts.

Сеть

twc_router

  • feat: public_ip — фактический IP-адрес роутера (в том числе заказанный через ips.ip = "create_ip"); удобно использовать в ссылках, например в twc_router_dnat_rule.
  • fix: nat_ip проверяется на этапе plan: это должен быть IP самого роутера из ips; при create_ip провайдер подсказывает использовать блок ips.nat. Ссылки на twc_floating_ip из той же конфигурации поддерживаются.
  • fix: если указанный IP уже привязан к другому ресурсу, провайдер сразу сообщает понятную ошибку.
  • fix: роутер с VPC, создаваемой в той же конфигурации, создаётся без ошибок, и сеть не теряется.
  • fix: SNAT из блока ips.nat применяется ко всем сетям роутера.
  • fix: предупреждения облака при создании роутера и подключении сетей выводятся в Terraform.
  • fix: исключено создание дубликата роутера при повторе запроса.
  • fix: нет постоянных изменений networks в plan, если SNAT задан через ips.nat, а is_dhcp_enabled не указан; незаданный is_dhcp_enabled не выключает DHCP.

twc_router_dnat_rule / twc_router_static_route

  • fix: правила и маршруты одного роутера применяются по очереди, роутер не перегружается при создании большого числа правил.

twc_router_preset (data source)

  • fix: поддержаны дробные цены в price и price_filter.

twc_vpc

  • fix: VPC, удалённая вне Terraform, больше не ломает plan и destroy — она будет создана заново.

twc_floating_ip

  • fix: destroy больше не завершается ошибкой, если IP уже удалён вместе с роутером (delete_ips_on_destroy); IP, удалённый вне Terraform, больше не ломает plan.

Документация

  • chore: примеры twc_router и twc_router_preset перенесены в локацию ru-3 (в ru-1 нет тарифов роутеров); SNAT настроен на собственный IP роутера из twc_floating_ip; добавлено правило проброса портов на IP, заказанный через create_ip.

Общее

  • feat: при истечении времени ожидания в ошибке указываются последний статус ресурса и сколько длилось ожидание.

Don't miss a new terraform-provider-timeweb-cloud release

NewReleases is sending notifications on new releases.