terraform { required_providers { proxmox = { source = "telmate/proxmox" #version = "3.0.1-rc6" version = "2.9.14" } } } provider "proxmox" { # Configuration options #pm_tls_insecure = true pm_api_url = "https://pve.xlinfo.fr:8006/api2/json" pm_user = "xxxxxxxx@pve" pm_password = "xxxxxxxx" #pm_api_token_id = "xxxxxxx@pve!xxxxxxxx" #pm_api_token_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } resource "proxmox_lxc" "debian" { target_node = "pve" vmid = element(var.vm_range, 0) hostname = "debian-${var.prenom}" ostemplate = "local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst" password = "secret" unprivileged = true start = true ssh_public_keys = <<-EOT ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZJG/XcIIvW0JOJb6ftEpopS4szOo8dRehASGIOAswPRko6JFMT9QuAvl9YkmzgSorn0KpyQrqAxNTklADocMGPW2BJzKb/1fQyZYKY9bLXxyKaYZKbDZNaUJmW92ThDmUrIWPgjh5BhUxOTwRbDhTsRu/pvulnGw+8yOp7Tz8nUgAoJEZ/7fGkm7AaJPLmF/szQEhL/WSNqTtNdCHNYpQqgRIUZh5zqcb2jXa0pZ7GMnPmoSUMlz1OfAxMOIuziaP3i1J/KHVhXdxj4nrOtUjrUULfqk9vyfKkf7BLYKO3fO3BLR9H5HgeTlaB2aXNuDgRAQposNZ0FEK/VkWj+DQuqjuj9nYo57GbfMfhWr/dTKxTVj3xsbFdThDWtlp7sVI2jguqntwwlmhhexJp1fAYZn92KYkaxGHWLbR0bxLEWVjHXciVW2D12IUZfGWXh5wInoQN1gs1i6NUqgf1uDZhAax5H9G07YySR2fnM9TB5c5apyf7PFCg1kZAnqVHrE= jerome@parrot EOT memory = 512 swap = 512 cores = 1 rootfs { storage = "local-lvm" size = "8G" } network { name = "eth0" bridge = "vmbr0" ip = "192.168.2.${element(var.vm_range, 0)}/24" gw = "192.168.2.254" } provisioner "remote-exec" { connection { type = "ssh" host = "192.168.2.${element(var.vm_range, 0)}" user = "root" private_key = file("~/.ssh/id_rsa") timeout = "5m" } inline = [ "touch terraform_ok" ] } provisioner "local-exec" { command = "./local_script 192.168.2.${element(var.vm_range, 0)}" } } resource "proxmox_lxc" "rocky" { target_node = "pve" vmid = element(var.vm_range, 1) hostname = "rocky-${var.prenom}" ostemplate = "local:vztmpl/rockylinux-9-custom_amd64.tar.gz" password = "secret" unprivileged = true start = true ssh_public_keys = <<-EOT ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZJG/XcIIvW0JOJb6ftEpopS4szOo8dRehASGIOAswPRko6JFMT9QuAvl9YkmzgSorn0KpyQrqAxNTklADocMGPW2BJzKb/1fQyZYKY9bLXxyKaYZKbDZNaUJmW92ThDmUrIWPgjh5BhUxOTwRbDhTsRu/pvulnGw+8yOp7Tz8nUgAoJEZ/7fGkm7AaJPLmF/szQEhL/WSNqTtNdCHNYpQqgRIUZh5zqcb2jXa0pZ7GMnPmoSUMlz1OfAxMOIuziaP3i1J/KHVhXdxj4nrOtUjrUULfqk9vyfKkf7BLYKO3fO3BLR9H5HgeTlaB2aXNuDgRAQposNZ0FEK/VkWj+DQuqjuj9nYo57GbfMfhWr/dTKxTVj3xsbFdThDWtlp7sVI2jguqntwwlmhhexJp1fAYZn92KYkaxGHWLbR0bxLEWVjHXciVW2D12IUZfGWXh5wInoQN1gs1i6NUqgf1uDZhAax5H9G07YySR2fnM9TB5c5apyf7PFCg1kZAnqVHrE= jerome@parrot EOT memory = 512 swap = 512 cores = 1 rootfs { storage = "local-lvm" size = "8G" } network { name = "eth0" bridge = "vmbr0" ip = "192.168.2.${element(var.vm_range, 1)}/24" gw = "192.168.2.254" } provisioner "remote-exec" { connection { type = "ssh" host = "192.168.2.${element(var.vm_range, 1)}" user = "root" private_key = file("~/.ssh/id_rsa") timeout = "5m" } inline = [ "touch terraform_ok" ] } provisioner "local-exec" { command = "./local_script 192.168.2.${element(var.vm_range, 1)}" } }