diff --git a/lib/pve/cli/qm.rb b/lib/pve/cli/qm.rb index b11b16e..97bf4c1 100644 --- a/lib/pve/cli/qm.rb +++ b/lib/pve/cli/qm.rb @@ -26,6 +26,13 @@ def cli_qm STDERR.puts "! #{$?.exitstatus}" unless Proxmox::Qemu.find!( name_or_id).exec *command } + ct_cli.cmd( :resize, 'Resize a disk', &lambda {|name_or_id, disk, size| + connect + qm = Proxmox::Qemu.find! name_or_id + task = qm.resize disk, size + wait task, text: "Resizing #{qm.sid} #{disk} to #{size}" + }) + qm.cmd 'help', '', aliases: ['-h', '--help'], &lambda {|*args| help qm, *args } } end diff --git a/lib/pve/proxmox.rb b/lib/pve/proxmox.rb index 6203749..c453d82 100644 --- a/lib/pve/proxmox.rb +++ b/lib/pve/proxmox.rb @@ -404,6 +404,11 @@ module Proxmox def exec *args node.exec 'qm', 'guest', 'exec', vmid, '--', *args end + + def resize disk, size + upid = rest_put "#{@rest_prefix}/resize", disk: disk, size: size + Task.send :__new__, node: @node, host: self, upid: upid + end end class LXC < Hosted