Sha256: 4733388cb7c7ab671ae8027bda2825c926d6635eada249b88de972746a6132c2

Contents?: true

Size: 1.15 KB

Versions: 40

Compression:

Stored size: 1.15 KB

Contents

module Fog
  module Compute
    class Vsphere
      class Real
        def list_datastores(filters = { })
          datacenter_name = filters[:datacenter]
          # default to show all datastores
          only_active = filters[:accessible] || false
          raw_datastores(datacenter_name).map do |datastore|
            next if only_active and !datastore.summary.accessible
            datastore_attributes(datastore, datacenter_name)
          end.compact
        end

        def raw_datastores(datacenter_name)
          find_raw_datacenter(datacenter_name).datastore
        end
        protected

        def datastore_attributes datastore, datacenter
          {
            :id         => managed_obj_id(datastore),
            :name       => datastore.name,
            :accessible => datastore.summary.accessible,
            :type       => datastore.summary.type,
            :freespace  => datastore.summary.freeSpace,
            :capacity   => datastore.summary.capacity,
            :datacenter => datacenter,
          }
        end

      end
      class Mock
        def list_datastores(datacenter_name)
          []
        end
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 9 rubygems

Version Path
fog-maestrodev-1.18.0.20131121075022 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-maestrodev-1.18.0.20131118164830 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-maestrodev-1.18.0.20131115184302 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-maestrodev-1.18.0.20131114200144 lib/fog/vsphere/requests/compute/list_datastores.rb
gapinc-fog-1.12.1.2.1 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-maestrodev-1.18.0.20131112185232 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-maestrodev-1.18.0.20131111203459 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-1.18.0 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-1.17.0 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-1.16.0 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-maestrodev-1.15.0.20130927082724 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-maestrodev-1.15.0.20130829165835 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-1.15.0 lib/fog/vsphere/requests/compute/list_datastores.rb
gapinc-fog-1.14.0 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-maestrodev-1.14.0.20130806165225 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-1.14.0 lib/fog/vsphere/requests/compute/list_datastores.rb
fog-1.13.0 lib/fog/vsphere/requests/compute/list_datastores.rb
gapinc-fog-1.12.1.2 lib/fog/vsphere/requests/compute/list_datastores.rb
gapinc-fog-1.12.1.1 lib/fog/vsphere/requests/compute/list_datastores.rb
gapinc-fog-1.12.1a lib/fog/vsphere/requests/compute/list_datastores.rb