Class: Pvectl::Services::UnlinkDisk
- Inherits:
-
Object
- Object
- Pvectl::Services::UnlinkDisk
- Defined in:
- lib/pvectl/services/unlink_disk.rb
Overview
Orchestrates disk unlinking from a VM configuration.
Delegates to the VM repository to issue the unlink PUT request and wraps the outcome in a Models::VmOperationResult. The underlying Proxmox endpoint is synchronous and returns no UPID, so the result captures success/failure synchronously.
Instance Method Summary collapse
-
#execute(vmid:, node:, disk_ids:, force: false) ⇒ Models::VmOperationResult
Unlinks one or more disks from the VM configuration.
-
#initialize(repository:) ⇒ UnlinkDisk
constructor
Creates a new UnlinkDisk service.
Constructor Details
#initialize(repository:) ⇒ UnlinkDisk
Creates a new UnlinkDisk service.
24 25 26 |
# File 'lib/pvectl/services/unlink_disk.rb', line 24 def initialize(repository:) @repository = repository end |
Instance Method Details
#execute(vmid:, node:, disk_ids:, force: false) ⇒ Models::VmOperationResult
Unlinks one or more disks from the VM configuration.
35 36 37 38 39 40 |
# File 'lib/pvectl/services/unlink_disk.rb', line 35 def execute(vmid:, node:, disk_ids:, force: false) @repository.unlink_disks(node, vmid, disk_ids, force: force) build_result(vmid, node, disk_ids, force, success: true) rescue StandardError => e build_result(vmid, node, disk_ids, force, success: false, error: e.) end |