2025-09-30 09:06:27 +00:00
|
|
|
terraform {
|
|
|
|
required_providers {
|
|
|
|
proxmox = {
|
|
|
|
source = "Telmate/proxmox"
|
2025-09-30 14:00:17 +00:00
|
|
|
version = "2.9.14" # подбери подходящую версию под твой PVE
|
2025-09-30 09:06:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
provider "proxmox" {
|
|
|
|
pm_api_url = var.pm_api_url
|
|
|
|
pm_api_token_id = var.pm_api_token_id
|
|
|
|
pm_api_token_secret = var.pm_api_token_secret
|
|
|
|
pm_tls_insecure = true
|
|
|
|
}
|
|
|
|
|
|
|
|
resource "proxmox_vm_qemu" "vm" {
|
|
|
|
name = var.name
|
|
|
|
vmid = var.vmid
|
|
|
|
target_node = var.target_node
|
|
|
|
clone = var.clone_template # имя шаблона, если клонируем
|
|
|
|
os_type = "cloud-init" # если шаблон cloud-init
|
2025-09-30 14:00:17 +00:00
|
|
|
cores = 2
|
|
|
|
sockets = 1
|
2025-09-30 09:06:27 +00:00
|
|
|
memory = 2048
|
|
|
|
scsihw = "virtio-scsi-single"
|
|
|
|
|
|
|
|
# пример сетевого блока
|
|
|
|
network {
|
|
|
|
model = "virtio"
|
2025-09-30 11:09:19 +00:00
|
|
|
bridge = var.bridge # обычно vmbr0
|
2025-09-30 09:06:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
# cloud-init параметры (если шаблон cloud-init)
|
|
|
|
ciuser = var.ci_user
|
|
|
|
cipassword = var.ci_password
|
|
|
|
ipconfig0 = var.ipconfig0 # e.g. "ip=192.168.1.50/24,gw=192.168.1.1" или "ip=dhcp"
|
|
|
|
sshkeys = file(var.ssh_pubkey_path)
|
|
|
|
|
|
|
|
# если нужно — можно добавить disk {} или disks {} в зависимости от версии провайдера
|
|
|
|
}
|