Class: Pvectl::Services::ResourceDelete
- Inherits:
-
Object
- Object
- Pvectl::Services::ResourceDelete
- Defined in:
- lib/pvectl/services/resource_delete.rb
Overview
Orchestrates deletion of VMs and containers.
Handles validation, force-stop of running resources, and async/sync modes.
Constant Summary collapse
- DEFAULT_TIMEOUT =
60
Instance Method Summary collapse
-
#execute(resource_type, resources) ⇒ Array<Models::OperationResult>
Executes delete operation on resources.
-
#initialize(vm_repository:, container_repository:, task_repository:, options: {}) ⇒ ResourceDelete
constructor
Creates a new ResourceDelete service.
Constructor Details
#initialize(vm_repository:, container_repository:, task_repository:, options: {}) ⇒ ResourceDelete
Creates a new ResourceDelete service.
26 27 28 29 30 31 |
# File 'lib/pvectl/services/resource_delete.rb', line 26 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, resources) ⇒ Array<Models::OperationResult>
Executes delete operation on resources.
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/pvectl/services/resource_delete.rb', line 38 def execute(resource_type, resources) @resource_type = resource_type results = [] resources.each do |resource| result = delete_single(resource) results << result break if @options[:fail_fast] && result.failed? end results end |