init
This commit is contained in:
63
terraform/modules/proxmox/vm/main.tf
Normal file
63
terraform/modules/proxmox/vm/main.tf
Normal file
@@ -0,0 +1,63 @@
|
||||
resource "proxmox_virtual_environment_vm" "this" {
|
||||
name = var.name
|
||||
node_name = var.target_node
|
||||
|
||||
clone {
|
||||
vm_id = var.template_id
|
||||
full = true
|
||||
}
|
||||
|
||||
cpu {
|
||||
cores = var.cpu
|
||||
type = var.cpu_type
|
||||
}
|
||||
|
||||
memory {
|
||||
dedicated = var.memory
|
||||
}
|
||||
|
||||
# Предсказуемая SCSI нумерация
|
||||
scsi_hardware = "virtio-scsi-single"
|
||||
boot_order = ["scsi0"]
|
||||
|
||||
# OS disk (scsi0)
|
||||
disk {
|
||||
datastore_id = var.storage
|
||||
size = var.disk_size
|
||||
interface = "scsi0"
|
||||
}
|
||||
|
||||
# OSD disks (scsi1, scsi2, ...)
|
||||
dynamic "disk" {
|
||||
for_each = (var.osd_storage != null && length(var.osd_disks) > 0) ? { for idx, size in var.osd_disks : idx => size } : {}
|
||||
|
||||
content {
|
||||
datastore_id = var.osd_storage
|
||||
size = disk.value
|
||||
interface = "scsi${disk.key + 1}"
|
||||
|
||||
file_format = "raw"
|
||||
cache = "none"
|
||||
iothread = true
|
||||
discard = "on"
|
||||
}
|
||||
}
|
||||
|
||||
network_device {
|
||||
bridge = var.bridge
|
||||
model = "virtio"
|
||||
mac_address = var.mac_address
|
||||
}
|
||||
|
||||
agent {
|
||||
enabled = true
|
||||
}
|
||||
|
||||
initialization {
|
||||
user_data_file_id = var.user_data_file_id
|
||||
|
||||
ip_config {
|
||||
ipv4 { address = "dhcp" }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user