Давно собирался попробовать управлять виртуалками в libvirt через Terraform. Для этого существует провайдер multain/libvirt. Для начала создам виртуальную машину с двумя дисками.
terraform { required_providers { libvirt = { source = "multani/libvirt" version = "0.6.3-1+4" } } } provider "libvirt" { uri = "qemu:///system" } variable "prefix" { description = "Resource name prefix" type = string default = "terraform-" } resource "libvirt_volume" "boot" { name = "${var.prefix}boot" size = 20*1024*1024*1024 } resource "libvirt_volume" "data" { name = "${var.prefix}data" size = 20*1024*1024*1024 } resource "libvirt_domain" "default" { name = "${var.prefix}default" vcpu = 1 memory = 2048 disk { file = "/var/lib/libvirt/images/debian-10.9.0-amd64-netinst.iso" } disk { volume_id = libvirt_volume.boot.id } disk { volume_id = libvirt_volume.data.id } boot_device { dev = [ "hd", "cdrom"] } network_interface { bridge = "dmz0" } }