ManageIQ/manageiq-providers-vmware

View on GitHub
app/models/manageiq/providers/vmware/infra_manager/vm_or_template_shared/disconnect.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
92%
module ManageIQ::Providers::Vmware::InfraManager::VmOrTemplateShared::Disconnect
  extend ActiveSupport::Concern

  def disconnect_storage
    # If the VM was unregistered don't clear the storage because the disks
    # are still on the underlying datastore
    super unless vm_unregistered?
  end

  def vm_destroyed?
    disconnect_events.last&.event_type == "DestroyVM_Task_Complete"
  end

  def vm_unregistered?
    disconnect_events.last&.event_type == "UnregisterVM_Complete"
  end

  private

  def disconnect_events
    ems_events.where(:event_type => disconnect_event_types)
  end

  def disconnect_event_types
    %w(DestroyVM_Task_Complete UnregisterVM_Complete)
  end
end