Sha256: 093aedfed170ac1e4b679050e2bc1d07f78bfb0ac78df2635f52fca82644f09a

Contents?: true

Size: 1.18 KB

Versions: 6

Compression:

Stored size: 1.18 KB

Contents

module Fog
  module Compute
    class Vsphere
      class Real
        def list_vm_cdroms(vm_id)
          get_vm_ref(vm_id).config.hardware.device.select { |hw| hw.class == RbVmomi::VIM::VirtualCdrom }.map do |cdrom|
            {
              filename: (begin
                              cdrom.backing.fileName
                            rescue
                              (nil)
                            end),
              name: cdrom.deviceInfo.label,
              key: cdrom.key,
              controller_key: cdrom.controllerKey,
              unit_number: cdrom.unitNumber,
              start_connected: cdrom.connectable.startConnected,
              allow_guest_control: cdrom.connectable.allowGuestControl,
              connected: cdrom.connectable.connected,
              instance_uuid: vm_id
            }
          end
        end
      end
      class Mock
        def list_vm_cdroms(vm_id)
          raise Fog::Compute::Vsphere::NotFound, 'VM not Found' unless data[:servers].key?(vm_id)
          return [] unless data[:servers][vm_id].key?('cdroms')
          data[:servers][vm_id]['cdroms'].map { |h| h.merge(instance_uuid: vm_id) }
        end
      end
    end
  end
end

Version data entries

6 entries across 4 versions & 2 rubygems

Version Path
fog-vsphere-2.4.0 lib/fog/vsphere/requests/compute/list_vm_cdroms.rb
fog-vsphere-2.3.0 lib/fog/vsphere/requests/compute/list_vm_cdroms.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-vsphere-2.2.0/lib/fog/vsphere/requests/compute/list_vm_cdroms.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-vsphere-2.2.0/lib/fog/vsphere/requests/compute/list_vm_cdroms.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-vsphere-2.2.0/lib/fog/vsphere/requests/compute/list_vm_cdroms.rb
fog-vsphere-2.2.0 lib/fog/vsphere/requests/compute/list_vm_cdroms.rb