Sha256: 13f6bba4699df93aff72dcd1a235392c8b8833baf8725b51fd07559791341032

Contents?: true

Size: 1.22 KB

Versions: 62

Compression:

Stored size: 1.22 KB

Contents

module Fog
  module Compute
    class Vsphere
      class Real
        def list_resource_pools(filters = { })
          datacenter_name = filters[:datacenter]
          cluster_name    = filters[:cluster]
          cluster         = get_raw_cluster(cluster_name, datacenter_name)
          list_raw_resource_pools(cluster).map do |resource_pool|
            resource_pool_attributes(resource_pool, cluster_name, datacenter_name)
          end
        end

        protected

        # root ResourcePool + Children if they exists
        def list_raw_resource_pools(cluster)
          [cluster.resourcePool, cluster.resourcePool.resourcePool].flatten
        end

        def resource_pool_attributes resource_pool, cluster, datacenter
          {
            :id                   => managed_obj_id(resource_pool),
            :name                 => resource_pool.name,
            :configured_memory_mb => resource_pool.summary.configuredMemoryMB,
            :overall_status       => resource_pool.overallStatus,
            :cluster              => cluster,
            :datacenter           => datacenter
          }
        end
      end
      class Mock
        def list_resource_pools(filters = { })
        end
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 5 rubygems

Version Path
fog-vsphere-1.7.0.1 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.10.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.9.2 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.9.1 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.9.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.8.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.7.1 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.7.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.6.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.5.2 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.5.1 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.5.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.4.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.3.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.2.2 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.2.1 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.2.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.1.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.0.1 lib/fog/vsphere/requests/compute/list_resource_pools.rb
fog-vsphere-1.0.0 lib/fog/vsphere/requests/compute/list_resource_pools.rb