Sha256: 0875cc044b5aefc8cde48262a7f52da472b3ab4e83e919bc328eb8096dc4e87b

Contents?: true

Size: 966 Bytes

Versions: 26

Compression:

Stored size: 966 Bytes

Contents

module Fog
  module Compute
    class Vsphere
      class Real
        def datacenters
          @datacenters ||= datacenters_reload
          # Hide the values which are the RbVmomi instances
          @datacenters.keys
        end

        private

        def datacenters_reload
          @rootfolder  ||= @connection.rootFolder
          inventory = @rootfolder.inventory(:Datacenter => [ 'name' ])[@rootfolder]
          # Convert the inventory into a Hash of the form: We remove the
          # property selectors.  { "<dc_name>" => #<RbVmomi::VIM::Datacenter> }
          # The Datacenter instance itself is at index 0 and the properties we
          # collected are at index 1.
          inventory.inject({}) do |memo, (name,dc_ary)|
            memo[name] = dc_ary[0]
            memo
          end
        end
      end

      class Mock
        def datacenters
          [ "Solutions", "Solutions2", "Solutions3" ]
        end
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 10 rubygems

Version Path
fog-parser-fix-1.6.1 lib/fog/vsphere/requests/compute/datacenters.rb
fog-test-again-1.6.0 lib/fog/vsphere/requests/compute/datacenters.rb
fog-parser-fix-1.6.0 lib/fog/vsphere/requests/compute/datacenters.rb
fog-maestrodev-1.7.0.20121114190951 lib/fog/vsphere/requests/compute/datacenters.rb
fog-1.7.0 lib/fog/vsphere/requests/compute/datacenters.rb
fog-1.6.0 lib/fog/vsphere/requests/compute/datacenters.rb
fog-1.5.0 lib/fog/vsphere/requests/compute/datacenters.rb
rackspace-fog-1.4.2 lib/rackspace-fog/vsphere/requests/compute/datacenters.rb
fog-1.4.0 lib/fog/vsphere/requests/compute/datacenters.rb
brightbox-cli-0.18.1 lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/datacenters.rb
michiels-fog-1.3.1 lib/fog/vsphere/requests/compute/datacenters.rb
ftl-0.2.0 vendor/bundle/gems/fog-1.3.1/lib/fog/vsphere/requests/compute/datacenters.rb
brightbox-cli-0.18.0 lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/datacenters.rb
fog-1.3.1 lib/fog/vsphere/requests/compute/datacenters.rb
fog-1.3.0 lib/fog/vsphere/requests/compute/datacenters.rb
brightbox-cli-0.17.5 lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/datacenters.rb
fog-1.2.0 lib/fog/vsphere/requests/compute/datacenters.rb
ktheory-fog-1.1.2 lib/fog/vsphere/requests/compute/datacenters.rb
brightbox-cli-0.17.4 lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/datacenters.rb
brightbox-cli-0.17.3 lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/datacenters.rb