# Провайдер Terraform

> Описывайте серверы, сети, балансировщики и правила Shield как код в Terraform или OpenTofu.

Source: https://docs.avenlith.com/ru/terraform  
Category: API и автоматизация  
Last updated: 2026-09-22

## Настройка

Экспортируйте API-токен и объявите провайдер:

```hcl
terraform {
  required_providers {
    avenlith = { source = "avenlith/avenlith", version = "~> 2.4" }
  }
}

resource "avenlith_server" "web" {
  count  = 2
  name   = "web-0${count.index + 1}"
  plan   = "vps-pro"
  region = "ist1"
  image  = "ubuntu-26.04"
  labels = { role = "web" }
}

resource "avenlith_load_balancer" "web" {
  name    = "web-lb"
  region  = "ist1"
  targets = avenlith_server.web[*].id
}
```

`terraform init && terraform apply` создаст два сервера и балансировщик в Стамбуле.

## Ресурсы

`avenlith_server`, `avenlith_network`, `avenlith_firewall`, `avenlith_load_balancer`, `avenlith_floating_ip`, `avenlith_k8s_cluster`, `avenlith_db_cluster`, `avenlith_bucket`, `avenlith_shield_rule` и `avenlith_dns_record`.

> **Note:** > Провайдер без изменений работает с OpenTofu 1.8+.

## Удалённый state

Храните state в объектном хранилище Avenlith через backend `s3` с `skip_credentials_validation = true` и региональным эндпоинтом.
