Terraform — это инструмент, позволяющий представить инфраструктура как код. Позволяет безопасно и предсказуемо предоставлять и управлять инфраструктурой в любом облаке на основе написанных манифестов. Для описания манифестов используется декларативный язык конфигураци HashiCorp Configuration Language (HCL).
Например код создающий ресурс виртуальной машины (VM) в облачной платформе Google Cloud Platform (GCP):
# Конфигурация провайдера Google Cloud
provider "google" {
project = "<PROJECT_ID>"
region = "us-central1"
}
# Создание виртуальной машины
resource "google_compute_instance" "vm-instance" {
name = "example-instance"
machine_type = "f1-micro"
zone = "us-central1-a"
# Дисковая конфигурация
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
}
}
network_interface {
network = "default"
access_config {}
}
tags = ["http-server"]
}