>_ IzzyLab

Практическое задание

Terraform: два связанных ресурса

сложно

В /root/tf опиши два ресурса local_file: первый создаёт /opt/app/config.json с содержимым {"env":"prod"}, второй — /opt/app/version.txt с содержимым 1.0. Сделай apply — оба файла должны появиться.

Что потренируешь:
  • terraform
  • resource
  • local_file
  • экранирование строк
  • jsonencode

Разбор темы

Terraform сам строит граф зависимостей и решает порядок создания ресурсов — несколько независимых блоков resource он применит за один проход. Тонкость этой задачи не в Terraform, а в кавычках: строковые литералы HCL заключены в двойные кавычки, поэтому JSON с внутренними двойными кавычками надо либо экранировать обратным слэшем, либо обойти это heredoc-синтаксисом (<<EOT ... EOT) или функцией генерации JSON. На этом чаще всего и спотыкаются.

Что проверяется

  1. terraform установлен
  2. config.json и version.txt созданы с нужным содержимым
  3. в state не меньше двух ресурсов local_file

Как это выглядит