Добавить 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