TerraformЩо нового в Terraform 1.17
У релізі Terraform 1.17 додано підтримку змінних у provider requirements, опцію планування -minimal-refresh та статус GA для Terraform Policy.
Реліз від 22 жовтня 2026 · оновлено 8 листопада 2026
Головне
- Підтримка variables та locals у provider requirements
- Нова опція планування -minimal-refresh для оновлення лише змінених ресурсів
- Загальна доступність (GA) функціональності Terraform Policy
- Підтримка mock_provider для ephemeral resources у тестах
- Поле format_version у JSON-виводі команди version
Коротко
Реліз Terraform 1.17 впроваджує підтримку змінних та locals у вимогах до провайдерів (provider requirements), а також додає нову опцію планування -minimal-refresh. Інструмент перевів функціональність Terraform Policy у статус загальної доступності (General Availability). Крім того, оновлення містить розширення тестового фреймворку та низку виправлень у математичних функціях і командах CLI.
Нові можливості
Конфігурація та планування
- Змінні у provider requirements: Terraform тепер дозволяє використовувати
variablesтаlocalsу блоках вимог до провайдерів. - Опція
-minimal-refresh: додано новий параметр планування-minimal-refresh, який виконує оновлення (refresh) виключно для тих ресурсів, для яких запропоновано зміни.
Політики
- Загальна доступність Terraform Policy: функціональність перейшла у статус GA. Використання прапорця
-policiesдля командplan,applyтаqueryбільше не потребує експериментальної збірки або прапорця-allow-experimental-features. Політики запитів оцінюють ресурси, виявлені блокамиlist, і повертають результати у зрозумілому для людини форматі або у вигляді JSON.
Виправлення та покращення
Покращення функціональності
command/init: лог-повідомлення доповнено інформацією про версії провайдерів.test: додано підтримкуmock_providerдля ефемерних ресурсів (ephemeral resources).command/login: після успішного входу відображається попередження, якщо користувач підпадає під дію політики TTL організації.version: до JSON-виводу команди додано нове полеformat_versionдля забезпечення безпечніших змін формату JSON у майбутньому.- Збірка: Terraform зібрано з використанням Go 1.26.10, де вимкнено довіру до сертифікатів, виданих через скомпрометовані проміжні CA eMudhra (CVE-2026-111943).
Виправлення помилок
- Математичні функції
logтаpow: функції більше не викликають паніку, якщо результат не є числом; тепер вони повертають помилку у випадках, коли результатом є+/- Infinity. - Ефемерні ресурси: під час оновлення
ephemeral-ресурсу тепер використовуються та виводяться сформовані діагностичні повідомлення (зокрема попередження, які раніше втрачалися). - Тестування: забезпечено детермінований порядок залежностей у графі очищення (
cleanup graph). query: виправлено звітність результатів оцінки політик для виявлених ресурсів — тепер повертаються значенняUnknownтаN/A. Командаterraform query -policiesтепер відхиляє шлях, якщо він не є директорією, замість передачі його рушію політик.show: під час відображення локального плану значення змінних зчитуються безпосередньо з файлу плану.fmt: у версії 1.17.1 виправлено проблему збереження початкового вмісту файлу в разі виникнення помилки запису в оригінальний файл.- Виконання політик: у версії 1.17.1 політики модулів тепер завжди оцінюються під час плану знищення (
destroy plan), а дляstacksзабезпечено звіт щодо кожного результату політики для замінюваного ресурсу замість відображення лише одного з них.
Огляд підготовлено автоматично за офіційними release notes за допомогою ШІ та перевірено на відповідність джерелу. Точні формулювання дивіться в оригіналі. Як ми працюємо