terraform { required_providers { proxmox = { source = "bpg/proxmox" version = "0.98.1" } local = { source = "hashicorp/local" version = "2.7.0" } random = { source = "hashicorp/random" version = "3.8.1" } tls = { source = "hashicorp/tls" version = "4.2.1" } } } provider "proxmox" { endpoint = var.proxmox_endpoint api_token = "${var.proxmox_token_id}=${var.proxmox_token_secret}" insecure = true } provider "local" {} provider "random" {} provider "tls" {} data "proxmox_virtual_environment_version" "current" {} output "proxmox_version" { value = data.proxmox_virtual_environment_version.current.version } resource "proxmox_virtual_environment_vm" "node1" { vm_id = var.vm_id name = var.vm_name node_name = "px" # имя ноды Proxmox on_boot = true clone { vm_id = var.template_id full = true } # Cloud Init ✦ пользователь, ssh-ключ, сеть initialization { datastore_id = var.datastore_vm user_account { username = var.cloudinit_user keys = [ var.ssh_public_key ] } ip_config { ipv4 { address = "dhcp" } } } network_device { bridge = "vmbr1" } agent { enabled = true } } output "vm_ipv4" { value = proxmox_virtual_environment_vm.node1.ipv4_addresses }