Добавить terraform/resize-vm-disk/main.tf

This commit is contained in:
2026-05-06 20:15:11 +03:00
parent d030cd9a73
commit 687f0795dd
+56
View File
@@ -0,0 +1,56 @@
data "vsphere_datacenter" "dc" {
name = var.vsphere_datacenter
}
data "vsphere_virtual_machine" "vm" {
name = var.vm_name
datacenter_id = data.vsphere_datacenter.dc.id
}
locals {
current_disk_size_gb = data.vsphere_virtual_machine.vm.disks[0].size
target_disk_size_gb = local.current_disk_size_gb + var.increase_gb
}
resource "vsphere_virtual_machine" "resize" {
name = data.vsphere_virtual_machine.vm.name
resource_pool_id = data.vsphere_virtual_machine.vm.resource_pool_id
datastore_id = data.vsphere_virtual_machine.vm.datastore_id
num_cpus = data.vsphere_virtual_machine.vm.num_cpus
memory = data.vsphere_virtual_machine.vm.memory
guest_id = data.vsphere_virtual_machine.vm.guest_id
firmware = data.vsphere_virtual_machine.vm.firmware
scsi_type = data.vsphere_virtual_machine.vm.scsi_type
network_interface {
network_id = data.vsphere_virtual_machine.vm.network_interface_types[0] != "" ? data.vsphere_virtual_machine.vm.network_interface[0].network_id : null
adapter_type = data.vsphere_virtual_machine.vm.network_interface_types[0]
}
disk {
label = var.disk_label
size = local.target_disk_size_gb
unit_number = 0
thin_provisioned = data.vsphere_virtual_machine.vm.disks[0].thin_provisioned
}
lifecycle {
ignore_changes = [
annotation,
clone,
extra_config,
hv_mode,
vapp,
network_interface,
]
}
}
output "current_disk_size_gb" {
value = local.current_disk_size_gb
}
output "target_disk_size_gb" {
value = local.target_disk_size_gb
}