resource "proxmox_virtual_environment_download_file" "debian_1" { content_type = "iso" datastore_id = "local" file_name = "debian-13-generic-amd64.img" node_name = var.pve_node url = var.debian_image_url checksum = var.debian_image_checksum checksum_algorithm = var.debian_image_checksum_algorithm overwrite = true overwrite_unmanaged = true } resource "proxmox_virtual_environment_file" "user_config_1" { content_type = "snippets" datastore_id = "local" node_name = var.pve_node source_raw { data = file("cloud-init/user-config.yml") file_name = "user-config.yml" } } resource "proxmox_virtual_environment_file" "vendor_config_1" { content_type = "snippets" datastore_id = "local" node_name = var.pve_node source_raw { data = file("cloud-init/vendor-config.yml") file_name = "vendor-config.yml" } } resource "proxmox_virtual_environment_vm" "debian_1" { depends_on = [ proxmox_virtual_environment_file.user_config_1, proxmox_virtual_environment_file.vendor_config_1 ] name = "debian-13" description = "Debian 13 created with Terraform" tags = ["terraform", "debian"] node_name = var.pve_node cpu { cores = 2 } memory { dedicated = 2048 floating = 2048 } disk { datastore_id = "local-zfs" file_id = proxmox_virtual_environment_download_file.debian_1.id interface = "virtio0" iothread = true discard = "on" ssd = true # disk { # datastore_id = var.node_datastore # Datastore to hold the disk # interface = "scsi0" # Primary disk interface # size = 4 # Disk size in GB } network_device { bridge = "vmbr0" model = "virtio" } operating_system { type = "l26" } agent { enabled = true } initialization { datastore_id = var.node_datastore # Datastore to hold the disk ip_config { ipv4 { address = "dhcp" } } # Link cloud-init yml files user_data_file_id = proxmox_virtual_environment_file.user_config_1.id vendor_data_file_id = proxmox_virtual_environment_file.vendor_config_1.id } } output "debian_1_ip_address" { value = proxmox_virtual_environment_vm.debian_1.ipv4_addresses }