Class: Pvectl::Services::MoveDisk
- Inherits:
-
Object
- Object
- Pvectl::Services::MoveDisk
- Defined in:
- lib/pvectl/services/move_disk.rb
Overview
Orchestrates moving a VM disk or container volume to a different storage on the same node.
Operates on one resource at a time (single VM or single container). Async mode (default): returns UPID immediately, no blocking. Sync mode (–wait): polls Task until completion or timeout.
Constant Summary collapse
- DEFAULT_TIMEOUT =
600
Instance Method Summary collapse
-
#execute(resource_type, resource, disk:, target_storage:) ⇒ Models::VmOperationResult, Models::ContainerOperationResult
Executes the move operation on a single resource.
-
#initialize(vm_repository:, container_repository:, task_repository:, options: {}) ⇒ MoveDisk
constructor
Creates a new MoveDisk service.
Constructor Details
#initialize(vm_repository:, container_repository:, task_repository:, options: {}) ⇒ MoveDisk
Creates a new MoveDisk service.
33 34 35 36 37 38 |
# File 'lib/pvectl/services/move_disk.rb', line 33 def initialize(vm_repository:, container_repository:, task_repository:, options: {}) @vm_repository = vm_repository @container_repository = container_repository @task_repository = task_repository @options = end |
Instance Method Details
#execute(resource_type, resource, disk:, target_storage:) ⇒ Models::VmOperationResult, Models::ContainerOperationResult
Executes the move operation on a single resource.
47 48 49 50 |
# File 'lib/pvectl/services/move_disk.rb', line 47 def execute(resource_type, resource, disk:, target_storage:) @resource_type = resource_type move_single(resource, disk, target_storage) end |