--- status: stable type: concept tags: - devops created: 2026-02-13 updated: 2026-02-27 title: Terraform --- # Terraform [Devops вводный 3 урок. Работа с IaC через terraform и ansible.pdf](#root/LjCayegQsEBv/vJCtNA7LSLFA/ARzmNd1EFrgt) Terraform - ПО, разработанное HashiCorp для централизованного управления инфраструктурой по методологии [[IaC - основы|IaC]]. Использует в своей работе сущности: 1. `main.tf` - основной файл с декларативным описанием желаемого состояния инфраструктуры. 2. `terraform.d/` -директория, в которой хранится terraform-провайдер (api для взаимодействия с конкретной платформой) после его загрузки. 3. `.terraform/` - директория, в которой хранятся файлы, в том числе и файлы провайдера. 4. `terraform.lock.hcl` - файл блокировки для кэша `.terraform/`. 5. `terraform.tfstate` - файл, для регистрации состояния инфраструктуры Команды, используемые в работе с Terraform: 1. `terraform init` - инициализация рабочей директории, содержащей файлы tf. 2. `terraform plan` - команда для предварительного просмотра изменений без фактического применения. 3. `terraform apply` - применение изменений на инфре. 4. `terraform refresh` -