Добавить terraform/resize-vm-disk/main.tf
This commit is contained in:
@@ -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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user