linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • База знаний
  • Шпаргалка
  • Capstone
  • Собеседование
home/terraform/kb/Переменные и outputs

kb/variables

Переменные, outputs и locals в Terraform

Variable-блок принимает входные данные (CLI -var, env TF_VAR_*, .tfvars, default). Output-блок отдаёт значения наружу для переиспользования. Locals, вычисляемые внутренние имена. Базовая грамматика любого конфига сложнее hello-world.

  • tf-tfvars.tfvars: файлы со значениями переменных

    .tfvars, файлы со значениями переменных (HCL или JSON): terraform.tfvars и *.auto.tfvars читаются автоматически, остальные через -var-file. Главный механизм разделения «код vs конфигурация окружения».

  • tf-localslocals: вычисляемые внутренние имена

    locals: блок с именами, видимыми только внутри HCL (не вход, не выход). Удобны для DRY: один раз сосчитал общий префикс или теги: везде используешь через local.x. Не путать с variable (вход) и output (выход).

  • tf-outputБлок output: что Terraform возвращает наружу

    output, это значение, которое Terraform показывает после apply и сохраняет в state. Используется для (а) показать пользователю ID/ARN созданного ресурса, (б) передать значения между модулями, (в) скриптам через terraform output -raw.

  • tf-variableБлок variable: вход в конфигурацию

    variable, параметр, который принимает значение снаружи (CLI, env, .tfvars). Объявляешь в HCL: type, default, description, validation. Используешь как var.name. Нужен чтобы убрать хардкод и переиспользовать один HCL для разных окружений.

  • tf-variable-sourcesОткуда Terraform берёт значения переменных

    Источников шесть с приоритетом: -var в CLI > -var-file > *.auto.tfvars (по алфавиту) > terraform.tfvars > env TF_VAR_* > default. Если значения нет нигде. Terraform спросит интерактивно. Понимание приоритета критично для CI/CD.

Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки