This code is based on Proxmox Provider. For more information refer to the official documentation
Commands for creating Terraform user in a nutshell:
pveum role add TerraformProv -privs "Datastore.AllocateSpace Datastore.Audit Pool.Allocate Sys.Audit Sys.Console Sys.Modify VM.Allocate VM.Audit VM.Clone VM.Config.CDROM VM.Config.Cloudinit VM.Config.CPU VM.Config.Disk VM.Config.HWType VM.Config.Memory VM.Config.Network VM.Config.Options VM.Migrate VM.Monitor VM.PowerMgmt"
pveum user add terraform-prov@pve --password <password>
pveum aclmod / -user terraform-prov@pve -role TerraformProv
- Create API_TOKEN: Login to Proxmox > Datacenter > Permissions > API Tokens > Add > Select Terraform User + Give some Token ID + (Important) Uncheck Privilege Sepration
- Export PM_URL_API, PM_API_TOKEN_ID, PM_API_TOKEN_SECRET variables
- Initialize terraform
terraform init
- Copy terraform.tfvars.example file to terraform.tfvars and fill the variables
- If you want to create multiple machine then set count in terraform.tfvars file. The default value for count is 1.
- Format and Validate your variables
terraform fmt
terraform validate
- Apply your IaC
terraform apply
- Enjoy ;)
Feel free to contribute.