Выбор ответа Middle Terraform и IaC обновлено

Как взять под управление существующий ресурс

Вопрос

Бакет создан вручную год назад. Как правильно начать управлять им через Terraform?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Описать ресурс в коде, добавить блок import и проверить план. Блок import (с Terraform 1.5) работает через plan: видно, что импортируется и какие поля разойдутся с кодом.

Варианты ответа

  1. Удалить бакет и создать заново через Terraform с тем же именем
  2. Выполнить terraform apply: Terraform сам найдёт бакет по имени
  3. Описать ресурс в коде, добавить блок import и проверить планправильный ответ
  4. Скопировать атрибуты бакета в state вручную через state push

Разбор

Блок import (с Terraform 1.5) работает через plan: видно, что импортируется и какие поля разойдутся с кодом. Старый способ: команда terraform import адрес id. Удаление и пересоздание бакета теряет данные. Apply без импорта попытается создать новый бакет и упадёт на конфликте имени. Ручная правка state опасна.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.